diff options
Diffstat (limited to 'arch/sparc/kernel/head.S')
-rw-r--r-- | arch/sparc/kernel/head.S | 37 |
1 files changed, 16 insertions, 21 deletions
diff --git a/arch/sparc/kernel/head.S b/arch/sparc/kernel/head.S index 9a219e8b5ddb..b7f1e81c8ff2 100644 --- a/arch/sparc/kernel/head.S +++ b/arch/sparc/kernel/head.S | |||
@@ -78,11 +78,6 @@ sun4e_notsup: | |||
78 | .asciz "Sparc-Linux sun4e support does not exist\n\n" | 78 | .asciz "Sparc-Linux sun4e support does not exist\n\n" |
79 | .align 4 | 79 | .align 4 |
80 | 80 | ||
81 | #ifndef CONFIG_SUNOS_EMUL | ||
82 | #undef SUNOS_SYSCALL_TRAP | ||
83 | #define SUNOS_SYSCALL_TRAP SUNOS_NO_SYSCALL_TRAP | ||
84 | #endif | ||
85 | |||
86 | /* The Sparc trap table, bootloader gives us control at _start. */ | 81 | /* The Sparc trap table, bootloader gives us control at _start. */ |
87 | .text | 82 | .text |
88 | .globl start, _stext, _start, __stext | 83 | .globl start, _stext, _start, __stext |
@@ -158,7 +153,7 @@ t_bad6f:BAD_TRAP(0x6f) BAD_TRAP(0x70) BAD_TRAP(0x71) BAD_TRAP(0x72) BAD_TRAP(0x7 | |||
158 | t_bad74:BAD_TRAP(0x74) BAD_TRAP(0x75) BAD_TRAP(0x76) BAD_TRAP(0x77) BAD_TRAP(0x78) | 153 | t_bad74:BAD_TRAP(0x74) BAD_TRAP(0x75) BAD_TRAP(0x76) BAD_TRAP(0x77) BAD_TRAP(0x78) |
159 | t_bad79:BAD_TRAP(0x79) BAD_TRAP(0x7a) BAD_TRAP(0x7b) BAD_TRAP(0x7c) BAD_TRAP(0x7d) | 154 | t_bad79:BAD_TRAP(0x79) BAD_TRAP(0x7a) BAD_TRAP(0x7b) BAD_TRAP(0x7c) BAD_TRAP(0x7d) |
160 | t_bad7e:BAD_TRAP(0x7e) BAD_TRAP(0x7f) | 155 | t_bad7e:BAD_TRAP(0x7e) BAD_TRAP(0x7f) |
161 | t_sunos:SUNOS_SYSCALL_TRAP /* SunOS System Call */ | 156 | t_bad80:BAD_TRAP(0x80) /* SunOS System Call */ |
162 | t_sbkpt:BREAKPOINT_TRAP /* Software Breakpoint/KGDB */ | 157 | t_sbkpt:BREAKPOINT_TRAP /* Software Breakpoint/KGDB */ |
163 | t_divz: TRAP_ENTRY(0x82, do_hw_divzero) /* Divide by zero trap */ | 158 | t_divz: TRAP_ENTRY(0x82, do_hw_divzero) /* Divide by zero trap */ |
164 | t_flwin:TRAP_ENTRY(0x83, do_flush_windows) /* Flush Windows Trap */ | 159 | t_flwin:TRAP_ENTRY(0x83, do_flush_windows) /* Flush Windows Trap */ |
@@ -166,8 +161,8 @@ t_clwin:BAD_TRAP(0x84) /* Clean Windows Trap */ | |||
166 | t_rchk: BAD_TRAP(0x85) /* Range Check */ | 161 | t_rchk: BAD_TRAP(0x85) /* Range Check */ |
167 | t_funal:BAD_TRAP(0x86) /* Fix Unaligned Access Trap */ | 162 | t_funal:BAD_TRAP(0x86) /* Fix Unaligned Access Trap */ |
168 | t_iovf: BAD_TRAP(0x87) /* Integer Overflow Trap */ | 163 | t_iovf: BAD_TRAP(0x87) /* Integer Overflow Trap */ |
169 | t_slowl:SOLARIS_SYSCALL_TRAP /* Slowaris System Call */ | 164 | t_bad88:BAD_TRAP(0x88) /* Slowaris System Call */ |
170 | t_netbs:NETBSD_SYSCALL_TRAP /* Net-B.S. System Call */ | 165 | t_bad89:BAD_TRAP(0x89) /* Net-B.S. System Call */ |
171 | t_bad8a:BAD_TRAP(0x8a) BAD_TRAP(0x8b) BAD_TRAP(0x8c) BAD_TRAP(0x8d) BAD_TRAP(0x8e) | 166 | t_bad8a:BAD_TRAP(0x8a) BAD_TRAP(0x8b) BAD_TRAP(0x8c) BAD_TRAP(0x8d) BAD_TRAP(0x8e) |
172 | t_bad8f:BAD_TRAP(0x8f) | 167 | t_bad8f:BAD_TRAP(0x8f) |
173 | t_linux:LINUX_SYSCALL_TRAP /* Linux System Call */ | 168 | t_linux:LINUX_SYSCALL_TRAP /* Linux System Call */ |
@@ -178,7 +173,7 @@ t_getcc:GETCC_TRAP /* Get Condition Codes */ | |||
178 | t_setcc:SETCC_TRAP /* Set Condition Codes */ | 173 | t_setcc:SETCC_TRAP /* Set Condition Codes */ |
179 | t_getpsr:GETPSR_TRAP /* Get PSR Register */ | 174 | t_getpsr:GETPSR_TRAP /* Get PSR Register */ |
180 | t_bada3:BAD_TRAP(0xa3) BAD_TRAP(0xa4) BAD_TRAP(0xa5) BAD_TRAP(0xa6) | 175 | t_bada3:BAD_TRAP(0xa3) BAD_TRAP(0xa4) BAD_TRAP(0xa5) BAD_TRAP(0xa6) |
181 | t_slowi:INDIRECT_SOLARIS_SYSCALL(156) | 176 | t_bada7:BAD_TRAP(0xa7) |
182 | t_bada8:BAD_TRAP(0xa8) BAD_TRAP(0xa9) BAD_TRAP(0xaa) BAD_TRAP(0xab) | 177 | t_bada8:BAD_TRAP(0xa8) BAD_TRAP(0xa9) BAD_TRAP(0xaa) BAD_TRAP(0xab) |
183 | t_badac:BAD_TRAP(0xac) BAD_TRAP(0xad) BAD_TRAP(0xae) BAD_TRAP(0xaf) BAD_TRAP(0xb0) | 178 | t_badac:BAD_TRAP(0xac) BAD_TRAP(0xad) BAD_TRAP(0xae) BAD_TRAP(0xaf) BAD_TRAP(0xb0) |
184 | t_badb1:BAD_TRAP(0xb1) BAD_TRAP(0xb2) BAD_TRAP(0xb3) BAD_TRAP(0xb4) BAD_TRAP(0xb5) | 179 | t_badb1:BAD_TRAP(0xb1) BAD_TRAP(0xb2) BAD_TRAP(0xb3) BAD_TRAP(0xb4) BAD_TRAP(0xb5) |
@@ -243,19 +238,19 @@ trapbase_cpu1: | |||
243 | BAD_TRAP(0x74) BAD_TRAP(0x75) BAD_TRAP(0x76) BAD_TRAP(0x77) BAD_TRAP(0x78) | 238 | BAD_TRAP(0x74) BAD_TRAP(0x75) BAD_TRAP(0x76) BAD_TRAP(0x77) BAD_TRAP(0x78) |
244 | BAD_TRAP(0x79) BAD_TRAP(0x7a) BAD_TRAP(0x7b) BAD_TRAP(0x7c) BAD_TRAP(0x7d) | 239 | BAD_TRAP(0x79) BAD_TRAP(0x7a) BAD_TRAP(0x7b) BAD_TRAP(0x7c) BAD_TRAP(0x7d) |
245 | BAD_TRAP(0x7e) BAD_TRAP(0x7f) | 240 | BAD_TRAP(0x7e) BAD_TRAP(0x7f) |
246 | SUNOS_SYSCALL_TRAP | 241 | BAD_TRAP(0x80) |
247 | BREAKPOINT_TRAP | 242 | BREAKPOINT_TRAP |
248 | TRAP_ENTRY(0x82, do_hw_divzero) | 243 | TRAP_ENTRY(0x82, do_hw_divzero) |
249 | TRAP_ENTRY(0x83, do_flush_windows) BAD_TRAP(0x84) BAD_TRAP(0x85) | 244 | TRAP_ENTRY(0x83, do_flush_windows) BAD_TRAP(0x84) BAD_TRAP(0x85) |
250 | BAD_TRAP(0x86) BAD_TRAP(0x87) SOLARIS_SYSCALL_TRAP | 245 | BAD_TRAP(0x86) BAD_TRAP(0x87) BAD_TRAP(0x88) |
251 | NETBSD_SYSCALL_TRAP BAD_TRAP(0x8a) BAD_TRAP(0x8b) BAD_TRAP(0x8c) | 246 | BAD_TRAP(0x89) BAD_TRAP(0x8a) BAD_TRAP(0x8b) BAD_TRAP(0x8c) |
252 | BAD_TRAP(0x8d) BAD_TRAP(0x8e) BAD_TRAP(0x8f) | 247 | BAD_TRAP(0x8d) BAD_TRAP(0x8e) BAD_TRAP(0x8f) |
253 | LINUX_SYSCALL_TRAP BAD_TRAP(0x91) BAD_TRAP(0x92) BAD_TRAP(0x93) BAD_TRAP(0x94) | 248 | LINUX_SYSCALL_TRAP BAD_TRAP(0x91) BAD_TRAP(0x92) BAD_TRAP(0x93) BAD_TRAP(0x94) |
254 | BAD_TRAP(0x95) BAD_TRAP(0x96) BAD_TRAP(0x97) BAD_TRAP(0x98) BAD_TRAP(0x99) | 249 | BAD_TRAP(0x95) BAD_TRAP(0x96) BAD_TRAP(0x97) BAD_TRAP(0x98) BAD_TRAP(0x99) |
255 | BAD_TRAP(0x9a) BAD_TRAP(0x9b) BAD_TRAP(0x9c) BAD_TRAP(0x9d) BAD_TRAP(0x9e) | 250 | BAD_TRAP(0x9a) BAD_TRAP(0x9b) BAD_TRAP(0x9c) BAD_TRAP(0x9d) BAD_TRAP(0x9e) |
256 | BAD_TRAP(0x9f) GETCC_TRAP SETCC_TRAP GETPSR_TRAP | 251 | BAD_TRAP(0x9f) GETCC_TRAP SETCC_TRAP GETPSR_TRAP |
257 | BAD_TRAP(0xa3) BAD_TRAP(0xa4) BAD_TRAP(0xa5) BAD_TRAP(0xa6) | 252 | BAD_TRAP(0xa3) BAD_TRAP(0xa4) BAD_TRAP(0xa5) BAD_TRAP(0xa6) |
258 | INDIRECT_SOLARIS_SYSCALL(156) BAD_TRAP(0xa8) BAD_TRAP(0xa9) BAD_TRAP(0xaa) BAD_TRAP(0xab) | 253 | BAD_TRAP(0xa7) BAD_TRAP(0xa8) BAD_TRAP(0xa9) BAD_TRAP(0xaa) BAD_TRAP(0xab) |
259 | BAD_TRAP(0xac) BAD_TRAP(0xad) BAD_TRAP(0xae) BAD_TRAP(0xaf) BAD_TRAP(0xb0) | 254 | BAD_TRAP(0xac) BAD_TRAP(0xad) BAD_TRAP(0xae) BAD_TRAP(0xaf) BAD_TRAP(0xb0) |
260 | BAD_TRAP(0xb1) BAD_TRAP(0xb2) BAD_TRAP(0xb3) BAD_TRAP(0xb4) BAD_TRAP(0xb5) | 255 | BAD_TRAP(0xb1) BAD_TRAP(0xb2) BAD_TRAP(0xb3) BAD_TRAP(0xb4) BAD_TRAP(0xb5) |
261 | BAD_TRAP(0xb6) BAD_TRAP(0xb7) BAD_TRAP(0xb8) BAD_TRAP(0xb9) BAD_TRAP(0xba) | 256 | BAD_TRAP(0xb6) BAD_TRAP(0xb7) BAD_TRAP(0xb8) BAD_TRAP(0xb9) BAD_TRAP(0xba) |
@@ -311,19 +306,19 @@ trapbase_cpu2: | |||
311 | BAD_TRAP(0x74) BAD_TRAP(0x75) BAD_TRAP(0x76) BAD_TRAP(0x77) BAD_TRAP(0x78) | 306 | BAD_TRAP(0x74) BAD_TRAP(0x75) BAD_TRAP(0x76) BAD_TRAP(0x77) BAD_TRAP(0x78) |
312 | BAD_TRAP(0x79) BAD_TRAP(0x7a) BAD_TRAP(0x7b) BAD_TRAP(0x7c) BAD_TRAP(0x7d) | 307 | BAD_TRAP(0x79) BAD_TRAP(0x7a) BAD_TRAP(0x7b) BAD_TRAP(0x7c) BAD_TRAP(0x7d) |
313 | BAD_TRAP(0x7e) BAD_TRAP(0x7f) | 308 | BAD_TRAP(0x7e) BAD_TRAP(0x7f) |
314 | SUNOS_SYSCALL_TRAP | 309 | BAD_TRAP(0x80) |
315 | BREAKPOINT_TRAP | 310 | BREAKPOINT_TRAP |
316 | TRAP_ENTRY(0x82, do_hw_divzero) | 311 | TRAP_ENTRY(0x82, do_hw_divzero) |
317 | TRAP_ENTRY(0x83, do_flush_windows) BAD_TRAP(0x84) BAD_TRAP(0x85) | 312 | TRAP_ENTRY(0x83, do_flush_windows) BAD_TRAP(0x84) BAD_TRAP(0x85) |
318 | BAD_TRAP(0x86) BAD_TRAP(0x87) SOLARIS_SYSCALL_TRAP | 313 | BAD_TRAP(0x86) BAD_TRAP(0x87) BAD_TRAP(0x88) |
319 | NETBSD_SYSCALL_TRAP BAD_TRAP(0x8a) BAD_TRAP(0x8b) BAD_TRAP(0x8c) | 314 | BAD_TRAP(0x89) BAD_TRAP(0x8a) BAD_TRAP(0x8b) BAD_TRAP(0x8c) |
320 | BAD_TRAP(0x8d) BAD_TRAP(0x8e) BAD_TRAP(0x8f) | 315 | BAD_TRAP(0x8d) BAD_TRAP(0x8e) BAD_TRAP(0x8f) |
321 | LINUX_SYSCALL_TRAP BAD_TRAP(0x91) BAD_TRAP(0x92) BAD_TRAP(0x93) BAD_TRAP(0x94) | 316 | LINUX_SYSCALL_TRAP BAD_TRAP(0x91) BAD_TRAP(0x92) BAD_TRAP(0x93) BAD_TRAP(0x94) |
322 | BAD_TRAP(0x95) BAD_TRAP(0x96) BAD_TRAP(0x97) BAD_TRAP(0x98) BAD_TRAP(0x99) | 317 | BAD_TRAP(0x95) BAD_TRAP(0x96) BAD_TRAP(0x97) BAD_TRAP(0x98) BAD_TRAP(0x99) |
323 | BAD_TRAP(0x9a) BAD_TRAP(0x9b) BAD_TRAP(0x9c) BAD_TRAP(0x9d) BAD_TRAP(0x9e) | 318 | BAD_TRAP(0x9a) BAD_TRAP(0x9b) BAD_TRAP(0x9c) BAD_TRAP(0x9d) BAD_TRAP(0x9e) |
324 | BAD_TRAP(0x9f) GETCC_TRAP SETCC_TRAP GETPSR_TRAP | 319 | BAD_TRAP(0x9f) GETCC_TRAP SETCC_TRAP GETPSR_TRAP |
325 | BAD_TRAP(0xa3) BAD_TRAP(0xa4) BAD_TRAP(0xa5) BAD_TRAP(0xa6) | 320 | BAD_TRAP(0xa3) BAD_TRAP(0xa4) BAD_TRAP(0xa5) BAD_TRAP(0xa6) |
326 | INDIRECT_SOLARIS_SYSCALL(156) BAD_TRAP(0xa8) BAD_TRAP(0xa9) BAD_TRAP(0xaa) BAD_TRAP(0xab) | 321 | BAD_TRAP(0xa7) BAD_TRAP(0xa8) BAD_TRAP(0xa9) BAD_TRAP(0xaa) BAD_TRAP(0xab) |
327 | BAD_TRAP(0xac) BAD_TRAP(0xad) BAD_TRAP(0xae) BAD_TRAP(0xaf) BAD_TRAP(0xb0) | 322 | BAD_TRAP(0xac) BAD_TRAP(0xad) BAD_TRAP(0xae) BAD_TRAP(0xaf) BAD_TRAP(0xb0) |
328 | BAD_TRAP(0xb1) BAD_TRAP(0xb2) BAD_TRAP(0xb3) BAD_TRAP(0xb4) BAD_TRAP(0xb5) | 323 | BAD_TRAP(0xb1) BAD_TRAP(0xb2) BAD_TRAP(0xb3) BAD_TRAP(0xb4) BAD_TRAP(0xb5) |
329 | BAD_TRAP(0xb6) BAD_TRAP(0xb7) BAD_TRAP(0xb8) BAD_TRAP(0xb9) BAD_TRAP(0xba) | 324 | BAD_TRAP(0xb6) BAD_TRAP(0xb7) BAD_TRAP(0xb8) BAD_TRAP(0xb9) BAD_TRAP(0xba) |
@@ -379,19 +374,19 @@ trapbase_cpu3: | |||
379 | BAD_TRAP(0x74) BAD_TRAP(0x75) BAD_TRAP(0x76) BAD_TRAP(0x77) BAD_TRAP(0x78) | 374 | BAD_TRAP(0x74) BAD_TRAP(0x75) BAD_TRAP(0x76) BAD_TRAP(0x77) BAD_TRAP(0x78) |
380 | BAD_TRAP(0x79) BAD_TRAP(0x7a) BAD_TRAP(0x7b) BAD_TRAP(0x7c) BAD_TRAP(0x7d) | 375 | BAD_TRAP(0x79) BAD_TRAP(0x7a) BAD_TRAP(0x7b) BAD_TRAP(0x7c) BAD_TRAP(0x7d) |
381 | BAD_TRAP(0x7e) BAD_TRAP(0x7f) | 376 | BAD_TRAP(0x7e) BAD_TRAP(0x7f) |
382 | SUNOS_SYSCALL_TRAP | 377 | BAD_TRAP(0x80) |
383 | BREAKPOINT_TRAP | 378 | BREAKPOINT_TRAP |
384 | TRAP_ENTRY(0x82, do_hw_divzero) | 379 | TRAP_ENTRY(0x82, do_hw_divzero) |
385 | TRAP_ENTRY(0x83, do_flush_windows) BAD_TRAP(0x84) BAD_TRAP(0x85) | 380 | TRAP_ENTRY(0x83, do_flush_windows) BAD_TRAP(0x84) BAD_TRAP(0x85) |
386 | BAD_TRAP(0x86) BAD_TRAP(0x87) SOLARIS_SYSCALL_TRAP | 381 | BAD_TRAP(0x86) BAD_TRAP(0x87) BAD_TRAP(0x88) |
387 | NETBSD_SYSCALL_TRAP BAD_TRAP(0x8a) BAD_TRAP(0x8b) BAD_TRAP(0x8c) | 382 | BAD_TRAP(0x89) BAD_TRAP(0x8a) BAD_TRAP(0x8b) BAD_TRAP(0x8c) |
388 | BAD_TRAP(0x8d) BAD_TRAP(0x8e) BAD_TRAP(0x8f) | 383 | BAD_TRAP(0x8d) BAD_TRAP(0x8e) BAD_TRAP(0x8f) |
389 | LINUX_SYSCALL_TRAP BAD_TRAP(0x91) BAD_TRAP(0x92) BAD_TRAP(0x93) BAD_TRAP(0x94) | 384 | LINUX_SYSCALL_TRAP BAD_TRAP(0x91) BAD_TRAP(0x92) BAD_TRAP(0x93) BAD_TRAP(0x94) |
390 | BAD_TRAP(0x95) BAD_TRAP(0x96) BAD_TRAP(0x97) BAD_TRAP(0x98) BAD_TRAP(0x99) | 385 | BAD_TRAP(0x95) BAD_TRAP(0x96) BAD_TRAP(0x97) BAD_TRAP(0x98) BAD_TRAP(0x99) |
391 | BAD_TRAP(0x9a) BAD_TRAP(0x9b) BAD_TRAP(0x9c) BAD_TRAP(0x9d) BAD_TRAP(0x9e) | 386 | BAD_TRAP(0x9a) BAD_TRAP(0x9b) BAD_TRAP(0x9c) BAD_TRAP(0x9d) BAD_TRAP(0x9e) |
392 | BAD_TRAP(0x9f) GETCC_TRAP SETCC_TRAP GETPSR_TRAP | 387 | BAD_TRAP(0x9f) GETCC_TRAP SETCC_TRAP GETPSR_TRAP |
393 | BAD_TRAP(0xa3) BAD_TRAP(0xa4) BAD_TRAP(0xa5) BAD_TRAP(0xa6) | 388 | BAD_TRAP(0xa3) BAD_TRAP(0xa4) BAD_TRAP(0xa5) BAD_TRAP(0xa6) |
394 | INDIRECT_SOLARIS_SYSCALL(156) BAD_TRAP(0xa8) BAD_TRAP(0xa9) BAD_TRAP(0xaa) BAD_TRAP(0xab) | 389 | BAD_TRAP(0xa7) BAD_TRAP(0xa8) BAD_TRAP(0xa9) BAD_TRAP(0xaa) BAD_TRAP(0xab) |
395 | BAD_TRAP(0xac) BAD_TRAP(0xad) BAD_TRAP(0xae) BAD_TRAP(0xaf) BAD_TRAP(0xb0) | 390 | BAD_TRAP(0xac) BAD_TRAP(0xad) BAD_TRAP(0xae) BAD_TRAP(0xaf) BAD_TRAP(0xb0) |
396 | BAD_TRAP(0xb1) BAD_TRAP(0xb2) BAD_TRAP(0xb3) BAD_TRAP(0xb4) BAD_TRAP(0xb5) | 391 | BAD_TRAP(0xb1) BAD_TRAP(0xb2) BAD_TRAP(0xb3) BAD_TRAP(0xb4) BAD_TRAP(0xb5) |
397 | BAD_TRAP(0xb6) BAD_TRAP(0xb7) BAD_TRAP(0xb8) BAD_TRAP(0xb9) BAD_TRAP(0xba) | 392 | BAD_TRAP(0xb6) BAD_TRAP(0xb7) BAD_TRAP(0xb8) BAD_TRAP(0xb9) BAD_TRAP(0xba) |