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