- Enabled SUM (Supervisor Access to User Memory) in riscv_init to allow kernel loader to write to user stacks. - Removed dangerous 'csrc sstatus' in kload_phys that revoked access. - Aligned global fiber stacks to 4096 bytes to prevent unmapped page faults at stack boundaries. - Restored 'boot.o' linking to fix silent boot failure. - Implemented 'fiber_can_run_on_channels' stub to satisfy Membrane linking. - Defined kernel stack in header.zig to fix '__stack_top' undefined symbol. - Resolved duplicate symbols in overrides.c and nexshell. |
||
|---|---|---|
| .. | ||
| README.md | ||
| header.zig | ||
| linker-riscv64.ld | ||
| linker.ld | ||
README.md
Rumpk Boot
Purpose: Bootloader headers and linker scripts
Contents
| File | Purpose |
|---|---|
linker.ld |
Default linker script (ARM64 QEMU virt) |
header.zig |
Multiboot2 header (future) |
Memory Layout (ARM64 QEMU virt)
0x40080000 _start (Entry Point)
0x40080000 .text
.rodata
.data
.bss
Stack (16KB)
Future
linker-x86_64.ld- x86_64 QEMU q35linker-riscv64.ld- RISC-V QEMU virt- EFI stub for real hardware