arch/riscv/purgatory/entry.S

Source file repositories/reference/linux-study-clean/arch/riscv/purgatory/entry.S

File Facts

System
Linux kernel
Corpus path
arch/riscv/purgatory/entry.S
Extension
.S
Size
644 bytes
Lines
43
Domain
Architecture Layer
Bucket
arch/riscv
Inferred role
Architecture Layer: arch/riscv
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

#include <asm/asm.h>
#include <linux/linkage.h>

.text

.align	2
SYM_CODE_START(purgatory_start)

	lla	sp, .Lstack
	mv	s0, a0	/* The hartid of the current hart */
	mv	s1, a1	/* Phys address of the FDT image */

	jal	purgatory

	/* Start new image. */
	mv	a0, s0
	mv	a1, s1
	ld	a2, riscv_kernel_entry
	jr	a2
SYM_CODE_END(purgatory_start)

.align 4
	.rept	256
	.quad	0
	.endr
.Lstack:

.data

.align LGREG
SYM_DATA(riscv_kernel_entry, .quad 0)

.end

Annotation

Implementation Notes