Commit | Line | Data |
---|---|---|
c64d7524 SR |
1 | /* The Sparc trap table, bootloader gives us control at _start. */ |
2 | __HEAD | |
3 | ||
4 | .globl _start | |
5 | _start: | |
6 | ||
7 | .globl _stext | |
8 | _stext: | |
9 | ||
10 | .globl trapbase | |
11 | trapbase: | |
12 | ||
13 | #ifdef CONFIG_SMP | |
14 | trapbase_cpu0: | |
15 | #endif | |
16 | /* We get control passed to us here at t_zero. */ | |
17 | t_zero: b gokernel; nop; nop; nop; | |
18 | t_tflt: SRMMU_TFAULT /* Inst. Access Exception */ | |
19 | t_bins: TRAP_ENTRY(0x2, bad_instruction) /* Illegal Instruction */ | |
20 | t_pins: TRAP_ENTRY(0x3, priv_instruction) /* Privileged Instruction */ | |
21 | t_fpd: TRAP_ENTRY(0x4, fpd_trap_handler) /* Floating Point Disabled */ | |
22 | t_wovf: WINDOW_SPILL /* Window Overflow */ | |
23 | t_wunf: WINDOW_FILL /* Window Underflow */ | |
24 | t_mna: TRAP_ENTRY(0x7, mna_handler) /* Memory Address Not Aligned */ | |
25 | t_fpe: TRAP_ENTRY(0x8, fpe_trap_handler) /* Floating Point Exception */ | |
26 | t_dflt: SRMMU_DFAULT /* Data Miss Exception */ | |
27 | t_tio: TRAP_ENTRY(0xa, do_tag_overflow) /* Tagged Instruction Ovrflw */ | |
28 | t_wpt: TRAP_ENTRY(0xb, do_watchpoint) /* Watchpoint Detected */ | |
29 | t_badc: BAD_TRAP(0xc) BAD_TRAP(0xd) BAD_TRAP(0xe) BAD_TRAP(0xf) BAD_TRAP(0x10) | |
30 | t_irq1: TRAP_ENTRY_INTERRUPT(1) /* IRQ Software/SBUS Level 1 */ | |
31 | t_irq2: TRAP_ENTRY_INTERRUPT(2) /* IRQ SBUS Level 2 */ | |
32 | t_irq3: TRAP_ENTRY_INTERRUPT(3) /* IRQ SCSI/DMA/SBUS Level 3 */ | |
33 | t_irq4: TRAP_ENTRY_INTERRUPT(4) /* IRQ Software Level 4 */ | |
34 | t_irq5: TRAP_ENTRY_INTERRUPT(5) /* IRQ SBUS/Ethernet Level 5 */ | |
35 | t_irq6: TRAP_ENTRY_INTERRUPT(6) /* IRQ Software Level 6 */ | |
36 | t_irq7: TRAP_ENTRY_INTERRUPT(7) /* IRQ Video/SBUS Level 5 */ | |
37 | t_irq8: TRAP_ENTRY_INTERRUPT(8) /* IRQ SBUS Level 6 */ | |
38 | t_irq9: TRAP_ENTRY_INTERRUPT(9) /* IRQ SBUS Level 7 */ | |
39 | t_irq10:TRAP_ENTRY_INTERRUPT(10) /* IRQ Timer #1 (one we use) */ | |
40 | t_irq11:TRAP_ENTRY_INTERRUPT(11) /* IRQ Floppy Intr. */ | |
41 | t_irq12:TRAP_ENTRY_INTERRUPT(12) /* IRQ Zilog serial chip */ | |
42 | t_irq13:TRAP_ENTRY_INTERRUPT(13) /* IRQ Audio Intr. */ | |
43 | t_irq14:TRAP_ENTRY_INTERRUPT(14) /* IRQ Timer #2 */ | |
44 | ||
45 | .globl t_nmi | |
46 | t_nmi: TRAP_ENTRY(0x1f, linux_trap_ipi15_sun4m) | |
47 | ||
48 | t_racc: TRAP_ENTRY(0x20, do_reg_access) /* General Register Access Error */ | |
49 | t_iacce:BAD_TRAP(0x21) /* Instr Access Error */ | |
50 | t_bad22:BAD_TRAP(0x22) | |
51 | BAD_TRAP(0x23) | |
52 | t_cpdis:TRAP_ENTRY(0x24, do_cp_disabled) /* Co-Processor Disabled */ | |
53 | t_uflsh:SKIP_TRAP(0x25, unimp_flush) /* Unimplemented FLUSH inst. */ | |
54 | t_bad26:BAD_TRAP(0x26) BAD_TRAP(0x27) | |
55 | t_cpexc:TRAP_ENTRY(0x28, do_cp_exception) /* Co-Processor Exception */ | |
56 | t_dacce:SRMMU_DFAULT /* Data Access Error */ | |
57 | t_hwdz: TRAP_ENTRY(0x2a, do_hw_divzero) /* Division by zero, you lose... */ | |
58 | t_dserr:BAD_TRAP(0x2b) /* Data Store Error */ | |
59 | t_daccm:BAD_TRAP(0x2c) /* Data Access MMU-Miss */ | |
60 | t_bad2d:BAD_TRAP(0x2d) BAD_TRAP(0x2e) BAD_TRAP(0x2f) BAD_TRAP(0x30) BAD_TRAP(0x31) | |
61 | t_bad32:BAD_TRAP(0x32) BAD_TRAP(0x33) BAD_TRAP(0x34) BAD_TRAP(0x35) BAD_TRAP(0x36) | |
62 | t_bad37:BAD_TRAP(0x37) BAD_TRAP(0x38) BAD_TRAP(0x39) BAD_TRAP(0x3a) BAD_TRAP(0x3b) | |
63 | t_iaccm:BAD_TRAP(0x3c) /* Instr Access MMU-Miss */ | |
64 | t_bad3d:BAD_TRAP(0x3d) BAD_TRAP(0x3e) BAD_TRAP(0x3f) BAD_TRAP(0x40) BAD_TRAP(0x41) | |
65 | t_bad42:BAD_TRAP(0x42) BAD_TRAP(0x43) BAD_TRAP(0x44) BAD_TRAP(0x45) BAD_TRAP(0x46) | |
66 | t_bad47:BAD_TRAP(0x47) BAD_TRAP(0x48) BAD_TRAP(0x49) BAD_TRAP(0x4a) BAD_TRAP(0x4b) | |
67 | t_bad4c:BAD_TRAP(0x4c) BAD_TRAP(0x4d) BAD_TRAP(0x4e) BAD_TRAP(0x4f) BAD_TRAP(0x50) | |
68 | t_bad51:BAD_TRAP(0x51) BAD_TRAP(0x52) BAD_TRAP(0x53) BAD_TRAP(0x54) BAD_TRAP(0x55) | |
69 | t_bad56:BAD_TRAP(0x56) BAD_TRAP(0x57) BAD_TRAP(0x58) BAD_TRAP(0x59) BAD_TRAP(0x5a) | |
70 | t_bad5b:BAD_TRAP(0x5b) BAD_TRAP(0x5c) BAD_TRAP(0x5d) BAD_TRAP(0x5e) BAD_TRAP(0x5f) | |
71 | t_bad60:BAD_TRAP(0x60) BAD_TRAP(0x61) BAD_TRAP(0x62) BAD_TRAP(0x63) BAD_TRAP(0x64) | |
72 | t_bad65:BAD_TRAP(0x65) BAD_TRAP(0x66) BAD_TRAP(0x67) BAD_TRAP(0x68) BAD_TRAP(0x69) | |
73 | t_bad6a:BAD_TRAP(0x6a) BAD_TRAP(0x6b) BAD_TRAP(0x6c) BAD_TRAP(0x6d) BAD_TRAP(0x6e) | |
74 | t_bad6f:BAD_TRAP(0x6f) BAD_TRAP(0x70) BAD_TRAP(0x71) BAD_TRAP(0x72) BAD_TRAP(0x73) | |
75 | t_bad74:BAD_TRAP(0x74) BAD_TRAP(0x75) BAD_TRAP(0x76) BAD_TRAP(0x77) BAD_TRAP(0x78) | |
76 | t_bad79:BAD_TRAP(0x79) BAD_TRAP(0x7a) BAD_TRAP(0x7b) BAD_TRAP(0x7c) BAD_TRAP(0x7d) | |
77 | t_bad7e:BAD_TRAP(0x7e) BAD_TRAP(0x7f) | |
78 | t_bad80:BAD_TRAP(0x80) /* SunOS System Call */ | |
79 | t_sbkpt:BREAKPOINT_TRAP /* Software Breakpoint/KGDB */ | |
80 | t_divz: TRAP_ENTRY(0x82, do_hw_divzero) /* Divide by zero trap */ | |
81 | t_flwin:TRAP_ENTRY(0x83, do_flush_windows) /* Flush Windows Trap */ | |
82 | t_clwin:BAD_TRAP(0x84) /* Clean Windows Trap */ | |
83 | t_rchk: BAD_TRAP(0x85) /* Range Check */ | |
84 | t_funal:BAD_TRAP(0x86) /* Fix Unaligned Access Trap */ | |
85 | t_iovf: BAD_TRAP(0x87) /* Integer Overflow Trap */ | |
86 | t_bad88:BAD_TRAP(0x88) /* Slowaris System Call */ | |
87 | t_bad89:BAD_TRAP(0x89) /* Net-B.S. System Call */ | |
88 | t_bad8a:BAD_TRAP(0x8a) BAD_TRAP(0x8b) BAD_TRAP(0x8c) BAD_TRAP(0x8d) BAD_TRAP(0x8e) | |
89 | t_bad8f:BAD_TRAP(0x8f) | |
90 | t_linux:LINUX_SYSCALL_TRAP /* Linux System Call */ | |
91 | t_bad91:BAD_TRAP(0x91) BAD_TRAP(0x92) BAD_TRAP(0x93) BAD_TRAP(0x94) BAD_TRAP(0x95) | |
92 | t_bad96:BAD_TRAP(0x96) BAD_TRAP(0x97) BAD_TRAP(0x98) BAD_TRAP(0x99) BAD_TRAP(0x9a) | |
93 | t_bad9b:BAD_TRAP(0x9b) BAD_TRAP(0x9c) BAD_TRAP(0x9d) BAD_TRAP(0x9e) BAD_TRAP(0x9f) | |
94 | t_getcc:GETCC_TRAP /* Get Condition Codes */ | |
95 | t_setcc:SETCC_TRAP /* Set Condition Codes */ | |
96 | t_getpsr:GETPSR_TRAP /* Get PSR Register */ | |
97 | t_bada3:BAD_TRAP(0xa3) BAD_TRAP(0xa4) BAD_TRAP(0xa5) BAD_TRAP(0xa6) | |
98 | t_bada7:BAD_TRAP(0xa7) | |
99 | t_bada8:BAD_TRAP(0xa8) BAD_TRAP(0xa9) BAD_TRAP(0xaa) BAD_TRAP(0xab) | |
100 | t_badac:BAD_TRAP(0xac) BAD_TRAP(0xad) BAD_TRAP(0xae) BAD_TRAP(0xaf) BAD_TRAP(0xb0) | |
101 | t_badb1:BAD_TRAP(0xb1) BAD_TRAP(0xb2) BAD_TRAP(0xb3) BAD_TRAP(0xb4) BAD_TRAP(0xb5) | |
102 | t_badb6:BAD_TRAP(0xb6) BAD_TRAP(0xb7) BAD_TRAP(0xb8) BAD_TRAP(0xb9) BAD_TRAP(0xba) | |
103 | t_badbb:BAD_TRAP(0xbb) BAD_TRAP(0xbc) BAD_TRAP(0xbd) BAD_TRAP(0xbe) BAD_TRAP(0xbf) | |
104 | t_badc0:BAD_TRAP(0xc0) BAD_TRAP(0xc1) BAD_TRAP(0xc2) BAD_TRAP(0xc3) BAD_TRAP(0xc4) | |
105 | t_badc5:BAD_TRAP(0xc5) BAD_TRAP(0xc6) BAD_TRAP(0xc7) BAD_TRAP(0xc8) BAD_TRAP(0xc9) | |
106 | t_badca:BAD_TRAP(0xca) BAD_TRAP(0xcb) BAD_TRAP(0xcc) BAD_TRAP(0xcd) BAD_TRAP(0xce) | |
107 | t_badcf:BAD_TRAP(0xcf) BAD_TRAP(0xd0) BAD_TRAP(0xd1) BAD_TRAP(0xd2) BAD_TRAP(0xd3) | |
108 | t_badd4:BAD_TRAP(0xd4) BAD_TRAP(0xd5) BAD_TRAP(0xd6) BAD_TRAP(0xd7) BAD_TRAP(0xd8) | |
109 | t_badd9:BAD_TRAP(0xd9) BAD_TRAP(0xda) BAD_TRAP(0xdb) BAD_TRAP(0xdc) BAD_TRAP(0xdd) | |
110 | t_badde:BAD_TRAP(0xde) BAD_TRAP(0xdf) BAD_TRAP(0xe0) BAD_TRAP(0xe1) BAD_TRAP(0xe2) | |
111 | t_bade3:BAD_TRAP(0xe3) BAD_TRAP(0xe4) BAD_TRAP(0xe5) BAD_TRAP(0xe6) BAD_TRAP(0xe7) | |
112 | t_bade8:BAD_TRAP(0xe8) BAD_TRAP(0xe9) BAD_TRAP(0xea) BAD_TRAP(0xeb) BAD_TRAP(0xec) | |
113 | t_baded:BAD_TRAP(0xed) BAD_TRAP(0xee) BAD_TRAP(0xef) BAD_TRAP(0xf0) BAD_TRAP(0xf1) | |
114 | t_badf2:BAD_TRAP(0xf2) BAD_TRAP(0xf3) BAD_TRAP(0xf4) BAD_TRAP(0xf5) BAD_TRAP(0xf6) | |
115 | t_badf7:BAD_TRAP(0xf7) BAD_TRAP(0xf8) BAD_TRAP(0xf9) BAD_TRAP(0xfa) BAD_TRAP(0xfb) | |
116 | t_badfc:BAD_TRAP(0xfc) | |
117 | t_kgdb: KGDB_TRAP(0xfd) | |
118 | dbtrap: BAD_TRAP(0xfe) /* Debugger/PROM breakpoint #1 */ | |
119 | dbtrap2:BAD_TRAP(0xff) /* Debugger/PROM breakpoint #2 */ | |
120 | ||
121 | .globl end_traptable | |
122 | end_traptable: | |
123 | ||
124 | #ifdef CONFIG_SMP | |
125 | /* Trap tables for the other cpus. */ | |
126 | .globl trapbase_cpu1, trapbase_cpu2, trapbase_cpu3 | |
127 | trapbase_cpu1: | |
128 | BAD_TRAP(0x0) | |
129 | SRMMU_TFAULT | |
130 | TRAP_ENTRY(0x2, bad_instruction) | |
131 | TRAP_ENTRY(0x3, priv_instruction) | |
132 | TRAP_ENTRY(0x4, fpd_trap_handler) | |
133 | WINDOW_SPILL | |
134 | WINDOW_FILL | |
135 | TRAP_ENTRY(0x7, mna_handler) | |
136 | TRAP_ENTRY(0x8, fpe_trap_handler) | |
137 | SRMMU_DFAULT | |
138 | TRAP_ENTRY(0xa, do_tag_overflow) | |
139 | TRAP_ENTRY(0xb, do_watchpoint) | |
140 | BAD_TRAP(0xc) BAD_TRAP(0xd) BAD_TRAP(0xe) BAD_TRAP(0xf) BAD_TRAP(0x10) | |
141 | TRAP_ENTRY_INTERRUPT(1) TRAP_ENTRY_INTERRUPT(2) | |
142 | TRAP_ENTRY_INTERRUPT(3) TRAP_ENTRY_INTERRUPT(4) | |
143 | TRAP_ENTRY_INTERRUPT(5) TRAP_ENTRY_INTERRUPT(6) | |
144 | TRAP_ENTRY_INTERRUPT(7) TRAP_ENTRY_INTERRUPT(8) | |
145 | TRAP_ENTRY_INTERRUPT(9) TRAP_ENTRY_INTERRUPT(10) | |
146 | TRAP_ENTRY_INTERRUPT(11) TRAP_ENTRY_INTERRUPT(12) | |
147 | TRAP_ENTRY_INTERRUPT(13) TRAP_ENTRY_INTERRUPT(14) | |
148 | TRAP_ENTRY(0x1f, linux_trap_ipi15_sun4m) | |
149 | TRAP_ENTRY(0x20, do_reg_access) | |
150 | BAD_TRAP(0x21) | |
151 | BAD_TRAP(0x22) | |
152 | BAD_TRAP(0x23) | |
153 | TRAP_ENTRY(0x24, do_cp_disabled) | |
154 | SKIP_TRAP(0x25, unimp_flush) | |
155 | BAD_TRAP(0x26) | |
156 | BAD_TRAP(0x27) | |
157 | TRAP_ENTRY(0x28, do_cp_exception) | |
158 | SRMMU_DFAULT | |
159 | TRAP_ENTRY(0x2a, do_hw_divzero) | |
160 | BAD_TRAP(0x2b) | |
161 | BAD_TRAP(0x2c) | |
162 | BAD_TRAP(0x2d) BAD_TRAP(0x2e) BAD_TRAP(0x2f) BAD_TRAP(0x30) BAD_TRAP(0x31) | |
163 | BAD_TRAP(0x32) BAD_TRAP(0x33) BAD_TRAP(0x34) BAD_TRAP(0x35) BAD_TRAP(0x36) | |
164 | BAD_TRAP(0x37) BAD_TRAP(0x38) BAD_TRAP(0x39) BAD_TRAP(0x3a) BAD_TRAP(0x3b) | |
165 | BAD_TRAP(0x3c) BAD_TRAP(0x3d) BAD_TRAP(0x3e) BAD_TRAP(0x3f) BAD_TRAP(0x40) | |
166 | BAD_TRAP(0x41) BAD_TRAP(0x42) BAD_TRAP(0x43) BAD_TRAP(0x44) BAD_TRAP(0x45) | |
167 | BAD_TRAP(0x46) BAD_TRAP(0x47) BAD_TRAP(0x48) BAD_TRAP(0x49) BAD_TRAP(0x4a) | |
168 | BAD_TRAP(0x4b) BAD_TRAP(0x4c) BAD_TRAP(0x4d) BAD_TRAP(0x4e) BAD_TRAP(0x4f) | |
169 | BAD_TRAP(0x50) | |
170 | BAD_TRAP(0x51) BAD_TRAP(0x52) BAD_TRAP(0x53) BAD_TRAP(0x54) BAD_TRAP(0x55) | |
171 | BAD_TRAP(0x56) BAD_TRAP(0x57) BAD_TRAP(0x58) BAD_TRAP(0x59) BAD_TRAP(0x5a) | |
172 | BAD_TRAP(0x5b) BAD_TRAP(0x5c) BAD_TRAP(0x5d) BAD_TRAP(0x5e) BAD_TRAP(0x5f) | |
173 | BAD_TRAP(0x60) BAD_TRAP(0x61) BAD_TRAP(0x62) BAD_TRAP(0x63) BAD_TRAP(0x64) | |
174 | BAD_TRAP(0x65) BAD_TRAP(0x66) BAD_TRAP(0x67) BAD_TRAP(0x68) BAD_TRAP(0x69) | |
175 | BAD_TRAP(0x6a) BAD_TRAP(0x6b) BAD_TRAP(0x6c) BAD_TRAP(0x6d) BAD_TRAP(0x6e) | |
176 | BAD_TRAP(0x6f) BAD_TRAP(0x70) BAD_TRAP(0x71) BAD_TRAP(0x72) BAD_TRAP(0x73) | |
177 | BAD_TRAP(0x74) BAD_TRAP(0x75) BAD_TRAP(0x76) BAD_TRAP(0x77) BAD_TRAP(0x78) | |
178 | BAD_TRAP(0x79) BAD_TRAP(0x7a) BAD_TRAP(0x7b) BAD_TRAP(0x7c) BAD_TRAP(0x7d) | |
179 | BAD_TRAP(0x7e) BAD_TRAP(0x7f) | |
180 | BAD_TRAP(0x80) | |
181 | BREAKPOINT_TRAP | |
182 | TRAP_ENTRY(0x82, do_hw_divzero) | |
183 | TRAP_ENTRY(0x83, do_flush_windows) | |
184 | BAD_TRAP(0x84) BAD_TRAP(0x85) BAD_TRAP(0x86) | |
185 | BAD_TRAP(0x87) BAD_TRAP(0x88) BAD_TRAP(0x89) | |
186 | BAD_TRAP(0x8a) BAD_TRAP(0x8b) BAD_TRAP(0x8c) | |
187 | BAD_TRAP(0x8d) BAD_TRAP(0x8e) BAD_TRAP(0x8f) | |
188 | LINUX_SYSCALL_TRAP BAD_TRAP(0x91) | |
189 | BAD_TRAP(0x92) BAD_TRAP(0x93) BAD_TRAP(0x94) | |
190 | BAD_TRAP(0x95) BAD_TRAP(0x96) BAD_TRAP(0x97) BAD_TRAP(0x98) BAD_TRAP(0x99) | |
191 | BAD_TRAP(0x9a) BAD_TRAP(0x9b) BAD_TRAP(0x9c) BAD_TRAP(0x9d) BAD_TRAP(0x9e) | |
192 | BAD_TRAP(0x9f) | |
193 | GETCC_TRAP | |
194 | SETCC_TRAP | |
195 | GETPSR_TRAP | |
196 | BAD_TRAP(0xa3) BAD_TRAP(0xa4) BAD_TRAP(0xa5) BAD_TRAP(0xa6) | |
197 | BAD_TRAP(0xa7) BAD_TRAP(0xa8) BAD_TRAP(0xa9) BAD_TRAP(0xaa) BAD_TRAP(0xab) | |
198 | BAD_TRAP(0xac) BAD_TRAP(0xad) BAD_TRAP(0xae) BAD_TRAP(0xaf) BAD_TRAP(0xb0) | |
199 | BAD_TRAP(0xb1) BAD_TRAP(0xb2) BAD_TRAP(0xb3) BAD_TRAP(0xb4) BAD_TRAP(0xb5) | |
200 | BAD_TRAP(0xb6) BAD_TRAP(0xb7) BAD_TRAP(0xb8) BAD_TRAP(0xb9) BAD_TRAP(0xba) | |
201 | BAD_TRAP(0xbb) BAD_TRAP(0xbc) BAD_TRAP(0xbd) BAD_TRAP(0xbe) BAD_TRAP(0xbf) | |
202 | BAD_TRAP(0xc0) BAD_TRAP(0xc1) BAD_TRAP(0xc2) BAD_TRAP(0xc3) BAD_TRAP(0xc4) | |
203 | BAD_TRAP(0xc5) BAD_TRAP(0xc6) BAD_TRAP(0xc7) BAD_TRAP(0xc8) BAD_TRAP(0xc9) | |
204 | BAD_TRAP(0xca) BAD_TRAP(0xcb) BAD_TRAP(0xcc) BAD_TRAP(0xcd) BAD_TRAP(0xce) | |
205 | BAD_TRAP(0xcf) BAD_TRAP(0xd0) BAD_TRAP(0xd1) BAD_TRAP(0xd2) BAD_TRAP(0xd3) | |
206 | BAD_TRAP(0xd4) BAD_TRAP(0xd5) BAD_TRAP(0xd6) BAD_TRAP(0xd7) BAD_TRAP(0xd8) | |
207 | BAD_TRAP(0xd9) BAD_TRAP(0xda) BAD_TRAP(0xdb) BAD_TRAP(0xdc) BAD_TRAP(0xdd) | |
208 | BAD_TRAP(0xde) BAD_TRAP(0xdf) BAD_TRAP(0xe0) BAD_TRAP(0xe1) BAD_TRAP(0xe2) | |
209 | BAD_TRAP(0xe3) BAD_TRAP(0xe4) BAD_TRAP(0xe5) BAD_TRAP(0xe6) BAD_TRAP(0xe7) | |
210 | BAD_TRAP(0xe8) BAD_TRAP(0xe9) BAD_TRAP(0xea) BAD_TRAP(0xeb) BAD_TRAP(0xec) | |
211 | BAD_TRAP(0xed) BAD_TRAP(0xee) BAD_TRAP(0xef) BAD_TRAP(0xf0) BAD_TRAP(0xf1) | |
212 | BAD_TRAP(0xf2) BAD_TRAP(0xf3) BAD_TRAP(0xf4) BAD_TRAP(0xf5) BAD_TRAP(0xf6) | |
213 | BAD_TRAP(0xf7) BAD_TRAP(0xf8) BAD_TRAP(0xf9) BAD_TRAP(0xfa) BAD_TRAP(0xfb) | |
214 | BAD_TRAP(0xfc) | |
215 | KGDB_TRAP(0xfd) | |
216 | BAD_TRAP(0xfe) | |
217 | BAD_TRAP(0xff) | |
218 | ||
219 | trapbase_cpu2: | |
220 | BAD_TRAP(0x0) | |
221 | SRMMU_TFAULT | |
222 | TRAP_ENTRY(0x2, bad_instruction) | |
223 | TRAP_ENTRY(0x3, priv_instruction) | |
224 | TRAP_ENTRY(0x4, fpd_trap_handler) | |
225 | WINDOW_SPILL | |
226 | WINDOW_FILL | |
227 | TRAP_ENTRY(0x7, mna_handler) | |
228 | TRAP_ENTRY(0x8, fpe_trap_handler) | |
229 | SRMMU_DFAULT | |
230 | TRAP_ENTRY(0xa, do_tag_overflow) | |
231 | TRAP_ENTRY(0xb, do_watchpoint) | |
232 | BAD_TRAP(0xc) BAD_TRAP(0xd) BAD_TRAP(0xe) BAD_TRAP(0xf) BAD_TRAP(0x10) | |
233 | TRAP_ENTRY_INTERRUPT(1) | |
234 | TRAP_ENTRY_INTERRUPT(2) | |
235 | TRAP_ENTRY_INTERRUPT(3) | |
236 | TRAP_ENTRY_INTERRUPT(4) | |
237 | TRAP_ENTRY_INTERRUPT(5) | |
238 | TRAP_ENTRY_INTERRUPT(6) | |
239 | TRAP_ENTRY_INTERRUPT(7) | |
240 | TRAP_ENTRY_INTERRUPT(8) | |
241 | TRAP_ENTRY_INTERRUPT(9) | |
242 | TRAP_ENTRY_INTERRUPT(10) | |
243 | TRAP_ENTRY_INTERRUPT(11) | |
244 | TRAP_ENTRY_INTERRUPT(12) | |
245 | TRAP_ENTRY_INTERRUPT(13) | |
246 | TRAP_ENTRY_INTERRUPT(14) | |
247 | TRAP_ENTRY(0x1f, linux_trap_ipi15_sun4m) | |
248 | TRAP_ENTRY(0x20, do_reg_access) | |
249 | BAD_TRAP(0x21) | |
250 | BAD_TRAP(0x22) | |
251 | BAD_TRAP(0x23) | |
252 | TRAP_ENTRY(0x24, do_cp_disabled) | |
253 | SKIP_TRAP(0x25, unimp_flush) | |
254 | BAD_TRAP(0x26) | |
255 | BAD_TRAP(0x27) | |
256 | TRAP_ENTRY(0x28, do_cp_exception) | |
257 | SRMMU_DFAULT | |
258 | TRAP_ENTRY(0x2a, do_hw_divzero) | |
259 | BAD_TRAP(0x2b) | |
260 | BAD_TRAP(0x2c) | |
261 | BAD_TRAP(0x2d) BAD_TRAP(0x2e) BAD_TRAP(0x2f) BAD_TRAP(0x30) BAD_TRAP(0x31) | |
262 | BAD_TRAP(0x32) BAD_TRAP(0x33) BAD_TRAP(0x34) BAD_TRAP(0x35) BAD_TRAP(0x36) | |
263 | BAD_TRAP(0x37) BAD_TRAP(0x38) BAD_TRAP(0x39) BAD_TRAP(0x3a) BAD_TRAP(0x3b) | |
264 | BAD_TRAP(0x3c) BAD_TRAP(0x3d) BAD_TRAP(0x3e) BAD_TRAP(0x3f) BAD_TRAP(0x40) | |
265 | BAD_TRAP(0x41) BAD_TRAP(0x42) BAD_TRAP(0x43) BAD_TRAP(0x44) BAD_TRAP(0x45) | |
266 | BAD_TRAP(0x46) BAD_TRAP(0x47) BAD_TRAP(0x48) BAD_TRAP(0x49) BAD_TRAP(0x4a) | |
267 | BAD_TRAP(0x4b) BAD_TRAP(0x4c) BAD_TRAP(0x4d) BAD_TRAP(0x4e) BAD_TRAP(0x4f) | |
268 | BAD_TRAP(0x50) | |
269 | BAD_TRAP(0x51) BAD_TRAP(0x52) BAD_TRAP(0x53) BAD_TRAP(0x54) BAD_TRAP(0x55) | |
270 | BAD_TRAP(0x56) BAD_TRAP(0x57) BAD_TRAP(0x58) BAD_TRAP(0x59) BAD_TRAP(0x5a) | |
271 | BAD_TRAP(0x5b) BAD_TRAP(0x5c) BAD_TRAP(0x5d) BAD_TRAP(0x5e) BAD_TRAP(0x5f) | |
272 | BAD_TRAP(0x60) BAD_TRAP(0x61) BAD_TRAP(0x62) BAD_TRAP(0x63) BAD_TRAP(0x64) | |
273 | BAD_TRAP(0x65) BAD_TRAP(0x66) BAD_TRAP(0x67) BAD_TRAP(0x68) BAD_TRAP(0x69) | |
274 | BAD_TRAP(0x6a) BAD_TRAP(0x6b) BAD_TRAP(0x6c) BAD_TRAP(0x6d) BAD_TRAP(0x6e) | |
275 | BAD_TRAP(0x6f) BAD_TRAP(0x70) BAD_TRAP(0x71) BAD_TRAP(0x72) BAD_TRAP(0x73) | |
276 | BAD_TRAP(0x74) BAD_TRAP(0x75) BAD_TRAP(0x76) BAD_TRAP(0x77) BAD_TRAP(0x78) | |
277 | BAD_TRAP(0x79) BAD_TRAP(0x7a) BAD_TRAP(0x7b) BAD_TRAP(0x7c) BAD_TRAP(0x7d) | |
278 | BAD_TRAP(0x7e) BAD_TRAP(0x7f) | |
279 | BAD_TRAP(0x80) | |
280 | BREAKPOINT_TRAP | |
281 | TRAP_ENTRY(0x82, do_hw_divzero) | |
282 | TRAP_ENTRY(0x83, do_flush_windows) | |
283 | BAD_TRAP(0x84) | |
284 | BAD_TRAP(0x85) | |
285 | BAD_TRAP(0x86) BAD_TRAP(0x87) BAD_TRAP(0x88) | |
286 | BAD_TRAP(0x89) BAD_TRAP(0x8a) BAD_TRAP(0x8b) BAD_TRAP(0x8c) | |
287 | BAD_TRAP(0x8d) BAD_TRAP(0x8e) BAD_TRAP(0x8f) | |
288 | LINUX_SYSCALL_TRAP BAD_TRAP(0x91) | |
289 | BAD_TRAP(0x92) BAD_TRAP(0x93) BAD_TRAP(0x94) | |
290 | BAD_TRAP(0x95) BAD_TRAP(0x96) BAD_TRAP(0x97) BAD_TRAP(0x98) BAD_TRAP(0x99) | |
291 | BAD_TRAP(0x9a) BAD_TRAP(0x9b) BAD_TRAP(0x9c) BAD_TRAP(0x9d) BAD_TRAP(0x9e) | |
292 | BAD_TRAP(0x9f) | |
293 | GETCC_TRAP | |
294 | SETCC_TRAP | |
295 | GETPSR_TRAP | |
296 | BAD_TRAP(0xa3) BAD_TRAP(0xa4) BAD_TRAP(0xa5) BAD_TRAP(0xa6) | |
297 | BAD_TRAP(0xa7) BAD_TRAP(0xa8) BAD_TRAP(0xa9) BAD_TRAP(0xaa) BAD_TRAP(0xab) | |
298 | BAD_TRAP(0xac) BAD_TRAP(0xad) BAD_TRAP(0xae) BAD_TRAP(0xaf) BAD_TRAP(0xb0) | |
299 | BAD_TRAP(0xb1) BAD_TRAP(0xb2) BAD_TRAP(0xb3) BAD_TRAP(0xb4) BAD_TRAP(0xb5) | |
300 | BAD_TRAP(0xb6) BAD_TRAP(0xb7) BAD_TRAP(0xb8) BAD_TRAP(0xb9) BAD_TRAP(0xba) | |
301 | BAD_TRAP(0xbb) BAD_TRAP(0xbc) BAD_TRAP(0xbd) BAD_TRAP(0xbe) BAD_TRAP(0xbf) | |
302 | BAD_TRAP(0xc0) BAD_TRAP(0xc1) BAD_TRAP(0xc2) BAD_TRAP(0xc3) BAD_TRAP(0xc4) | |
303 | BAD_TRAP(0xc5) BAD_TRAP(0xc6) BAD_TRAP(0xc7) BAD_TRAP(0xc8) BAD_TRAP(0xc9) | |
304 | BAD_TRAP(0xca) BAD_TRAP(0xcb) BAD_TRAP(0xcc) BAD_TRAP(0xcd) BAD_TRAP(0xce) | |
305 | BAD_TRAP(0xcf) BAD_TRAP(0xd0) BAD_TRAP(0xd1) BAD_TRAP(0xd2) BAD_TRAP(0xd3) | |
306 | BAD_TRAP(0xd4) BAD_TRAP(0xd5) BAD_TRAP(0xd6) BAD_TRAP(0xd7) BAD_TRAP(0xd8) | |
307 | BAD_TRAP(0xd9) BAD_TRAP(0xda) BAD_TRAP(0xdb) BAD_TRAP(0xdc) BAD_TRAP(0xdd) | |
308 | BAD_TRAP(0xde) BAD_TRAP(0xdf) BAD_TRAP(0xe0) BAD_TRAP(0xe1) BAD_TRAP(0xe2) | |
309 | BAD_TRAP(0xe3) BAD_TRAP(0xe4) BAD_TRAP(0xe5) BAD_TRAP(0xe6) BAD_TRAP(0xe7) | |
310 | BAD_TRAP(0xe8) BAD_TRAP(0xe9) BAD_TRAP(0xea) BAD_TRAP(0xeb) BAD_TRAP(0xec) | |
311 | BAD_TRAP(0xed) BAD_TRAP(0xee) BAD_TRAP(0xef) BAD_TRAP(0xf0) BAD_TRAP(0xf1) | |
312 | BAD_TRAP(0xf2) BAD_TRAP(0xf3) BAD_TRAP(0xf4) BAD_TRAP(0xf5) BAD_TRAP(0xf6) | |
313 | BAD_TRAP(0xf7) BAD_TRAP(0xf8) BAD_TRAP(0xf9) BAD_TRAP(0xfa) BAD_TRAP(0xfb) | |
314 | BAD_TRAP(0xfc) | |
315 | KGDB_TRAP(0xfd) | |
316 | BAD_TRAP(0xfe) | |
317 | BAD_TRAP(0xff) | |
318 | ||
319 | trapbase_cpu3: | |
320 | BAD_TRAP(0x0) | |
321 | SRMMU_TFAULT | |
322 | TRAP_ENTRY(0x2, bad_instruction) | |
323 | TRAP_ENTRY(0x3, priv_instruction) | |
324 | TRAP_ENTRY(0x4, fpd_trap_handler) | |
325 | WINDOW_SPILL | |
326 | WINDOW_FILL | |
327 | TRAP_ENTRY(0x7, mna_handler) | |
328 | TRAP_ENTRY(0x8, fpe_trap_handler) | |
329 | SRMMU_DFAULT | |
330 | TRAP_ENTRY(0xa, do_tag_overflow) | |
331 | TRAP_ENTRY(0xb, do_watchpoint) | |
332 | BAD_TRAP(0xc) BAD_TRAP(0xd) BAD_TRAP(0xe) BAD_TRAP(0xf) BAD_TRAP(0x10) | |
333 | TRAP_ENTRY_INTERRUPT(1) | |
334 | TRAP_ENTRY_INTERRUPT(2) | |
335 | TRAP_ENTRY_INTERRUPT(3) | |
336 | TRAP_ENTRY_INTERRUPT(4) | |
337 | TRAP_ENTRY_INTERRUPT(5) | |
338 | TRAP_ENTRY_INTERRUPT(6) | |
339 | TRAP_ENTRY_INTERRUPT(7) | |
340 | TRAP_ENTRY_INTERRUPT(8) | |
341 | TRAP_ENTRY_INTERRUPT(9) | |
342 | TRAP_ENTRY_INTERRUPT(10) | |
343 | TRAP_ENTRY_INTERRUPT(11) | |
344 | TRAP_ENTRY_INTERRUPT(12) | |
345 | TRAP_ENTRY_INTERRUPT(13) | |
346 | TRAP_ENTRY_INTERRUPT(14) | |
347 | TRAP_ENTRY(0x1f, linux_trap_ipi15_sun4m) | |
348 | TRAP_ENTRY(0x20, do_reg_access) | |
349 | BAD_TRAP(0x21) | |
350 | BAD_TRAP(0x22) | |
351 | BAD_TRAP(0x23) | |
352 | TRAP_ENTRY(0x24, do_cp_disabled) | |
353 | SKIP_TRAP(0x25, unimp_flush) | |
354 | BAD_TRAP(0x26) | |
355 | BAD_TRAP(0x27) | |
356 | TRAP_ENTRY(0x28, do_cp_exception) | |
357 | SRMMU_DFAULT | |
358 | TRAP_ENTRY(0x2a, do_hw_divzero) | |
359 | BAD_TRAP(0x2b) BAD_TRAP(0x2c) | |
360 | BAD_TRAP(0x2d) BAD_TRAP(0x2e) BAD_TRAP(0x2f) BAD_TRAP(0x30) BAD_TRAP(0x31) | |
361 | BAD_TRAP(0x32) BAD_TRAP(0x33) BAD_TRAP(0x34) BAD_TRAP(0x35) BAD_TRAP(0x36) | |
362 | BAD_TRAP(0x37) BAD_TRAP(0x38) BAD_TRAP(0x39) BAD_TRAP(0x3a) BAD_TRAP(0x3b) | |
363 | BAD_TRAP(0x3c) BAD_TRAP(0x3d) BAD_TRAP(0x3e) BAD_TRAP(0x3f) BAD_TRAP(0x40) | |
364 | BAD_TRAP(0x41) BAD_TRAP(0x42) BAD_TRAP(0x43) BAD_TRAP(0x44) BAD_TRAP(0x45) | |
365 | BAD_TRAP(0x46) BAD_TRAP(0x47) BAD_TRAP(0x48) BAD_TRAP(0x49) BAD_TRAP(0x4a) | |
366 | BAD_TRAP(0x4b) BAD_TRAP(0x4c) BAD_TRAP(0x4d) BAD_TRAP(0x4e) BAD_TRAP(0x4f) | |
367 | BAD_TRAP(0x50) | |
368 | BAD_TRAP(0x51) BAD_TRAP(0x52) BAD_TRAP(0x53) BAD_TRAP(0x54) BAD_TRAP(0x55) | |
369 | BAD_TRAP(0x56) BAD_TRAP(0x57) BAD_TRAP(0x58) BAD_TRAP(0x59) BAD_TRAP(0x5a) | |
370 | BAD_TRAP(0x5b) BAD_TRAP(0x5c) BAD_TRAP(0x5d) BAD_TRAP(0x5e) BAD_TRAP(0x5f) | |
371 | BAD_TRAP(0x60) BAD_TRAP(0x61) BAD_TRAP(0x62) BAD_TRAP(0x63) BAD_TRAP(0x64) | |
372 | BAD_TRAP(0x65) BAD_TRAP(0x66) BAD_TRAP(0x67) BAD_TRAP(0x68) BAD_TRAP(0x69) | |
373 | BAD_TRAP(0x6a) BAD_TRAP(0x6b) BAD_TRAP(0x6c) BAD_TRAP(0x6d) BAD_TRAP(0x6e) | |
374 | BAD_TRAP(0x6f) BAD_TRAP(0x70) BAD_TRAP(0x71) BAD_TRAP(0x72) BAD_TRAP(0x73) | |
375 | BAD_TRAP(0x74) BAD_TRAP(0x75) BAD_TRAP(0x76) BAD_TRAP(0x77) BAD_TRAP(0x78) | |
376 | BAD_TRAP(0x79) BAD_TRAP(0x7a) BAD_TRAP(0x7b) BAD_TRAP(0x7c) BAD_TRAP(0x7d) | |
377 | BAD_TRAP(0x7e) BAD_TRAP(0x7f) | |
378 | BAD_TRAP(0x80) | |
379 | BREAKPOINT_TRAP | |
380 | TRAP_ENTRY(0x82, do_hw_divzero) | |
381 | TRAP_ENTRY(0x83, do_flush_windows) | |
382 | BAD_TRAP(0x84) BAD_TRAP(0x85) | |
383 | BAD_TRAP(0x86) BAD_TRAP(0x87) BAD_TRAP(0x88) | |
384 | BAD_TRAP(0x89) BAD_TRAP(0x8a) BAD_TRAP(0x8b) BAD_TRAP(0x8c) | |
385 | BAD_TRAP(0x8d) BAD_TRAP(0x8e) BAD_TRAP(0x8f) | |
386 | LINUX_SYSCALL_TRAP | |
387 | BAD_TRAP(0x91) BAD_TRAP(0x92) BAD_TRAP(0x93) BAD_TRAP(0x94) | |
388 | BAD_TRAP(0x95) BAD_TRAP(0x96) BAD_TRAP(0x97) BAD_TRAP(0x98) BAD_TRAP(0x99) | |
389 | BAD_TRAP(0x9a) BAD_TRAP(0x9b) BAD_TRAP(0x9c) BAD_TRAP(0x9d) BAD_TRAP(0x9e) | |
390 | BAD_TRAP(0x9f) | |
391 | GETCC_TRAP | |
392 | SETCC_TRAP | |
393 | GETPSR_TRAP | |
394 | BAD_TRAP(0xa3) BAD_TRAP(0xa4) BAD_TRAP(0xa5) BAD_TRAP(0xa6) | |
395 | BAD_TRAP(0xa7) BAD_TRAP(0xa8) BAD_TRAP(0xa9) BAD_TRAP(0xaa) BAD_TRAP(0xab) | |
396 | BAD_TRAP(0xac) BAD_TRAP(0xad) BAD_TRAP(0xae) BAD_TRAP(0xaf) BAD_TRAP(0xb0) | |
397 | BAD_TRAP(0xb1) BAD_TRAP(0xb2) BAD_TRAP(0xb3) BAD_TRAP(0xb4) BAD_TRAP(0xb5) | |
398 | BAD_TRAP(0xb6) BAD_TRAP(0xb7) BAD_TRAP(0xb8) BAD_TRAP(0xb9) BAD_TRAP(0xba) | |
399 | BAD_TRAP(0xbb) BAD_TRAP(0xbc) BAD_TRAP(0xbd) BAD_TRAP(0xbe) BAD_TRAP(0xbf) | |
400 | BAD_TRAP(0xc0) BAD_TRAP(0xc1) BAD_TRAP(0xc2) BAD_TRAP(0xc3) BAD_TRAP(0xc4) | |
401 | BAD_TRAP(0xc5) BAD_TRAP(0xc6) BAD_TRAP(0xc7) BAD_TRAP(0xc8) BAD_TRAP(0xc9) | |
402 | BAD_TRAP(0xca) BAD_TRAP(0xcb) BAD_TRAP(0xcc) BAD_TRAP(0xcd) BAD_TRAP(0xce) | |
403 | BAD_TRAP(0xcf) BAD_TRAP(0xd0) BAD_TRAP(0xd1) BAD_TRAP(0xd2) BAD_TRAP(0xd3) | |
404 | BAD_TRAP(0xd4) BAD_TRAP(0xd5) BAD_TRAP(0xd6) BAD_TRAP(0xd7) BAD_TRAP(0xd8) | |
405 | BAD_TRAP(0xd9) BAD_TRAP(0xda) BAD_TRAP(0xdb) BAD_TRAP(0xdc) BAD_TRAP(0xdd) | |
406 | BAD_TRAP(0xde) BAD_TRAP(0xdf) BAD_TRAP(0xe0) BAD_TRAP(0xe1) BAD_TRAP(0xe2) | |
407 | BAD_TRAP(0xe3) BAD_TRAP(0xe4) BAD_TRAP(0xe5) BAD_TRAP(0xe6) BAD_TRAP(0xe7) | |
408 | BAD_TRAP(0xe8) BAD_TRAP(0xe9) BAD_TRAP(0xea) BAD_TRAP(0xeb) BAD_TRAP(0xec) | |
409 | BAD_TRAP(0xed) BAD_TRAP(0xee) BAD_TRAP(0xef) BAD_TRAP(0xf0) BAD_TRAP(0xf1) | |
410 | BAD_TRAP(0xf2) BAD_TRAP(0xf3) BAD_TRAP(0xf4) BAD_TRAP(0xf5) BAD_TRAP(0xf6) | |
411 | BAD_TRAP(0xf7) BAD_TRAP(0xf8) BAD_TRAP(0xf9) BAD_TRAP(0xfa) BAD_TRAP(0xfb) | |
412 | BAD_TRAP(0xfc) | |
413 | KGDB_TRAP(0xfd) | |
414 | BAD_TRAP(0xfe) | |
415 | BAD_TRAP(0xff) | |
416 | ||
417 | #endif |