blob: 8c76a73e95de02346dde87922de0f56cbd829a64 [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 *
6 * See file CREDITS for list of people who contributed to this
7 * project.
8 *
9 * This program is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public License as
11 * published by the Free Software Foundation; either version 2 of
12 * the License, or (at your option) any later version.
13 *
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * You should have received a copy of the GNU General Public License
20 * along with this program; if not, write to the Free Software
21 * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
22 * MA 02111-1307 USA
23 */
24
25#include <config.h>
Michal Simek98c19792007-05-07 23:58:31 +020026#include <asm/asm.h>
Michal Simek952d5142007-03-11 13:42:58 +010027 .text
28 .global _interrupt_handler
29_interrupt_handler:
Michal Simek6a3d3192010-04-16 11:30:16 +020030 swi r2, r1, -4
31 swi r3, r1, -8
32 swi r4, r1, -12
33 swi r5, r1, -16
34 swi r6, r1, -20
35 swi r7, r1, -24
36 swi r8, r1, -28
37 swi r9, r1, -32
38 swi r10, r1, -36
39 swi r11, r1, -40
40 swi r12, r1, -44
41 swi r13, r1, -48
42 swi r14, r1, -52
43 swi r15, r1, -56
44 swi r16, r1, -60
45 swi r17, r1, -64
46 swi r18, r1, -68
47 swi r19, r1, -72
48 swi r20, r1, -76
49 swi r21, r1, -80
50 swi r22, r1, -84
51 swi r23, r1, -88
52 swi r24, r1, -92
53 swi r25, r1, -96
54 swi r26, r1, -100
55 swi r27, r1, -104
56 swi r28, r1, -108
57 swi r29, r1, -112
58 swi r30, r1, -116
59 swi r31, r1, -120
60 addik r1, r1, -124
Michal Simek952d5142007-03-11 13:42:58 +010061 brlid r15, interrupt_handler
62 nop
Michal Simek6a3d3192010-04-16 11:30:16 +020063 addik r1, r1, 124
64 lwi r31, r1, -120
65 lwi r30, r1, -116
66 lwi r29, r1, -112
67 lwi r28, r1, -108
68 lwi r27, r1, -104
69 lwi r26, r1, -100
70 lwi r25, r1, -96
71 lwi r24, r1, -92
72 lwi r23, r1, -88
73 lwi r22, r1, -84
74 lwi r21, r1, -80
75 lwi r20, r1, -76
76 lwi r19, r1, -72
77 lwi r18, r1, -68
78 lwi r17, r1, -64
79 lwi r16, r1, -60
80 lwi r15, r1, -56
81 lwi r14, r1, -52
82 lwi r13, r1, -48
83 lwi r12, r1, -44
84 lwi r11, r1, -40
85 lwi r10, r1, -36
86 lwi r9, r1, -32
87 lwi r8, r1, -28
88 lwi r7, r1, -24
89 lwi r6, r1, -20
90 lwi r5, r1, -16
91 lwi r4, r1, -12
92 lwi r3, r1, -8
93 lwi r2, r1, -4
Michal Simek952d5142007-03-11 13:42:58 +010094
Michal Simek078a3e92011-02-07 10:33:50 +010095 rtid r14, 0
Michal Simek952d5142007-03-11 13:42:58 +010096 nop
97 .size _interrupt_handler,.-_interrupt_handler