9274ee656e
* initial riscv64 port * enable Paging Mode feature for all architectures * riscv: add missing protocol docs * riscv: fix tests * docs: clarify `LIMINE_PAGING_MODE_DEFAULT` macro * build: fix whitespace in common/GNUmakefile * riscv: default to Sv48 paging when supported * vmm: make `VMM_MAX_LEVEL` 1-indexed * limine: do not call `reported_addr()` before finaling paging mode smp/riscv: do not overwrite the argument passed to APs * limine/riscv: update default paging mode in limine.h * test/riscv: pad OVMF.fd when downloading it
22 lines
346 B
Plaintext
22 lines
346 B
Plaintext
.section .data
|
|
|
|
.p2align 3
|
|
stack_at_first_entry:
|
|
.8byte 0
|
|
|
|
.section .text
|
|
|
|
.global menu
|
|
.extern _menu
|
|
|
|
menu:
|
|
lla t0, stack_at_first_entry
|
|
ld t1, (t0)
|
|
beqz t1, 1f
|
|
mv sp, t1
|
|
j 2f
|
|
1: sd sp, (t0)
|
|
2: mv fp, zero
|
|
mv ra, zero
|
|
j _menu
|