Made ros_pop_tf work on SPARC
[akaros.git] / kern / arch / sparc / trap_table.S
1 #include <arch/trap_table.h>
2
3         .text
4         .align          4096
5         .global         trap_table
6 trap_table:
7
8         UNHANDLED_TRAP                          ! 0x00
9         TRAP_TABLE_ENTRY(instruction_access_exception)  ! 0x01
10         TRAP_TABLE_ENTRY(illegal_instruction)   ! 0x02
11         UNHANDLED_TRAP                          ! 0x03
12         TRAP_TABLE_ENTRY(fp_disabled)           ! 0x04
13         JMP(handle_window_overflow)             ! 0x05
14         JMP(handle_window_underflow)            ! 0x06
15
16 #ifndef TINY_MEM
17
18 .global trap_table_misaligned
19 trap_table_misaligned:
20         TRAP_TABLE_ENTRY(address_unaligned)     ! 0x07
21         JMP(fast_fp_exception)                  ! 0x08
22 .global trap_table_pagefault
23 trap_table_pagefault:
24         TRAP_TABLE_ENTRY(data_access_exception) ! 0x09
25         UNHANDLED_TRAP                          ! 0x0A
26         UNHANDLED_TRAP                          ! 0x0B
27         UNHANDLED_TRAP                          ! 0x0C
28         UNHANDLED_TRAP                          ! 0x0D
29         UNHANDLED_TRAP                          ! 0x0E
30         UNHANDLED_TRAP                          ! 0x0F
31         UNHANDLED_TRAP                          ! 0x10
32         UNHANDLED_TRAP                          ! 0x11
33         UNHANDLED_TRAP                          ! 0x12
34         UNHANDLED_TRAP                          ! 0x13
35         UNHANDLED_TRAP                          ! 0x14
36         UNHANDLED_TRAP                          ! 0x15
37         UNHANDLED_TRAP                          ! 0x16
38         UNHANDLED_TRAP                          ! 0x17
39         UNHANDLED_TRAP                          ! 0x18
40         UNHANDLED_TRAP                          ! 0x19
41         JMP(handle_timer_interrupt)             ! 0x1A
42         UNHANDLED_TRAP                          ! 0x1B
43         UNHANDLED_TRAP                          ! 0x1C
44         UNHANDLED_TRAP                          ! 0x1D
45         TRAP_TABLE_ENTRY(handle_ipi)            ! 0x1E
46         UNHANDLED_TRAP                          ! 0x1F
47         UNHANDLED_TRAP                          ! 0x20
48         UNHANDLED_TRAP                          ! 0x21
49         UNHANDLED_TRAP                          ! 0x22
50         UNHANDLED_TRAP                          ! 0x23
51         UNHANDLED_TRAP                          ! 0x24
52         UNHANDLED_TRAP                          ! 0x25
53         UNHANDLED_TRAP                          ! 0x26
54         UNHANDLED_TRAP                          ! 0x27
55         UNHANDLED_TRAP                          ! 0x28
56         UNHANDLED_TRAP                          ! 0x29
57         UNHANDLED_TRAP                          ! 0x2A
58         UNHANDLED_TRAP                          ! 0x2B
59         UNHANDLED_TRAP                          ! 0x2C
60         UNHANDLED_TRAP                          ! 0x2D
61         UNHANDLED_TRAP                          ! 0x2E
62         UNHANDLED_TRAP                          ! 0x2F
63         UNHANDLED_TRAP                          ! 0x30
64         UNHANDLED_TRAP                          ! 0x31
65         UNHANDLED_TRAP                          ! 0x32
66         UNHANDLED_TRAP                          ! 0x33
67         UNHANDLED_TRAP                          ! 0x34
68         UNHANDLED_TRAP                          ! 0x35
69         UNHANDLED_TRAP                          ! 0x36
70         UNHANDLED_TRAP                          ! 0x37
71         UNHANDLED_TRAP                          ! 0x38
72         UNHANDLED_TRAP                          ! 0x39
73         UNHANDLED_TRAP                          ! 0x3A
74         UNHANDLED_TRAP                          ! 0x3B
75         UNHANDLED_TRAP                          ! 0x3C
76         UNHANDLED_TRAP                          ! 0x3D
77         UNHANDLED_TRAP                          ! 0x3E
78         UNHANDLED_TRAP                          ! 0x3F
79         UNHANDLED_TRAP                          ! 0x40
80         UNHANDLED_TRAP                          ! 0x41
81         UNHANDLED_TRAP                          ! 0x42
82         UNHANDLED_TRAP                          ! 0x43
83         UNHANDLED_TRAP                          ! 0x44
84         UNHANDLED_TRAP                          ! 0x45
85         UNHANDLED_TRAP                          ! 0x46
86         UNHANDLED_TRAP                          ! 0x47
87         UNHANDLED_TRAP                          ! 0x48
88         UNHANDLED_TRAP                          ! 0x49
89         UNHANDLED_TRAP                          ! 0x4A
90         UNHANDLED_TRAP                          ! 0x4B
91         UNHANDLED_TRAP                          ! 0x4C
92         UNHANDLED_TRAP                          ! 0x4D
93         UNHANDLED_TRAP                          ! 0x4E
94         UNHANDLED_TRAP                          ! 0x4F
95         UNHANDLED_TRAP                          ! 0x50
96         UNHANDLED_TRAP                          ! 0x51
97         UNHANDLED_TRAP                          ! 0x52
98         UNHANDLED_TRAP                          ! 0x53
99         UNHANDLED_TRAP                          ! 0x54
100         UNHANDLED_TRAP                          ! 0x55
101         UNHANDLED_TRAP                          ! 0x56
102         UNHANDLED_TRAP                          ! 0x57
103         UNHANDLED_TRAP                          ! 0x58
104         UNHANDLED_TRAP                          ! 0x59
105         UNHANDLED_TRAP                          ! 0x5A
106         UNHANDLED_TRAP                          ! 0x5B
107         UNHANDLED_TRAP                          ! 0x5C
108         UNHANDLED_TRAP                          ! 0x5D
109         UNHANDLED_TRAP                          ! 0x5E
110         UNHANDLED_TRAP                          ! 0x5F
111         UNHANDLED_TRAP                          ! 0x60
112         UNHANDLED_TRAP                          ! 0x61
113         UNHANDLED_TRAP                          ! 0x62
114         UNHANDLED_TRAP                          ! 0x63
115         UNHANDLED_TRAP                          ! 0x64
116         UNHANDLED_TRAP                          ! 0x65
117         UNHANDLED_TRAP                          ! 0x66
118         UNHANDLED_TRAP                          ! 0x67
119         UNHANDLED_TRAP                          ! 0x68
120         UNHANDLED_TRAP                          ! 0x69
121         UNHANDLED_TRAP                          ! 0x6A
122         UNHANDLED_TRAP                          ! 0x6B
123         UNHANDLED_TRAP                          ! 0x6C
124         UNHANDLED_TRAP                          ! 0x6D
125         UNHANDLED_TRAP                          ! 0x6E
126         UNHANDLED_TRAP                          ! 0x6F
127         UNHANDLED_TRAP                          ! 0x70
128         UNHANDLED_TRAP                          ! 0x71
129         UNHANDLED_TRAP                          ! 0x72
130         UNHANDLED_TRAP                          ! 0x73
131         UNHANDLED_TRAP                          ! 0x74
132         UNHANDLED_TRAP                          ! 0x75
133         UNHANDLED_TRAP                          ! 0x76
134         UNHANDLED_TRAP                          ! 0x77
135         UNHANDLED_TRAP                          ! 0x78
136         UNHANDLED_TRAP                          ! 0x79
137         UNHANDLED_TRAP                          ! 0x7A
138         UNHANDLED_TRAP                          ! 0x7B
139         UNHANDLED_TRAP                          ! 0x7C
140         UNHANDLED_TRAP                          ! 0x7D
141         UNHANDLED_TRAP                          ! 0x7E
142         UNHANDLED_TRAP                          ! 0x7F
143         UNHANDLED_TRAP                          ! 0x80
144         UNHANDLED_TRAP                          ! 0x81
145         UNHANDLED_TRAP                          ! 0x82
146         TRAP_TABLE_ENTRY(handle_flushw)         ! 0x83
147         TRAP_TABLE_ENTRY(handle_pop_tf)         ! 0x84
148         UNHANDLED_TRAP                          ! 0x85
149         UNHANDLED_TRAP                          ! 0x86
150         UNHANDLED_TRAP                          ! 0x87
151         TRAP_TABLE_ENTRY(handle_syscall)        ! 0x88
152         JMP(handle_perfctr)                     ! 0x89
153         andn %i0,3,%i0; lda [%i0] 2,%i0; jmp %l2; rett %l2+4 ! 0x8A
154         andn %i0,3,%i0; sta %i1,[%i0] 2; jmp %l2; rett %l2+4 ! 0x8A
155         UNHANDLED_TRAP                          ! 0x8C
156         UNHANDLED_TRAP                          ! 0x8D
157         UNHANDLED_TRAP                          ! 0x8E
158         UNHANDLED_TRAP                          ! 0x8F
159         UNHANDLED_TRAP                          ! 0x90
160         UNHANDLED_TRAP                          ! 0x91
161         UNHANDLED_TRAP                          ! 0x92
162         UNHANDLED_TRAP                          ! 0x93
163         UNHANDLED_TRAP                          ! 0x94
164         UNHANDLED_TRAP                          ! 0x95
165         UNHANDLED_TRAP                          ! 0x96
166         UNHANDLED_TRAP                          ! 0x97
167         UNHANDLED_TRAP                          ! 0x98
168         UNHANDLED_TRAP                          ! 0x99
169         UNHANDLED_TRAP                          ! 0x9A
170         UNHANDLED_TRAP                          ! 0x9B
171         UNHANDLED_TRAP                          ! 0x9C
172         UNHANDLED_TRAP                          ! 0x9D
173         UNHANDLED_TRAP                          ! 0x9E
174         UNHANDLED_TRAP                          ! 0x9F
175         UNHANDLED_TRAP                          ! 0xA0
176         UNHANDLED_TRAP                          ! 0xA1
177         UNHANDLED_TRAP                          ! 0xA2
178         UNHANDLED_TRAP                          ! 0xA3
179         UNHANDLED_TRAP                          ! 0xA4
180         UNHANDLED_TRAP                          ! 0xA5
181         UNHANDLED_TRAP                          ! 0xA6
182         UNHANDLED_TRAP                          ! 0xA7
183         UNHANDLED_TRAP                          ! 0xA8
184         UNHANDLED_TRAP                          ! 0xA9
185         UNHANDLED_TRAP                          ! 0xAA
186         UNHANDLED_TRAP                          ! 0xAB
187         UNHANDLED_TRAP                          ! 0xAC
188         UNHANDLED_TRAP                          ! 0xAD
189         UNHANDLED_TRAP                          ! 0xAE
190         UNHANDLED_TRAP                          ! 0xAF
191         UNHANDLED_TRAP                          ! 0xB0
192         UNHANDLED_TRAP                          ! 0xB1
193         UNHANDLED_TRAP                          ! 0xB2
194         UNHANDLED_TRAP                          ! 0xB3
195         UNHANDLED_TRAP                          ! 0xB4
196         UNHANDLED_TRAP                          ! 0xB5
197         UNHANDLED_TRAP                          ! 0xB6
198         UNHANDLED_TRAP                          ! 0xB7
199         UNHANDLED_TRAP                          ! 0xB8
200         UNHANDLED_TRAP                          ! 0xB9
201         UNHANDLED_TRAP                          ! 0xBA
202         UNHANDLED_TRAP                          ! 0xBB
203         UNHANDLED_TRAP                          ! 0xBC
204         UNHANDLED_TRAP                          ! 0xBD
205         UNHANDLED_TRAP                          ! 0xBE
206         UNHANDLED_TRAP                          ! 0xBF
207         UNHANDLED_TRAP                          ! 0xC0
208         UNHANDLED_TRAP                          ! 0xC1
209         UNHANDLED_TRAP                          ! 0xC2
210         UNHANDLED_TRAP                          ! 0xC3
211         UNHANDLED_TRAP                          ! 0xC4
212         UNHANDLED_TRAP                          ! 0xC5
213         UNHANDLED_TRAP                          ! 0xC6
214         UNHANDLED_TRAP                          ! 0xC7
215         UNHANDLED_TRAP                          ! 0xC8
216         UNHANDLED_TRAP                          ! 0xC9
217         UNHANDLED_TRAP                          ! 0xCA
218         UNHANDLED_TRAP                          ! 0xCB
219         UNHANDLED_TRAP                          ! 0xCC
220         UNHANDLED_TRAP                          ! 0xCD
221         UNHANDLED_TRAP                          ! 0xCE
222         UNHANDLED_TRAP                          ! 0xCF
223         UNHANDLED_TRAP                          ! 0xD0
224         UNHANDLED_TRAP                          ! 0xD1
225         UNHANDLED_TRAP                          ! 0xD2
226         UNHANDLED_TRAP                          ! 0xD3
227         UNHANDLED_TRAP                          ! 0xD4
228         UNHANDLED_TRAP                          ! 0xD5
229         UNHANDLED_TRAP                          ! 0xD6
230         UNHANDLED_TRAP                          ! 0xD7
231         UNHANDLED_TRAP                          ! 0xD8
232         UNHANDLED_TRAP                          ! 0xD9
233         UNHANDLED_TRAP                          ! 0xDA
234         UNHANDLED_TRAP                          ! 0xDB
235         UNHANDLED_TRAP                          ! 0xDC
236         UNHANDLED_TRAP                          ! 0xDD
237         UNHANDLED_TRAP                          ! 0xDE
238         UNHANDLED_TRAP                          ! 0xDF
239         UNHANDLED_TRAP                          ! 0xE0
240         UNHANDLED_TRAP                          ! 0xE1
241         UNHANDLED_TRAP                          ! 0xE2
242         UNHANDLED_TRAP                          ! 0xE3
243         UNHANDLED_TRAP                          ! 0xE4
244         UNHANDLED_TRAP                          ! 0xE5
245         UNHANDLED_TRAP                          ! 0xE6
246         UNHANDLED_TRAP                          ! 0xE7
247         UNHANDLED_TRAP                          ! 0xE8
248         UNHANDLED_TRAP                          ! 0xE9
249         UNHANDLED_TRAP                          ! 0xEA
250         UNHANDLED_TRAP                          ! 0xEB
251         UNHANDLED_TRAP                          ! 0xEC
252         UNHANDLED_TRAP                          ! 0xED
253         UNHANDLED_TRAP                          ! 0xEE
254         UNHANDLED_TRAP                          ! 0xEF
255         UNHANDLED_TRAP                          ! 0xF0
256         UNHANDLED_TRAP                          ! 0xF1
257         UNHANDLED_TRAP                          ! 0xF2
258         UNHANDLED_TRAP                          ! 0xF3
259         UNHANDLED_TRAP                          ! 0xF4
260         UNHANDLED_TRAP                          ! 0xF5
261         UNHANDLED_TRAP                          ! 0xF6
262         UNHANDLED_TRAP                          ! 0xF7
263         UNHANDLED_TRAP                          ! 0xF8
264         UNHANDLED_TRAP                          ! 0xF9
265         UNHANDLED_TRAP                          ! 0xFA
266         UNHANDLED_TRAP                          ! 0xFB
267         UNHANDLED_TRAP                          ! 0xFC
268         UNHANDLED_TRAP                          ! 0xFD
269         UNHANDLED_TRAP                          ! 0xFE
270         TRAP_TABLE_ENTRY(handle_breakpoint)     ! 0xFF
271
272 #endif