arch/sh/kernel/vsyscall/vsyscall-trapa.S

Source file repositories/reference/linux-study-clean/arch/sh/kernel/vsyscall/vsyscall-trapa.S

File Facts

System
Linux kernel
Corpus path
arch/sh/kernel/vsyscall/vsyscall-trapa.S
Extension
.S
Size
1121 bytes
Lines
41
Domain
Architecture Layer
Bucket
arch/sh
Inferred role
Architecture Layer: syscall or user/kernel boundary
Status
core 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

.text
	.globl __kernel_vsyscall
	.type __kernel_vsyscall,@function
__kernel_vsyscall:
.LSTART_vsyscall:
	trapa	#0x10
	 nop
.LEND_vsyscall:
	.size __kernel_vsyscall,.-.LSTART_vsyscall
	.previous

	.section .eh_frame,"a",@progbits
.LCIE:
	.ualong	.LCIE_end - .LCIE_start
.LCIE_start:
	.ualong	0		/* CIE ID */
	.byte	0x1		/* Version number */
	.string	"zR"		/* NUL-terminated augmentation string */
	.uleb128 0x1		/* Code alignment factor */
	.sleb128 -4		/* Data alignment factor */
	.byte	0x11		/* Return address register column */
	.uleb128 0x1		/* Augmentation length and data */
	.byte 0x1b              /* DW_EH_PE_pcrel | DW_EH_PE_sdata4. */
	.byte	0xc,0xf,0x0	/* DW_CFA_def_cfa: r15 ofs 0 */
	.align 2
.LCIE_end:

	.ualong	.LFDE_end-.LFDE_start	/* Length FDE */
.LFDE_start:
	.ualong	.LFDE_start-.LCIE	/* CIE pointer */
	.ualong	.LSTART_vsyscall-.	/* PC-relative start address */
	.ualong	.LEND_vsyscall-.LSTART_vsyscall
	.uleb128 0			/* Augmentation */
	.align 2
.LFDE_end:
	.previous

/* Get the common code for the sigreturn entry points */
#include "vsyscall-sigreturn.S"

Annotation

Implementation Notes