rumpk/core/README.md

39 lines
971 B
Markdown

# 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()`:
```nim
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]`