1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* ttable.S: Sparc V9 Trap Table(s) with SpitF 3 * 4 * Copyright (C) 1996, 2001, 2006 David S. Mil 5 */ 6 7 8 .globl sparc64_ttable_tl0, sparc64_tt 9 .globl tl0_icpe, tl1_icpe 10 .globl tl0_dcpe, tl1_dcpe 11 .globl tl0_fecc, tl1_fecc 12 .globl tl0_cee, tl1_cee 13 .globl tl0_iae, tl1_iae 14 .globl tl0_dae, tl1_dae 15 16 sparc64_ttable_tl0: 17 tl0_resv000: BOOT_KERNEL BTRAP(0x1) BTRAP(0 18 tl0_resv004: BTRAP(0x4) BTRAP(0x5) BTRAP(0 19 tl0_iax: membar #Sync 20 TRAP_NOSAVE_7INSNS(__spitfire_ 21 tl0_itsb_4v: SUN4V_ITSB_MISS 22 tl0_iae: membar #Sync 23 TRAP_NOSAVE_7INSNS(__spitfire_ 24 tl0_resv00b: BTRAP(0xb) BTRAP(0xc) BTRAP(0x 25 tl0_ill: membar #Sync 26 TRAP_7INSNS(do_illegal_instruc 27 tl0_privop: TRAP(do_privop) 28 tl0_resv012: BTRAP(0x12) BTRAP(0x13) BTRAP( 29 tl0_resv018: BTRAP(0x18) BTRAP(0x19) 30 tl0_mcd: SUN4V_MCD_PRECISE 31 tl0_resv01b: BTRAP(0x1b) 32 tl0_resv01c: BTRAP(0x1c) BTRAP(0x1d) BTRAP( 33 tl0_fpdis: TRAP_NOSAVE(do_fpdis) 34 tl0_fpieee: TRAP_SAVEFPU(do_fpieee) 35 tl0_fpother: TRAP_NOSAVE(do_fpother_check_f 36 tl0_tof: TRAP(do_tof) 37 tl0_cwin: CLEAN_WINDOW 38 tl0_div0: TRAP(do_div0) 39 tl0_resv029: BTRAP(0x29) BTRAP(0x2a) BTRAP( 40 tl0_resv02f: BTRAP(0x2f) 41 tl0_dax: TRAP_NOSAVE(__spitfire_data_ac 42 tl0_dtsb_4v: SUN4V_DTSB_MISS 43 tl0_dae: membar #Sync 44 TRAP_NOSAVE_7INSNS(__spitfire_ 45 tl0_resv033: BTRAP(0x33) 46 tl0_mna: TRAP_NOSAVE(do_mna) 47 tl0_lddfmna: TRAP_NOSAVE(do_lddfmna) 48 tl0_stdfmna: TRAP_NOSAVE(do_stdfmna) 49 tl0_privact: TRAP_NOSAVE(__do_privact) 50 tl0_resv038: BTRAP(0x38) BTRAP(0x39) BTRAP( 51 tl0_resv03e: BTRAP(0x3e) BTRAP(0x3f) BTRAP( 52 #ifdef CONFIG_SMP 53 tl0_irq1: TRAP_IRQ(smp_call_function_cli 54 tl0_irq2: TRAP_IRQ(smp_receive_signal_cl 55 tl0_irq3: TRAP_IRQ(smp_penguin_jailcell, 56 tl0_irq4: BTRAP(0x44) 57 #else 58 tl0_irq1: BTRAP(0x41) 59 tl0_irq2: BTRAP(0x42) 60 tl0_irq3: BTRAP(0x43) 61 tl0_irq4: BTRAP(0x44) 62 #endif 63 tl0_irq5: TRAP_IRQ(handler_irq, 5) 64 #ifdef CONFIG_SMP 65 tl0_irq6: TRAP_IRQ(smp_call_function_sin 66 #else 67 tl0_irq6: BTRAP(0x46) 68 #endif 69 tl0_irq7: TRAP_IRQ(deferred_pcr_work_irq 70 #if defined(CONFIG_KGDB) && defined(CONFIG_SMP 71 tl0_irq8: TRAP_IRQ(smp_kgdb_capture_clie 72 #else 73 tl0_irq8: BTRAP(0x48) 74 #endif 75 tl0_irq9: BTRAP(0x49) 76 tl0_irq10: BTRAP(0x4a) BTRAP(0x4b) BTRAP( 77 tl0_irq14: TRAP_IRQ(timer_interrupt, 14) 78 tl0_irq15: TRAP_NMI_IRQ(perfctr_irq, 15) 79 tl0_resv050: BTRAP(0x50) BTRAP(0x51) BTRAP( 80 tl0_resv056: BTRAP(0x56) BTRAP(0x57) BTRAP( 81 tl0_resv05c: BTRAP(0x5c) BTRAP(0x5d) BTRAP( 82 tl0_ivec: TRAP_IVEC 83 tl0_paw: TRAP(do_paw) 84 tl0_vaw: TRAP(do_vaw) 85 tl0_cee: membar #Sync 86 TRAP_NOSAVE_7INSNS(__spitfire_ 87 tl0_iamiss: 88 #include "itlb_miss.S" 89 tl0_damiss: 90 #include "dtlb_miss.S" 91 tl0_daprot: 92 #include "dtlb_prot.S" 93 tl0_fecc: BTRAP(0x70) /* Fast-ECC on 94 tl0_dcpe: BTRAP(0x71) /* D-cache Par 95 tl0_icpe: BTRAP(0x72) /* I-cache Par 96 tl0_resv073: BTRAP(0x73) BTRAP(0x74) BTRAP( 97 tl0_resv076: BTRAP(0x76) BTRAP(0x77) BTRAP( 98 tl0_cpu_mondo: TRAP_NOSAVE(sun4v_cpu_mondo) 99 tl0_dev_mondo: TRAP_NOSAVE(sun4v_dev_mondo) 100 tl0_res_mondo: TRAP_NOSAVE(sun4v_res_mondo) 101 tl0_nres_mondo: TRAP_NOSAVE(sun4v_nonres_mondo 102 tl0_s0n: SPILL_0_NORMAL 103 tl0_s1n: SPILL_1_NORMAL 104 tl0_s2n: SPILL_2_NORMAL 105 tl0_s3n: SPILL_0_NORMAL_ETRAP 106 tl0_s4n: SPILL_1_GENERIC_ETRAP 107 tl0_s5n: SPILL_1_GENERIC_ETRAP_FIXUP 108 tl0_s6n: SPILL_2_GENERIC_ETRAP 109 tl0_s7n: SPILL_2_GENERIC_ETRAP_FIXUP 110 tl0_s0o: SPILL_0_OTHER 111 tl0_s1o: SPILL_1_OTHER 112 tl0_s2o: SPILL_2_OTHER 113 tl0_s3o: SPILL_3_OTHER 114 tl0_s4o: SPILL_4_OTHER 115 tl0_s5o: SPILL_5_OTHER 116 tl0_s6o: SPILL_6_OTHER 117 tl0_s7o: SPILL_7_OTHER 118 tl0_f0n: FILL_0_NORMAL 119 tl0_f1n: FILL_1_NORMAL 120 tl0_f2n: FILL_2_NORMAL 121 tl0_f3n: FILL_3_NORMAL 122 tl0_f4n: FILL_4_NORMAL 123 tl0_f5n: FILL_0_NORMAL_RTRAP 124 tl0_f6n: FILL_1_GENERIC_RTRAP 125 tl0_f7n: FILL_2_GENERIC_RTRAP 126 tl0_f0o: FILL_0_OTHER 127 tl0_f1o: FILL_1_OTHER 128 tl0_f2o: FILL_2_OTHER 129 tl0_f3o: FILL_3_OTHER 130 tl0_f4o: FILL_4_OTHER 131 tl0_f5o: FILL_5_OTHER 132 tl0_f6o: FILL_6_OTHER 133 tl0_f7o: FILL_7_OTHER 134 tl0_resv100: BTRAP(0x100) 135 tl0_bkpt: BREAKPOINT_TRAP 136 tl0_divz: TRAP(do_div0) 137 tl0_flushw: FLUSH_WINDOW_TRAP 138 tl0_resv104: BTRAP(0x104) BTRAP(0x105) BTRA 139 tl0_resv109: BTRAP(0x109) BTRAP(0x10a) BTRA 140 tl0_resv10e: BTRAP(0x10e) BTRAP(0x10f) 141 tl0_linux32: LINUX_32BIT_SYSCALL_TRAP 142 tl0_oldlinux64: LINUX_64BIT_SYSCALL_TRAP 143 tl0_resv112: TRAP_UTRAP(UT_TRAP_INSTRUCTION 144 tl0_resv114: TRAP_UTRAP(UT_TRAP_INSTRUCTION 145 tl0_resv116: TRAP_UTRAP(UT_TRAP_INSTRUCTION 146 tl0_resv118: TRAP_UTRAP(UT_TRAP_INSTRUCTION 147 tl0_resv11a: TRAP_UTRAP(UT_TRAP_INSTRUCTION 148 tl0_resv11c: TRAP_UTRAP(UT_TRAP_INSTRUCTION 149 tl0_resv11e: TRAP_UTRAP(UT_TRAP_INSTRUCTION 150 tl0_getcc: GETCC_TRAP 151 tl0_setcc: SETCC_TRAP 152 tl0_getpsr: TRAP(do_getpsr) 153 tl0_resv123: BTRAP(0x123) BTRAP(0x124) BTRA 154 tl0_resv128: BTRAP(0x128) BTRAP(0x129) BTRA 155 tl0_resv12d: BTRAP(0x12d) BTRAP(0x12e) BTRA 156 tl0_resv132: BTRAP(0x132) BTRAP(0x133) BTRA 157 tl0_resv137: BTRAP(0x137) BTRAP(0x138) BTRA 158 tl0_resv13c: BTRAP(0x13c) BTRAP(0x13d) BTRA 159 tl0_resv141: BTRAP(0x141) BTRAP(0x142) BTRA 160 tl0_resv146: BTRAP(0x146) BTRAP(0x147) BTRA 161 tl0_resv14b: BTRAP(0x14b) BTRAP(0x14c) BTRA 162 tl0_resv150: BTRAP(0x150) BTRAP(0x151) BTRA 163 tl0_resv155: BTRAP(0x155) BTRAP(0x156) BTRA 164 tl0_resv15a: BTRAP(0x15a) BTRAP(0x15b) BTRA 165 tl0_resv15f: BTRAP(0x15f) BTRAP(0x160) BTRA 166 tl0_resv164: BTRAP(0x164) BTRAP(0x165) BTRA 167 tl0_resv169: BTRAP(0x169) BTRAP(0x16a) BTRA 168 tl0_linux64: LINUX_64BIT_SYSCALL_TRAP 169 tl0_gsctx: TRAP(sparc64_get_context) TRAP 170 tl0_resv170: KPROBES_TRAP(0x170) KPROBES_TR 171 tl0_resv173: UPROBES_TRAP(0x173) UPROBES_TR 172 tl0_resv178: BTRAP(0x178) BTRAP(0x179) BTRA 173 tl0_resv17d: BTRAP(0x17d) BTRAP(0x17e) BTRA 174 #define BTRAPS(x) BTRAP(x) BTRAP(x+1) BTRAP(x+ 175 tl0_resv180: BTRAPS(0x180) BTRAPS(0x188) 176 tl0_resv190: BTRAPS(0x190) BTRAPS(0x198) 177 tl0_resv1a0: BTRAPS(0x1a0) BTRAPS(0x1a8) 178 tl0_resv1b0: BTRAPS(0x1b0) BTRAPS(0x1b8) 179 tl0_resv1c0: BTRAPS(0x1c0) BTRAPS(0x1c8) 180 tl0_resv1d0: BTRAPS(0x1d0) BTRAPS(0x1d8) 181 tl0_resv1e0: BTRAPS(0x1e0) BTRAPS(0x1e8) 182 tl0_resv1f0: BTRAPS(0x1f0) BTRAPS(0x1f8) 183 184 sparc64_ttable_tl1: 185 tl1_resv000: BOOT_KERNEL BTRAPTL1(0x1) B 186 tl1_resv004: BTRAPTL1(0x4) BTRAPTL1(0x5) B 187 tl1_iax: TRAP_NOSAVE(__spitfire_insn_ac 188 tl1_itsb_4v: SUN4V_ITSB_MISS 189 tl1_iae: membar #Sync 190 TRAP_NOSAVE_7INSNS(__spitfire_ 191 tl1_resv00b: BTRAPTL1(0xb) BTRAPTL1(0xc) BT 192 tl1_ill: TRAPTL1(do_ill_tl1) 193 tl1_privop: BTRAPTL1(0x11) 194 tl1_resv012: BTRAPTL1(0x12) BTRAPTL1(0x13) 195 tl1_resv016: BTRAPTL1(0x16) BTRAPTL1(0x17) 196 tl1_resv01a: BTRAPTL1(0x1a) BTRAPTL1(0x1b) 197 tl1_resv01e: BTRAPTL1(0x1e) BTRAPTL1(0x1f) 198 tl1_fpdis: TRAP_NOSAVE(do_fpdis) 199 tl1_fpieee: TRAPTL1(do_fpieee_tl1) 200 tl1_fpother: TRAPTL1(do_fpother_tl1) 201 tl1_tof: TRAPTL1(do_tof_tl1) 202 tl1_cwin: CLEAN_WINDOW 203 tl1_div0: TRAPTL1(do_div0_tl1) 204 tl1_resv029: BTRAPTL1(0x29) BTRAPTL1(0x2a) 205 tl1_resv02d: BTRAPTL1(0x2d) BTRAPTL1(0x2e) 206 tl1_dax: TRAP_NOSAVE(__spitfire_data_ac 207 tl1_dtsb_4v: SUN4V_DTSB_MISS 208 tl1_dae: membar #Sync 209 TRAP_NOSAVE_7INSNS(__spitfire_ 210 tl1_resv033: BTRAPTL1(0x33) 211 tl1_mna: TRAP_NOSAVE(do_mna) 212 tl1_lddfmna: TRAPTL1(do_lddfmna_tl1) 213 tl1_stdfmna: TRAPTL1(do_stdfmna_tl1) 214 tl1_privact: BTRAPTL1(0x37) 215 tl1_resv038: BTRAPTL1(0x38) BTRAPTL1(0x39) 216 tl1_resv03c: BTRAPTL1(0x3c) BTRAPTL1(0x3d) 217 tl1_resv040: BTRAPTL1(0x40) 218 tl1_irq1: TRAP_IRQ(do_irq_tl1, 1) TRAP_ 219 tl1_irq4: TRAP_IRQ(do_irq_tl1, 4) TRAP_ 220 tl1_irq7: TRAP_IRQ(do_irq_tl1, 7) TRAP_ 221 tl1_irq10: TRAP_IRQ(do_irq_tl1, 10) TRAP_ 222 tl1_irq12: TRAP_IRQ(do_irq_tl1, 12) TRAP_ 223 tl1_irq14: TRAP_IRQ(do_irq_tl1, 14) TRAP_ 224 tl1_resv050: BTRAPTL1(0x50) BTRAPTL1(0x51) 225 tl1_resv054: BTRAPTL1(0x54) BTRAPTL1(0x55) 226 tl1_resv058: BTRAPTL1(0x58) BTRAPTL1(0x59) 227 tl1_resv05c: BTRAPTL1(0x5c) BTRAPTL1(0x5d) 228 tl1_ivec: TRAP_IVEC 229 tl1_paw: TRAPTL1(do_paw_tl1) 230 tl1_vaw: TRAPTL1(do_vaw_tl1) 231 tl1_cee: BTRAPTL1(0x63) 232 tl1_iamiss: BTRAPTL1(0x64) BTRAPTL1(0x65) 233 tl1_damiss: 234 #include "dtlb_miss.S" 235 tl1_daprot: 236 #include "dtlb_prot.S" 237 tl1_fecc: BTRAPTL1(0x70) /* Fast-ECC on 238 tl1_dcpe: BTRAPTL1(0x71) /* D-cache Par 239 tl1_icpe: BTRAPTL1(0x72) /* I-cache Par 240 tl1_resv073: BTRAPTL1(0x73) 241 tl1_resv074: BTRAPTL1(0x74) BTRAPTL1(0x75) 242 tl1_resv078: BTRAPTL1(0x78) BTRAPTL1(0x79) 243 tl1_resv07c: BTRAPTL1(0x7c) BTRAPTL1(0x7d) 244 tl1_s0n: SPILL_0_NORMAL 245 tl1_s1n: SPILL_1_NORMAL 246 tl1_s2n: SPILL_2_NORMAL 247 tl1_s3n: SPILL_3_NORMAL 248 tl1_s4n: SPILL_4_NORMAL 249 tl1_s5n: SPILL_5_NORMAL 250 tl1_s6n: SPILL_6_NORMAL 251 tl1_s7n: SPILL_7_NORMAL 252 tl1_s0o: SPILL_0_OTHER 253 tl1_s1o: SPILL_1_OTHER 254 tl1_s2o: SPILL_2_OTHER 255 tl1_s3o: SPILL_3_OTHER 256 tl1_s4o: SPILL_4_OTHER 257 tl1_s5o: SPILL_5_OTHER 258 tl1_s6o: SPILL_6_OTHER 259 tl1_s7o: SPILL_7_OTHER 260 tl1_f0n: FILL_0_NORMAL 261 tl1_f1n: FILL_1_NORMAL 262 tl1_f2n: FILL_2_NORMAL 263 tl1_f3n: FILL_3_NORMAL 264 tl1_f4n: FILL_4_NORMAL 265 tl1_f5n: FILL_5_NORMAL 266 tl1_f6n: FILL_6_NORMAL 267 tl1_f7n: FILL_7_NORMAL 268 tl1_f0o: FILL_0_OTHER 269 tl1_f1o: FILL_1_OTHER 270 tl1_f2o: FILL_2_OTHER 271 tl1_f3o: FILL_3_OTHER 272 tl1_f4o: FILL_4_OTHER 273 tl1_f5o: FILL_5_OTHER 274 tl1_f6o: FILL_6_OTHER 275 tl1_f7o: FILL_7_OTHER
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.