SquidgeOS/src/boot/entry.S

19 lines
510 B
ArmAsm
Raw Normal View History

2026-02-08 21:23:47 +00:00
.section .text
.global _start
_start:
la sp, stack_top # Set up the stack pointer
2026-02-08 22:41:38 +00:00
la t0, trap_entry # Set up the trap handler
csrw mtvec, t0 # Set the trap vector to our trap handler
2026-02-08 21:23:47 +00:00
call kmain # Jump to our C code
loop:
wfi # Wait for Interrupt (saves CPU)
j loop # Infinite loop if C returns
2026-02-08 22:41:38 +00:00
.align 4
trap_entry:
j handle_trap
2026-02-08 21:23:47 +00:00
.section .bss
.align 16
stack_low:
.skip 4096 # 4KB of stack space
stack_top: