- Implemented Sovereign Syscall Table at 0x801FFF00 - Added cooperative yielding (s_yield) for Guest/Kernel concurrency - Initialized Guest RX Ring and flows in Kernel - Bridged LwIP in Guest via net_glue and ion_client overrides - Validated TCP handshake and data transmission (Subject Zero -> Host) - Confirmed 'Hello from the Membrane!' via UART and Network |
||
|---|---|---|
| .. | ||
| include | ||
| ion | ||
| net | ||
| README.md | ||
| bus.nim | ||
| channel.nim | ||
| crypto.nim | ||
| cstubs.c | ||
| fiber.nim | ||
| kernel.nim | ||
| loader.zig | ||
| net.nim | ||
| npl.nim | ||
| overrides.c | ||
| panicoverride.nim | ||
| re-symbol.txt | ||
| ring.nim | ||
README.md
Rumpk Core (L1)
Language: Nim
Purpose: Architecture-agnostic kernel logic
Module Index
| File | Purpose |
|---|---|
kernel.nim |
Main entry point (kmain), fiber test |
fiber.nim |
Cooperative fiber abstraction |
ring.nim |
Lock-free Disruptor ring buffer |
panicoverride.nim |
Nim panic handler for freestanding |
Architecture Independence
This folder contains no architecture-specific code. All platform-specific
details are handled by the HAL layer (../hal/).
Compile-time architecture selection uses Nim's when defined():
when defined(amd64):
const CONTEXT_SIZE = 56
elif defined(arm64):
const CONTEXT_SIZE = 96
elif defined(riscv64):
const CONTEXT_SIZE = 112
Dependencies
- Imports
console_write,rumpk_haltfrom HAL (Zig L0) - Imports
cpu_switch_tofrom arch-specific assembly - Uses
mm:arcmemory management (no GC)
Build
Built via ../build.sh [aarch64|x86_64|riscv64]