arch/sparc/kernel/cherrs.S

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

File Facts

System
Linux kernel
Corpus path
arch/sparc/kernel/cherrs.S
Extension
.S
Size
15258 bytes
Lines
577
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		cheetah_fecc_trap_vector
	.type		cheetah_fecc_trap_vector,#function
cheetah_fecc_trap_vector:
	membar		#Sync
	ldxa		[%g0] ASI_DCU_CONTROL_REG, %g1
	andn		%g1, DCU_DC | DCU_IC, %g1
	stxa		%g1, [%g0] ASI_DCU_CONTROL_REG
	membar		#Sync
	sethi		%hi(cheetah_fast_ecc), %g2
	jmpl		%g2 + %lo(cheetah_fast_ecc), %g0
	 mov		0, %g1
	.size		cheetah_fecc_trap_vector,.-cheetah_fecc_trap_vector

	.globl		cheetah_fecc_trap_vector_tl1
	.type		cheetah_fecc_trap_vector_tl1,#function
cheetah_fecc_trap_vector_tl1:
	membar		#Sync
	ldxa		[%g0] ASI_DCU_CONTROL_REG, %g1
	andn		%g1, DCU_DC | DCU_IC, %g1
	stxa		%g1, [%g0] ASI_DCU_CONTROL_REG
	membar		#Sync
	sethi		%hi(cheetah_fast_ecc), %g2
	jmpl		%g2 + %lo(cheetah_fast_ecc), %g0
	 mov		1, %g1
	.size		cheetah_fecc_trap_vector_tl1,.-cheetah_fecc_trap_vector_tl1

	.globl	cheetah_cee_trap_vector
	.type	cheetah_cee_trap_vector,#function
cheetah_cee_trap_vector:
	membar		#Sync
	ldxa		[%g0] ASI_DCU_CONTROL_REG, %g1
	andn		%g1, DCU_IC, %g1
	stxa		%g1, [%g0] ASI_DCU_CONTROL_REG
	membar		#Sync
	sethi		%hi(cheetah_cee), %g2
	jmpl		%g2 + %lo(cheetah_cee), %g0
	 mov		0, %g1
	.size		cheetah_cee_trap_vector,.-cheetah_cee_trap_vector

	.globl		cheetah_cee_trap_vector_tl1
	.type		cheetah_cee_trap_vector_tl1,#function
cheetah_cee_trap_vector_tl1:
	membar		#Sync
	ldxa		[%g0] ASI_DCU_CONTROL_REG, %g1
	andn		%g1, DCU_IC, %g1
	stxa		%g1, [%g0] ASI_DCU_CONTROL_REG
	membar		#Sync
	sethi		%hi(cheetah_cee), %g2
	jmpl		%g2 + %lo(cheetah_cee), %g0
	 mov		1, %g1
	.size		cheetah_cee_trap_vector_tl1,.-cheetah_cee_trap_vector_tl1

	.globl	cheetah_deferred_trap_vector
	.type	cheetah_deferred_trap_vector,#function
cheetah_deferred_trap_vector:
	membar		#Sync
	ldxa		[%g0] ASI_DCU_CONTROL_REG, %g1;
	andn		%g1, DCU_DC | DCU_IC, %g1;
	stxa		%g1, [%g0] ASI_DCU_CONTROL_REG;
	membar		#Sync;
	sethi		%hi(cheetah_deferred_trap), %g2
	jmpl		%g2 + %lo(cheetah_deferred_trap), %g0
	 mov		0, %g1
	.size		cheetah_deferred_trap_vector,.-cheetah_deferred_trap_vector

	.globl		cheetah_deferred_trap_vector_tl1
	.type		cheetah_deferred_trap_vector_tl1,#function
cheetah_deferred_trap_vector_tl1:
	membar		#Sync;
	ldxa		[%g0] ASI_DCU_CONTROL_REG, %g1;

Annotation

Implementation Notes