xref: /openbmc/u-boot/arch/microblaze/cpu/irq.S (revision ef64e782)
1/* SPDX-License-Identifier: GPL-2.0+ */
2/*
3 * (C) Copyright 2007 Michal Simek
4 *
5 * Michal  SIMEK <monstr@monstr.eu>
6 */
7
8#include <config.h>
9#include <asm/asm.h>
10	.text
11	.global _interrupt_handler
12_interrupt_handler:
13	addik	r1, r1, -124
14	swi	r2, r1, 4
15	swi	r3, r1, 8
16	swi	r4, r1, 12
17	swi	r5, r1, 16
18	swi	r6, r1, 20
19	swi	r7, r1, 24
20	swi	r8, r1, 28
21	swi	r9, r1, 32
22	swi	r10, r1, 36
23	swi	r11, r1, 40
24	swi	r12, r1, 44
25	swi	r13, r1, 48
26	swi	r14, r1, 52
27	swi	r15, r1, 56
28	swi	r16, r1, 60
29	swi	r17, r1, 64
30	swi	r18, r1, 68
31	swi	r19, r1, 72
32	swi	r20, r1, 76
33	swi	r21, r1, 80
34	swi	r22, r1, 84
35	swi	r23, r1, 88
36	swi	r24, r1, 92
37	swi	r25, r1, 96
38	swi	r26, r1, 100
39	swi	r27, r1, 104
40	swi	r28, r1, 108
41	swi	r29, r1, 112
42	swi	r30, r1, 116
43	swi	r31, r1, 120
44	brlid	r15, interrupt_handler
45	nop
46	lwi	r31, r1, 120
47	lwi	r30, r1, 116
48	lwi	r29, r1, 112
49	lwi	r28, r1, 108
50	lwi	r27, r1, 104
51	lwi	r26, r1, 100
52	lwi	r25, r1, 96
53	lwi	r24, r1, 92
54	lwi	r23, r1, 88
55	lwi	r22, r1, 84
56	lwi	r21, r1, 80
57	lwi	r20, r1, 76
58	lwi	r19, r1, 72
59	lwi	r18, r1, 68
60	lwi	r17, r1, 64
61	lwi	r16, r1, 60
62	lwi	r15, r1, 56
63	lwi	r14, r1, 52
64	lwi	r13, r1, 48
65	lwi	r12, r1, 44
66	lwi	r11, r1, 40
67	lwi	r10, r1, 36
68	lwi	r9, r1, 32
69	lwi	r8, r1, 28
70	lwi	r7, r1, 24
71	lwi	r6, r1, 20
72	lwi	r5, r1, 16
73	lwi	r4, r1, 12
74	lwi	r3, r1, 8
75	lwi	r2, r1, 4
76	addik	r1, r1, 124
77	rtid	r14, 0
78	nop
79	.size _interrupt_handler,.-_interrupt_handler
80