Commit Graph

11 Commits

Author SHA1 Message Date
Markus Maiwald 64380de4a7 feat(sfs): Implemented Sovereign Filesystem (SFS)
- Implemented SFS Driver (core/fs/sfs.nim):
  - Mount logic (Sector 0 Superblock check).
  - List logic (Sector 1 Directory table).
- Implemented Userland Formatter (nipbox.nim):
  - 'mkfs' command to write SFS1 Superblock.
- Fixed 'virtio_block' logic:
  - Corrected Descriptor flags (VRING_DESC_F_WRITE for Read Buffers).
- Fixed Async/Sync Conflict in 'libc_shim':
  - Added 'nexus_yield()' to block syscalls to prevent stack corruption before kernel processing.
- Integrated SFS into Kernel startup.
2025-12-31 22:43:44 +01:00
Markus Maiwald e367dd8380 feat(rumpk): Sovereign Ledger - VirtIO Block Driver & Persistence
- Implemented 'virtio-block' driver (hal/virtio_block.zig) for raw sector I/O.
- Updated 'virtio_pci.zig' with dynamic I/O port allocation to resolve PCI conflicts.
- Integrated Block I/O commands (0x600/0x601) into Kernel and ION.
- Added 'dd' command to NipBox for testing read/write operations.
- Fixed input buffering bug in NipBox to support longer commands.
- Added documentation for Phase 10.
2025-12-31 22:35:30 +01:00
Markus Maiwald 2a1af03e28 feat(rumpk): Phase 8 - The Summoning (ELF Loader) - 95% Complete
## Major Features

### 1. Dynamic ELF64 Binary Loading
- Implemented ELF parser with full header validation (core/loader/elf.nim)
- Created kexec() loader supporting PT_LOAD segment mapping
- Added BSS initialization and data copying from VFS
- Assembly trampoline (rumpk_enter_userland) for userland entry

### 2. Syscall Infrastructure
- Added CMD_SYS_EXEC (0x400) for consciousness swapping
- Integrated exec command in NipBox shell
- Implemented syscall routing through command ring
- Added provenance tracking via SipHash

### 3. Test Binary & Build System
- Created hello.c test program for alien binary execution
- Automated compilation and initrd inclusion in build.sh
- Added libnexus.h header for standalone C programs

### 4. VFS Integration
- Implemented TarFS file cursor system for sequential reads
- Fixed infinite loop bug in cat command
- Added debug logging for VFS mount process

## Technical Improvements

### Memory Management
- Fixed input ring null pointer dereference
- Implemented CMD_ION_FREE syscall for packet reclamation
- Resolved memory leak in input/output pipeline
- Added FileHandle with persistent offset tracking

### ABI Stability
- Split kprint into 1-arg (Nim) and kwrite (C ABI)
- Fixed cstring conversion warnings across codebase
- Corrected RISC-V assembly (csrw sie, zero)

### Documentation
- Comprehensive Phase 8 documentation (docs/PHASE-8-ELF-LOADER.md)
- Detailed implementation notes and debugging status

## Current Status

 ELF parser, loader, and syscall infrastructure complete
 Test binary compiles and embeds in VFS
 Shell integration functional
🔧 Debugging command ring communication (syscall not reaching kernel)

## Files Changed

Core:
- core/loader.nim, core/loader/elf.nim (NEW)
- core/kernel.nim, core/ion.nim (syscall handling)
- core/fs/tar.nim (file cursor system)
- hal/arch/riscv64/switch.S (userland trampoline)

Userland:
- npl/nipbox/nipbox.nim (exec command)
- libs/membrane/libc_shim.zig (syscall implementation)
- libs/membrane/ion.zig (command ring API)

Build & Test:
- build.sh (hello.c compilation)
- rootfs/src/hello.c, rootfs/src/libnexus.h (NEW)
- apps/subject_entry.S (NEW)

## Next Steps

1. Debug SysTable and command ring communication
2. Verify ION fiber polling of chan_cmd
3. Test full ELF loading and execution flow
4. Add memory protection (future phase)

