VICTORY: All page faults (Code 12, 13, 15) eliminated. NipBox runs in isolated userspace. Root Cause Diagnosed: - Kernel BSS (0x84D5B030) was overwritten by NipBox loading at 0x84000000 - current_fiber corruption caused cascading failures Strategic Fixes: 1. Relocated NipBox to 0x86000000 (eliminating BSS collision) 2. Expanded DRAM to 256MB, User region to 64MB (accommodating NipBox BSS) 3. Restored Kernel GP register in trap handler (fixing global access) 4. Conditionally excluded ion/memory from userspace builds (removing 2MB pool) 5. Enabled release build optimizations (reducing BSS bloat) Results: - Kernel globals: SAFE - User memory: ISOLATED (Sv39 active) - Syscalls: OPERATIONAL - Scheduler: STABLE - NipBox: ALIVE (waiting for stdin) Files Modified: - core/rumpk/apps/linker_user.ld: User region 0x86000000-0x89FFFFFF (64MB) - core/rumpk/hal/mm.zig: DRAM 256MB, User map 32-256MB - core/rumpk/hal/entry_riscv.zig: GP reload in trap handler - core/rumpk/core/ion.nim: Conditional memory export - core/rumpk/libs/membrane/ion_client.nim: Local type declarations - core/rumpk/libs/membrane/net_glue.nim: Removed ion import - core/rumpk/libs/membrane/compositor.nim: Stubbed unused functions - src/nexus/builder/nipbox.nim: Release build flags Next: Fix stdin delivery to enable interactive shell. |
||
|---|---|---|
| .. | ||
| 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