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