# Rumpk Kernel Core (Nim) # kmain() entry point - called from L0 Zig boot {.push stackTrace: off.} # ========================================================= # FFI Imports from L0 (Zig HAL) # ========================================================= proc rumpk_console_write(p: pointer, len: csize_t) {.importc, cdecl.} proc rumpk_halt() {.importc, cdecl, noreturn.} # ========================================================= # Kernel I/O # ========================================================= proc kprint(s: string) = if s.len > 0: rumpk_console_write(unsafeAddr s[0], csize_t(s.len)) proc kprintln(s: string) = kprint(s) kprint("\n") # ========================================================= # Kernel Main # ========================================================= proc kmain() {.exportc, cdecl, noreturn.} = kprintln("╔═══════════════════════════════════════╗") kprintln("║ RUMPK UNIKERNEL v0.0 ║") kprintln("║ Zig+Nim • Zero POSIX • Modular ║") kprintln("╚═══════════════════════════════════════╝") kprintln("") kprintln("[rumpk] L0 HAL initialized (Zig)") kprintln("[rumpk] L1 Logic running (Nim)") kprintln("[rumpk] Entering halt...") rumpk_halt() {.pop.}