PROBLEM RESOLVED: memp_malloc NULL pointer crashes (0x18/0x20 offsets) CRITICAL FIXES: - Nuclear fail-safe in memp.c for mission-critical protocol objects * Direct heap fallback for UDP_PCB, TCP_PCB, PBUF, SYS_TMR pools * Handles ABI/relocation failures in memp_pools[] descriptor array * Prevents ALL NULL dereferences in protocol allocation paths - Iteration-based network heartbeat in net_glue.nim * Drives LwIP state machines independent of system clock * Resolves DHCP/DNS timeout issues in QEMU/freestanding environments * Ensures consistent protocol advancement even with time dilation - Unified heap configuration (MEMP_MEM_MALLOC=1, LWIP_TIMERS=1) * 2MB heap for network operations * Disabled LwIP stats to avoid descriptor corruption * Increased pool sizes for robustness VERIFICATION: ✅ DHCP: Reliable IP acquisition (10.0.2.15) ✅ ICMP: Full Layer 2 connectivity confirmed ✅ DNS: Query enqueuing operational (secondary crash isolated) ✅ VirtIO: 12-byte header alignment maintained NEXT: Final DNS request table hardening for complete resolution Voxis Forge Signature: CORRECTNESS > SPEED |
||
|---|---|---|
| .zig-cache/h | ||
| apps | ||
| boot | ||
| core | ||
| docs | ||
| hal | ||
| io | ||
| libs | ||
| npl | ||
| rootfs | ||
| src/npl/system | ||
| vendor | ||
| README.md | ||
| build.zig | ||
| run.sh | ||
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