arch/sparc/kernel/ttable_64.S

Source file repositories/reference/linux-study-clean/arch/sparc/kernel/ttable_64.S

File Facts

System
Linux kernel
Corpus path
arch/sparc/kernel/ttable_64.S
Extension
.S
Size
11128 bytes
Lines
276
Domain
Architecture Layer
Bucket
arch/sparc
Inferred role
Architecture Layer: arch/sparc
Status
atlas-only

Why This File Exists

CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.

Dependency Surface

Detected Declarations

Annotated Snippet

.globl	sparc64_ttable_tl0, sparc64_ttable_tl1
	.globl	tl0_icpe, tl1_icpe
	.globl	tl0_dcpe, tl1_dcpe
	.globl	tl0_fecc, tl1_fecc
	.globl	tl0_cee, tl1_cee
	.globl	tl0_iae, tl1_iae
	.globl	tl0_dae, tl1_dae

sparc64_ttable_tl0:
tl0_resv000:	BOOT_KERNEL BTRAP(0x1) BTRAP(0x2) BTRAP(0x3)
tl0_resv004:	BTRAP(0x4)  BTRAP(0x5) BTRAP(0x6) BTRAP(0x7)
tl0_iax:	membar #Sync
		TRAP_NOSAVE_7INSNS(__spitfire_insn_access_exception)
tl0_itsb_4v:	SUN4V_ITSB_MISS
tl0_iae:	membar #Sync
		TRAP_NOSAVE_7INSNS(__spitfire_access_error)
tl0_resv00b:	BTRAP(0xb) BTRAP(0xc) BTRAP(0xd) BTRAP(0xe) BTRAP(0xf)
tl0_ill:	membar #Sync
		TRAP_7INSNS(do_illegal_instruction)
tl0_privop:	TRAP(do_privop)
tl0_resv012:	BTRAP(0x12) BTRAP(0x13) BTRAP(0x14) BTRAP(0x15) BTRAP(0x16) BTRAP(0x17)
tl0_resv018:	BTRAP(0x18) BTRAP(0x19)
tl0_mcd:	SUN4V_MCD_PRECISE
tl0_resv01b:	BTRAP(0x1b)
tl0_resv01c:	BTRAP(0x1c) BTRAP(0x1d)	BTRAP(0x1e) BTRAP(0x1f)
tl0_fpdis:	TRAP_NOSAVE(do_fpdis)
tl0_fpieee:	TRAP_SAVEFPU(do_fpieee)
tl0_fpother:	TRAP_NOSAVE(do_fpother_check_fitos)
tl0_tof:	TRAP(do_tof)
tl0_cwin:	CLEAN_WINDOW
tl0_div0:	TRAP(do_div0)
tl0_resv029:	BTRAP(0x29) BTRAP(0x2a) BTRAP(0x2b) BTRAP(0x2c) BTRAP(0x2d) BTRAP(0x2e)
tl0_resv02f:	BTRAP(0x2f)
tl0_dax:	TRAP_NOSAVE(__spitfire_data_access_exception)
tl0_dtsb_4v:	SUN4V_DTSB_MISS
tl0_dae:	membar #Sync
		TRAP_NOSAVE_7INSNS(__spitfire_access_error)
tl0_resv033:	BTRAP(0x33)
tl0_mna:	TRAP_NOSAVE(do_mna)
tl0_lddfmna:	TRAP_NOSAVE(do_lddfmna)
tl0_stdfmna:	TRAP_NOSAVE(do_stdfmna)
tl0_privact:	TRAP_NOSAVE(__do_privact)
tl0_resv038:	BTRAP(0x38) BTRAP(0x39) BTRAP(0x3a) BTRAP(0x3b) BTRAP(0x3c) BTRAP(0x3d)
tl0_resv03e:	BTRAP(0x3e) BTRAP(0x3f) BTRAP(0x40)
#ifdef CONFIG_SMP
tl0_irq1:	TRAP_IRQ(smp_call_function_client, 1)
tl0_irq2:	TRAP_IRQ(smp_receive_signal_client, 2)
tl0_irq3:	TRAP_IRQ(smp_penguin_jailcell, 3)
tl0_irq4:       BTRAP(0x44)
#else
tl0_irq1:	BTRAP(0x41)
tl0_irq2:	BTRAP(0x42)
tl0_irq3:	BTRAP(0x43)
tl0_irq4:	BTRAP(0x44)
#endif
tl0_irq5:	TRAP_IRQ(handler_irq, 5)
#ifdef CONFIG_SMP
tl0_irq6:	TRAP_IRQ(smp_call_function_single_client, 6)
#else
tl0_irq6:	BTRAP(0x46)
#endif
tl0_irq7:	TRAP_IRQ(deferred_pcr_work_irq, 7)
#if defined(CONFIG_KGDB) && defined(CONFIG_SMP)
tl0_irq8:	TRAP_IRQ(smp_kgdb_capture_client, 8)
#else
tl0_irq8:	BTRAP(0x48)
#endif
tl0_irq9:	BTRAP(0x49)
tl0_irq10:	BTRAP(0x4a) BTRAP(0x4b) BTRAP(0x4c) BTRAP(0x4d)
tl0_irq14:	TRAP_IRQ(timer_interrupt, 14)

Annotation

Implementation Notes