blob: 5cfe1516bfcd65fd82f8843b2271ada36990add8 [file] [log] [blame]
Michal Simek952d5142007-03-11 13:42:58 +01001/*
2 * (C) Copyright 2007 Michal Simek
3 *
4 * Michal SIMEK <monstr@monstr.eu>
5 *
Wolfgang Denkd79de1d2013-07-08 09:37:19 +02006 * SPDX-License-Identifier: GPL-2.0+
Michal Simek952d5142007-03-11 13:42:58 +01007 */
8
9#include <config.h>
Michal Simek98c19792007-05-07 23:58:31 +020010#include <asm/asm.h>
Michal Simek952d5142007-03-11 13:42:58 +010011 .text
12 .global _interrupt_handler
13_interrupt_handler:
Michal Simek6a3d3192010-04-16 11:30:16 +020014 addik r1, r1, -124
Michal Simek94ea28f2015-01-26 14:24:08 +010015 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
Michal Simek952d5142007-03-11 13:42:58 +010045 brlid r15, interrupt_handler
46 nop
Michal Simek94ea28f2015-01-26 14:24:08 +010047 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
Michal Simek6a3d3192010-04-16 11:30:16 +020077 addik r1, r1, 124
Michal Simek078a3e92011-02-07 10:33:50 +010078 rtid r14, 0
Michal Simek952d5142007-03-11 13:42:58 +010079 nop
80 .size _interrupt_handler,.-_interrupt_handler