Skip to Content
Viewing feat/v0.5-runtime docs — not the stable branch. Changes vs main · Go to main
axiomOSfeat/v0.5-runtimeDecisions (ADRs)ADR-0003: Supported Targets

ADR-0003: Supported Target and Feature Matrix

Relevant source files

Status: Accepted. Date: 2026-07-14.

Decision

TargetTripleStatusRequired release evidence
x86_64 QEMU/OVMFx86_64-unknown-noneSupportedBuild, strict lint, host suites, signed production boot, unsigned-development negative tests, SMP QEMU integration tests
Raspberry Pi 5aarch64-unknown-noneSupported after HILBuild, strict lint, production signing policy, physical boot, GPIO IRQ, control link, timer, storage and failure-state HIL
AArch64 virtaarch64-unknown-noneExperimentalCompile check only; not a production hardware claim
RISC-V demoriscv64gc-unknown-none-elfExperimental standaloneOutside the production kernel and release artifact; compile/lint only, no compatibility claim
Shrike RP2040 firmwarethumbv6m-none-eabiSupported after HILTarget lint/build, mock-HAL state-machine tests, physical control-link/watchdog/failsafe HIL

Feature policy:

  • Only cloud-profile and embedded-profile are shipped BPF limit sets. The generated target matrix maps x86_64 to cloud-profile + x86_64_arch and Pi 5 to embedded-rpi5.
  • Production images are signed-only. Unsigned BPF is an explicit development feature (bpf-unsigned-development) and must never appear in production provenance.

Consequences in code

  • The main kernel supports only x86_64 and AArch64. kernel/src/lib.rs contains a compile_error! for any other architecture, pointing to kernel/demos/riscv.
  • The alternate RISC-V manifest, entrypoints, linker script, feature, null allocator and dormant architecture module were retired from the main kernel.
  • Target tables and CI inventory are generated from the component manifest, not prose, and the required target-boundary-static check rejects drift back into the main kernel.

See Platform for per-target details.

Last updated on