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