arch/sparc/kernel/getsetcc.S

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

File Facts

System
Linux kernel
Corpus path
arch/sparc/kernel/getsetcc.S
Extension
.S
Size
514 bytes
Lines
26
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		getcc
	.type		getcc,#function
getcc:
	ldx		[%o0 + PT_V9_TSTATE], %o1
	srlx		%o1, 32, %o1
	and		%o1, 0xf, %o1
	retl
	 stx		%o1, [%o0 + PT_V9_G1]
	.size		getcc,.-getcc

	.globl		setcc
	.type		setcc,#function
setcc:
	ldx		[%o0 + PT_V9_TSTATE], %o1
	ldx		[%o0 + PT_V9_G1], %o2
	or		%g0, %ulo(TSTATE_ICC), %o3
	sllx		%o3, 32, %o3
	andn		%o1, %o3, %o1
	sllx		%o2, 32, %o2
	and		%o2, %o3, %o2
	or		%o1, %o2, %o1
	retl
	 stx		%o1, [%o0 + PT_V9_TSTATE]
	.size		setcc,.-setcc

Annotation

Implementation Notes