rumpk/core
Markus Maiwald 4cc268683d docs(rumpk): Add module READMEs per Panopticum doctrine
Added feature-colocated documentation for AI agent discoverability:
- core/README.md: L1 Nim logic overview
- hal/README.md: L0 Zig HAL overview, exported symbols
- boot/README.md: Linker scripts, memory layout

Panopticum Compliance: Each folder is now self-documenting.
2025-12-31 20:18:47 +01:00
..
include feat(rumpk): First successful Zig+Nim boot on QEMU ARM64 2025-12-31 20:18:47 +01:00
README.md docs(rumpk): Add module READMEs per Panopticum doctrine 2025-12-31 20:18:47 +01:00
cstubs.c feat(rumpk): First successful Zig+Nim boot on QEMU ARM64 2025-12-31 20:18:47 +01:00
fiber.nim feat(rumpk): Multi-Architecture HAL (aarch64, x86_64, riscv64) 2025-12-31 20:18:47 +01:00
kernel.nim feat(rumpk): Phase 3 - Cooperative Fiber Scheduling 2025-12-31 20:18:47 +01:00
panicoverride.nim feat(rumpk): First successful Zig+Nim boot on QEMU ARM64 2025-12-31 20:18:47 +01:00
ring.nim feat: Initialize Rumpk Modular Unikernel 2025-12-31 20:18:47 +01:00

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_halt from HAL (Zig L0)
  • Imports cpu_switch_to from arch-specific assembly
  • Uses mm:arc memory management (no GC)

Build

Built via ../build.sh [aarch64|x86_64|riscv64]