Go to file
Markus Maiwald 232a97272f Phase 31.2: The Identity Switch (Sv39 Virtual Memory)
THE CROSSING - COMPLETE
========================

Successfully transitioned from Physical to Virtual addressing using
Sv39 page tables. The kernel now operates in a fully virtualized
address space with identity mapping (VA=PA).

ARCHITECTURE
------------

1. Sv39 Page Table Infrastructure (hal/mm.zig):
   - 3-level page tables (512 entries per level)
   - 4KB pages with proper PTE bit packing
   - Bump allocator for page table allocation
   - map_page/map_range for flexible mapping

2. Kernel Identity Map:
   - DRAM: 0x80000000-0x88000000 (RWX)
   - UART: 0x10000000 (RW)
   - VirtIO MMIO: 0x10001000-0x10009000 (RW)
   - VirtIO PCI: 0x30000000-0x40000000 (RW)
   - VirtIO BARs: 0x40000000-0x50000000 (RW)
   - PLIC: 0x0c000000-0x0c400000 (RW)

3. Boot Sequence Integration:
   - mm_init(): Initialize page allocator
   - mm_enable_kernel_paging(): Build identity map, activate SATP
   - Transparent transition - no code changes required

THE MOMENT OF TRUTH
-------------------
[MM] Building Sv39 Page Tables...
[MM] Activating Identity Map...
[MM] ✓ Virtual Memory Active. Reality is Virtual.

System continued operation seamlessly:
✓ VirtIO Block initialized
✓ SFS filesystem mounted
✓ GPU probe completed
✓ All MMIO regions accessible

STRATEGIC ACHIEVEMENT
---------------------
This is the foundation for The Glass Cage (Phase 31.3).
We can now create restricted page tables for worker fibers,
enforcing true memory isolation without MMU context switches.

Files:
- core/rumpk/hal/mm.zig: Complete Sv39 implementation
- core/rumpk/core/kernel.nim: Boot integration
- src/nexus/builder/kernel.nim: Build system integration

Next: Phase 31.3 - Worker Isolation (Restricted Page Tables)

Build: Validated on RISC-V (rumpk-riscv64.elf)
Status: Production-ready - The Sovereign ascends to Virtual Reality
2026-01-02 15:24:32 +01:00
.zig-cache/h feat(rumpk): dignified exit & sovereign vfs 2025-12-31 21:54:44 +01:00
apps feat(rumpk): dignified exit & sovereign vfs 2025-12-31 21:54:44 +01:00
boot feat(rumpk): Phase 7 Verified - Subject Zero Launch 2025-12-31 20:18:48 +01:00
core Phase 31.2: The Identity Switch (Sv39 Virtual Memory) 2026-01-02 15:24:32 +01:00
docs feat(rumpk): Sovereign Ledger - VirtIO Block Driver & Persistence 2025-12-31 22:35:30 +01:00
hal Phase 31.2: The Identity Switch (Sv39 Virtual Memory) 2026-01-02 15:24:32 +01:00
io feat: Initialize Rumpk Modular Unikernel 2025-12-31 20:18:47 +01:00
libs Phase 27-29: Visual Cortex, Pledge, and The Hive 2026-01-02 14:12:00 +01:00
npl Phase 30: The Proxy Command (NipBox Worker Integration) 2026-01-02 14:33:47 +01:00
rootfs Phase 27-29: Visual Cortex, Pledge, and The Hive 2026-01-02 14:12:00 +01:00
src/npl/system Phase 27-29: Visual Cortex, Pledge, and The Hive 2026-01-02 14:12:00 +01:00
vendor/lwip feat(rumpk): Phase 7 Verified - Subject Zero Launch 2025-12-31 20:18:48 +01:00
README.md feat: Initialize Rumpk Modular Unikernel 2025-12-31 20:18:47 +01:00
build.zig feat(rumpk): Phase 3.5b Zicroui HUD Integration 2025-12-31 20:18:49 +01:00
run.sh feat(rumpk): First successful Zig+Nim boot on QEMU ARM64 2025-12-31 20:18:47 +01:00

README.md

Rumpk: The Modular Unikernel

"The Kernel is a Library. The App is the OS."

Status: EXPERIMENTAL
Languages: Zig (L0) + Nim (L1)
Design: POSIX-hostile, Military-grade

Directory Structure

rumpk/
├── boot/           [L0] Entry & Architecture (Zig/Asm)
│   ├── start.S     Multiboot2/EFI entry point
│   └── arch/       Architecture-specific code
├── hal/            [L0] Hardware Abstraction (Zig)
│   ├── mm.zig      Physical/Virtual Memory
│   ├── irq.zig     Interrupt handling
│   ├── serial.zig  UART/Early logging
│   └── abi.zig     C-ABI export to Nim
├── core/           [L1] Logic (Nim)
│   ├── kernel.nim  kmain() entry
│   ├── sched.nim   LWKT Scheduler
│   ├── fiber.nim   Fiber/Context management
│   └── ring.nim    Disruptor buffer
├── sys/            [L2] ABI Glue
│   └── syscall.zig System call handlers
├── payload/        [L3] NPL/NPK Loaders
│   └── loader.nim  Signature verification
└── io/             I/O Subsystem
    └── governor.nim Adaptive War/Peace mode

Key Features

  • Adaptive I/O: War Mode (polling) ↔ Peace Mode (interrupts)
  • Disruptor Ring: Lock-free inter-fiber communication
  • SipHash IDs: Collision-resistant process identification
  • Ed25519: Only signed code executes

Specifications

Build (Coming Soon)

cd core/rumpk
zig build          # Build L0 HAL
nimble build       # Build L1 Logic