ttable_32.S 21 KB

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