arch/sparc/kernel/hvcalls.S

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

File Facts

System
Linux kernel
Corpus path
arch/sparc/kernel/hvcalls.S
Extension
.S
Size
16338 bytes
Lines
931
Domain
Architecture Layer
Bucket
arch/sparc
Inferred role
Architecture Layer: exported/initcall integration point
Status
integration implementation candidate

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

ENTRY(sun4v_devino_to_sysino)
	mov	HV_FAST_INTR_DEVINO2SYSINO, %o5
	ta	HV_FAST_TRAP
	retl
	 mov	%o1, %o0
ENDPROC(sun4v_devino_to_sysino)

	/* %o0: sysino
	 *
	 * returns %o0: intr_enabled (HV_INTR_{DISABLED,ENABLED})
	 */
ENTRY(sun4v_intr_getenabled)
	mov	HV_FAST_INTR_GETENABLED, %o5
	ta	HV_FAST_TRAP
	retl
	 mov	%o1, %o0
ENDPROC(sun4v_intr_getenabled)

	/* %o0: sysino
	 * %o1: intr_enabled (HV_INTR_{DISABLED,ENABLED})
	 */
ENTRY(sun4v_intr_setenabled)
	mov	HV_FAST_INTR_SETENABLED, %o5
	ta	HV_FAST_TRAP
	retl
	 nop
ENDPROC(sun4v_intr_setenabled)

	/* %o0: sysino
	 *
	 * returns %o0: intr_state (HV_INTR_STATE_*)
	 */
ENTRY(sun4v_intr_getstate)
	mov	HV_FAST_INTR_GETSTATE, %o5
	ta	HV_FAST_TRAP
	retl
	 mov	%o1, %o0
ENDPROC(sun4v_intr_getstate)

	/* %o0: sysino
	 * %o1: intr_state (HV_INTR_STATE_*)
	 */
ENTRY(sun4v_intr_setstate)
	mov	HV_FAST_INTR_SETSTATE, %o5
	ta	HV_FAST_TRAP
	retl
	 nop
ENDPROC(sun4v_intr_setstate)

	/* %o0: sysino
	 *
	 * returns %o0: cpuid
	 */
ENTRY(sun4v_intr_gettarget)
	mov	HV_FAST_INTR_GETTARGET, %o5
	ta	HV_FAST_TRAP
	retl
	 mov	%o1, %o0
ENDPROC(sun4v_intr_gettarget)

	/* %o0: sysino
	 * %o1: cpuid
	 */
ENTRY(sun4v_intr_settarget)
	mov	HV_FAST_INTR_SETTARGET, %o5
	ta	HV_FAST_TRAP
	retl
	 nop
ENDPROC(sun4v_intr_settarget)

Annotation

Implementation Notes