Co-authored-by:  <ai@voxisforge.dev>
2025-12-31 20:18:49 +01:00
Markus Maiwald 30fa024367 feat(rumpk): Sovereign Core Stabilization & Membrane IPC Hardening
- NexShell: Hardened command transmission via atomic ION packets, fixed fragmentation issues.
- NipBox: Expanded 'Sovereign Coreutils' with 'ls' and enhanced 'matrix' control.
- GPU/Retina: Optimized VirtIO-GPU driver, improved polling and framebuffer synchronization.
- Membrane: Stabilized libc shims (clib.c, libc.nim) and ION client logic.
- Kernel: Refined fiber scheduler and watchdog metrics.
- Forge: Cleanup and optimization of build scripts and manifests.
2025-12-31 20:18:49 +01:00
Markus Maiwald c279744dc6 feat(rumpk): Sovereign Core enhancements - NexShell IPC hardening & NipBox utility expansion
- Improved NexShell signal integrity by consolidating ION packet transmission.
- Added 'ls' and enhanced 'matrix' control to NipBox (Sovereign Coreutils).
- Added emergency matrix override to NexShell kernel mode.
- Fixed 'command not found' errors caused by IPC fragmentation.
2025-12-31 20:18:49 +01:00
Markus Maiwald bcba945557 wip(rumpk): Phase 3.5 Live Wire - 95% Complete (TX Wire Issue)
- Implemented ping_ion.zig: Sovereign ARP/ICMP Responder
- Fixed VirtIO header offset (10-byte skip)
- Fixed packed struct size issues (hardcoded 14/28/20 byte headers)
- Full data path working: RX -> NPL Parse -> TX Push -> Kernel Drain -> VirtIO Queue
- Remaining: VirtIO TX packets not reaching wire (needs tcpdump debugging)
- ARP Reply crafted correctly, ICMP Echo Reply crafted correctly
- VirtIO notify called, but packets not observed by host
2025-12-31 20:18:49 +01:00
Markus Maiwald 0aa8febe46 feat(rumpk): Phase 3.5 Ready - Live Wire Payload (ping_ion.zig)
- Implemented 'ping_ion.zig' NPL: A Sovereign ARP/ICMP Responder.
- Features: Zero-Copy packet modification, manual checksum calculation, packed struct network headers.
- Fixed Zig alignment issues for packed structs (using align(1) and aligned pointers).
- Ready for Live Wire testing, pending host TAP interface configuration.
2025-12-31 20:18:48 +01:00
Markus Maiwald 3daf668a63 feat(rumpk): Phase 3 Task 2 Complete - The Flood (1 Billion TX, 0.4% Drop Rate)
- Implemented Adaptive Governor 'Flood Control' Mode: Detects >80% ring load and forces context switch to ION Fiber.
- Created 'flood_ion.zig' payload to saturate ION rings.
- Achieved >1 Billion IOPS in 60s flood test with linear scaling.
- Drop Rate stabilized at ~0.4%, proving effective backpressure without starvation.
- System remained responsive; Watchdog did not fire (No Locking).
2025-12-31 20:18:48 +01:00
Markus Maiwald d5c0adb28a feat(rumpk): Phase 3 Task 1 Complete - The Speed Freak (181 cycles/op)
- Enabled -d:danger and -O3/LTO optimizations.
- Implemented Adaptive Governor (War Mode) in Kernel Scheduler to prioritize IO under load.
- Optimized ION Fiber to drain rings in batch mode.
- Created 'bench_ion.zig' for raw throughput measurement.
- Achieved 181 cycles/op (Batch Mode) vs 3300 cycles/op (Ping-Pong).
- Tuned Watchdog to avoid deadlock in cooperative benchmarking.
2025-12-31 20:18:48 +01:00
Markus Maiwald b3d9c2a49d feat(rumpk): Phase 2 Complete - The Entropy Purge & Sovereign Alignment
- Rumpk Core: Complete exorcism of LwIP/NET ghosts. Transitioned to ION nomenclature.
- ABI Sync: Synchronized Zig HAL and Nim Logic Ring Buffer layouts (u32 head/tail/mask).
- Invariant Shield: Hardened HAL pipes with handle-based validation and power-of-2 sync.
- Immune System: Verified Blink Recovery (Self-Healing) with updated ION Control Plane.
- NexShell: Major refactor of Command Plane for Sovereign Ring access.
- Architecture: Updated SPEC files and Doctrines (Silence, Hexagonal Sovereignty).
- Purge: Removed legacy rumk and nip artifacts for a clean substrate.
- Web: Updated landing page vision to match Rumpk v1.1 milestones.
2025-12-31 20:18:48 +01:00
Markus Maiwald 061a2ff56b feat(rumpk): implement Invariant Shield and Blink Recovery
- Implement Design by Contract in HAL and Kernel (Phase 2 Task 1)
- Add invariant checks to Sovereign Channels (pointer validation, bounds)
- Create invariant.nim for secure Logic-to-HAL transitions
- Codify Silence Doctrine in DOCTRINE.md and SPEC files
- Finalize Blink Recovery confirmation via Saboteur test
- Update SPEC-008, SPEC-009, SPEC-010, SPEC-011 with architectural refinements
- Sync Website vision with new technical milestones
2025-12-31 20:18:48 +01:00