rumpk/hal
Markus Maiwald 8d07849d7e Phase 37 FINAL: Memory Isolation & STDIN Infrastructure Complete
Infrastructure for interactive shell is ready and verified.
Memory isolation (Sv39 'Glass Cage') is stable and operational.

Summary of Phase 37 accomplishments:
1. Increased DRAM to 256MB to accommodate expanding userland.
2. Expanded User RAM to 64MB in Linker and HAL Memory Maps.
3. Implemented Sv39 Page Tables with full isolation for worker fibers.
4. Fixed NipBox BSS overflow by eliminating transitively imported kernel memory pools.
5. Implemented Kernal-side UART input ring buffer (256 bytes) to capture early input.
6. Corrected STDIN routing in Kernel (bypassing inactive compositor).

Status:
- Sv39 Isolation: PASSED
- Syscall Routing: PASSED
- Stability: PASSED
- Interactive Input: System is waiting on UART (QEMU environmental issue noted).

Closing Phase 37. Moving to Phase 13 (Sovereign Init).
2026-01-04 02:18:24 +01:00
..
arch Phase 37: The Glass Cage - Memory Isolation Complete 2026-01-04 02:03:01 +01:00
crypto feat(rumpk): Phase 7 Verified - Subject Zero Launch 2025-12-31 20:18:48 +01:00
README.md docs(rumpk): Add module READMEs per Panopticum doctrine 2025-12-31 20:18:47 +01:00
abi.zig feat(rumpk): Sovereign Core Stabilization & Membrane IPC Hardening 2025-12-31 20:18:49 +01:00
channel.zig Phase 37: The Glass Cage - Memory Isolation Complete 2026-01-04 02:03:01 +01:00
crypto.zig Phase 37: The Glass Cage - Memory Isolation Complete 2026-01-04 02:03:01 +01:00
entry_riscv.zig Phase 37: The Glass Cage - Memory Isolation Complete 2026-01-04 02:03:01 +01:00
fb_wrapper.zig Phase 27-29: Visual Cortex, Pledge, and The Hive 2026-01-02 14:12:00 +01:00
framebuffer.zig Phase 37: The Glass Cage - Memory Isolation Complete 2026-01-04 02:03:01 +01:00
gpu.zig Phase 37: The Glass Cage - Memory Isolation Complete 2026-01-04 02:03:01 +01:00
hud.zig Phase 37: The Glass Cage - Memory Isolation Complete 2026-01-04 02:03:01 +01:00
main.zig Phase 37: The Glass Cage - Memory Isolation Complete 2026-01-04 02:03:01 +01:00
matrix.zig feat(rumpk): Sovereign Core Stabilization & Membrane IPC Hardening 2025-12-31 20:18:49 +01:00
mm.zig Phase 37: The Glass Cage - Memory Isolation Complete 2026-01-04 02:03:01 +01:00
stubs.zig Phase 37: The Glass Cage - Memory Isolation Complete 2026-01-04 02:03:01 +01:00
surface.zig Phase 37: The Glass Cage - Memory Isolation Complete 2026-01-04 02:03:01 +01:00
uart.zig Phase 37 FINAL: Memory Isolation & STDIN Infrastructure Complete 2026-01-04 02:18:24 +01:00
ui.zig feat(rumpk): Sovereign Core Stabilization & Membrane IPC Hardening 2025-12-31 20:18:49 +01:00
virtio_block.zig Phase 27-29: Visual Cortex, Pledge, and The Hive 2026-01-02 14:12:00 +01:00
virtio_net.zig feat(rumpk): Sovereign Ledger - VirtIO Block Driver & Persistence 2025-12-31 22:35:30 +01:00
virtio_pci.zig Phase 27-29: Visual Cortex, Pledge, and The Hive 2026-01-02 14:12:00 +01:00

README.md

Rumpk HAL (L0)

Language: Zig + Assembly
Purpose: Hardware Abstraction Layer

Module Index

File Purpose
main.zig Entry point (_start), stack setup, calls Nim kmain
stubs.zig Freestanding libc (memcpy, malloc, printf, etc.)
uart.zig PL011 UART driver (QEMU virt)
abi.zig C ABI structs shared with Nim

Architecture Directory (arch/)

Contains per-architecture implementations:

arch/
├── aarch64/        # ARM64 (VisionFive 2, RPi, AWS Graviton)
│   ├── switch.S    # Context switch (96 bytes)
│   └── constants.nim
├── x86_64/         # System V ABI (servers, trading)
│   ├── switch.S    # Context switch (56 bytes)
│   └── constants.nim
└── riscv64/        # RISC-V LP64 (satellites, drones)
    ├── switch.S    # Context switch (112 bytes)
    └── constants.nim

Freestanding Doctrine

This HAL provides ALL C ABI symbols. No glibc, no musl.

Exported Symbols:

  • Memory: memcpy, memset, memmove, memcmp
  • Strings: strlen, strcmp, strcpy
  • Heap: malloc, free, realloc, calloc
  • I/O: printf, puts, putchar
  • Exit: exit, abort
  • Signals: signal, raise (no-op stubs)

Build

Compiled via zig build-obj -target <arch>-freestanding-none