kernel is the policy-minimal microkernel core in the EriX boot chain.
Find a file
Erik Inkinen 5bbee0f8ea
All checks were successful
CI / test (push) Successful in 8s
CI / security (push) Successful in 1m28s
CI / minimal-versions (push) Successful in 11s
kernel: drop unstable rustfmt options for stable toolchains
2026-03-23 10:19:52 +02:00
.github refactor: update milestone terminology to component milestone tracking across documentation 2026-03-05 11:56:02 +02:00
src kernel: split large entry, control, and kobject modules 2026-03-23 09:37:39 +02:00
.editorconfig Initial commit 2026-02-26 17:46:35 +01:00
.gitignore Initial commit 2026-02-26 17:46:35 +01:00
ARCHITECTURE.md kernel: add platform capability probe op and retire noisy runtime traces 2026-03-17 13:52:29 +02:00
Cargo.toml runtime-mode: add kernel dev console sink and takeover gating 2026-03-12 16:19:30 +02:00
CODE_OF_CONDUCT.md Initial commit 2026-02-26 17:46:35 +01:00
CONTRIBUTING.md refactor: update milestone terminology to component milestone tracking across documentation 2026-03-05 11:56:02 +02:00
LICENSE Initial commit 2026-02-26 17:46:35 +01:00
linker.ld feat: add kernel entry point and serial communication functions for baremetal support 2026-02-27 06:20:30 +02:00
README.md kernel: add platform capability probe op and retire noisy runtime traces 2026-03-17 13:52:29 +02:00
ROADMAP.md kernel: add platform capability probe op and retire noisy runtime traces 2026-03-17 13:52:29 +02:00
rustfmt.toml kernel: drop unstable rustfmt options for stable toolchains 2026-03-23 10:19:52 +02:00
SECURITY.md docs: align security policy phase numbering 2026-03-11 05:28:11 +02:00

EriX Kernel

kernel is the policy-minimal microkernel core in the EriX boot chain.

Current priority is deterministic bootstrap from verified boot.img handoff to a validated root task handoff.


Scope

  • accept and validate bootloader handoff (bl -> kernel)
  • initialize minimal CPU/interrupt/time primitives needed for bootstrap
  • manage core kernel objects and capability semantics
  • construct and transfer kernel -> root handoff

Out of Scope

  • system policy
  • service lifecycle policy
  • high-level memory/process policy (owned by user-space daemons)

Interfaces

  • input: docs/handoff/bl-to-kernel.md
  • output: docs/handoff/kernel-to-root.md
  • shared wire/layout helpers: lib-handoff

Invariants

  • no ambient authority
  • explicit capability transfer only
  • deterministic bootstrap behavior on success/failure paths
  • architecture-portable design with current x86_64/UEFI bring-up focus

Build Status

Current implementation status:

  • strict bl -> kernel ingress wrapper and deterministic kernel markers
  • memory reservation extraction and untyped seed derivation (RAM + device)
  • bootstrap object/capability setup for root CSpace/VSpace/TCB/endpoint/untyped pool
  • kernel -> root handoff builder with lib-handoff validation roundtrip
  • default kernel bootstrap path selects required root module and attempts CPL3 root launch
  • runtime endpoint path no longer synthesizes non-root service replies in normal builds; service interactions use endpoint queue/call-recv-reply mechanics
  • feature-gated rootd integration smoke syscall path (kernel-rootd-smoke-test) for deterministic VM completion:
    • accepts ROOTD_STAGE:* progress reports and emits deterministic stage markers without exiting
    • rootd ready -> 0x10
    • rootd internal failure/unknown status -> 0x13
    • downstream service bootstrap failure -> 0x14
  • additive runtime-mode kernel rootd report path (kernel-rootd-runtime) is now the canonical feature; kernel-rootd-smoke-test remains as a compatibility alias used by smoke/negative integration scenarios
  • dev-profile early console feature (kernel-dev-console) mirrors kernel markers to framebuffer via lib-console until ROOTD_REPORT_STAGE_FBCOND_READY
  • release-profile runtime can disable early kernel serial/framebuffer sink output while keeping userspace console services active
  • rootd stage-marker mapping includes phase3 input stages (DRV_I8042_READY, DRV_PS2_KEYBOARD_READY, DRV_PS2_MOUSE_READY, INPUTD_READY, INPUT_ROUTING_READY, CONSOLE_INPUT_READY)
  • kernel-control op READ_PLATFORM_CAPS (30) exposes deterministic platform-presence bits for probe-gated driver activation
  • kernel-origin failure class is 0x12 in kernel binary integration flow
  • scheduler/SMP/exception selftests retained behind explicit feature flags

  • bootloader
  • rootd
  • lib-handoff
  • docs/handoff