RayNu-V Living Verification Paper

Living Draft · v0.2.1-r640-boot-confirm

RayNu-V: A Formally Verified Bare-Metal Hypervisor

Optimized for Dell PowerEdge R640 / R650 / R660

Vikash Pandey · ORCID 0009-0001-2160-6357

Last updated: 2026-08-15 · ADR-010 · iron COM2 evidence · Source on GitHub · Toolchain: Verus + Kani (pinned, ADR-008)

This page is a living audit artifact. Sections are filled only with evidence from real runs, Verus/Kani outputs, and milestone gates. Maturity claims never exceed the actual state of the Proven Core. When L3 coverage and external review are sufficient, a frozen snapshot becomes the conference / arXiv submission. Iron COM2 archives for §6 live under docs/evidence/r640/logs/ (xsavesfix close + confirming rebuild + keepconfix residual).

Abstract

[To be written at M3/M4 checkpoint. Placeholder only.]

RayNu-V is a clean-slate Type-1 bare-metal hypervisor written in Rust and optimized for Dell PowerEdge servers. Its security-critical path (VMX, EPT, physical frame allocator, and related control planes) is designed for formal verification with Verus and Kani. This paper reports the progressive verification of the Proven Core, culminating in a machine-checked proof of the EPT Isolation Theorem: every valid guest-physical to host-physical mapping is exclusively owned by a single guest and belongs to neither the hypervisor nor any other guest.

Keywords: formal verification, Type-1 hypervisor, EPT, Verus, Kani, bare-metal, Dell PowerEdge

1. Introduction

[Static until early content is ready.]

Motivation, problem statement, the four pillars ([V], [Z], [D], [A]), and the decision to treat formal verification as an architectural north star rather than a post-hoc exercise.

Evidence block template (fill only with real data):
Evidence (YYYY-MM-DD, commit , run )
– Maturity: Lx
– Artifact: serial log / Verus transcript / audit-ring hash / gate checklist
– Observation: one factual sentence

2. Background and Threat Model

3. System Architecture

3.1 Proven Core Boundary (ADR-002)

Only the following modules receive Verus specifications and progressive proofs. Everything else is verified by Rust’s type system, testing, and code review only.

Module Est. LOC Criticality Reason
VMX lifecycle~800Incorrect VMXON/VMXOFF leaves CPU in undefined state
VMCS management~1,500Host-state corruption = guest owns the host
EPT engine~2,000The memory isolation mechanism
Physical frame allocator~1,500Double-alloc / use-after-free = silent corruption
vCPU state management~1,000Incomplete save/restore leaks host state
Interrupt injection~800Wrong injection can escalate guest privilege
Hypercall interface~500Only intentional guest→host channel
MSR / CPUID / CR firewalls~1,200Unfiltered MSR writes can subvert host security
Audit log integrity~600Tampered audit log collapses the [A] pillar
IPI confinement~500Unconfined IPIs enable cross-VM interference

Hard limit: 15,000 LOC including ~1,600 LOC of proof scaffolding.

3.2 Single-Binary Strategy (ADR-003)

One .efi binary. All assets (kernel, initrd, Web UI, schemas) embedded and zstd-compressed. Target size 15 MB, hard limit 20 MB. Non-critical assets are lazy-decompressed.

3.3 Hardware Focus

Dell PowerEdge R640 / R650 / R660. Tier-1 iDRAC/Redfish integration is in scope; Tier-2 (PERC deep health, predictive failure) is best-effort and requires partnership.

4. Formal Verification Approach

4.1 Toolchain (ADR-001, ADR-008)

4.2 Verification Maturity Model (ADR-006)

LevelNameMeaning
L0DocumentedInvariants written as comments
L1Runtime-enforcedassert! / debug_assert! + Kani on unsafe
L2Spec-writtenVerus .spec.rs with ghost state and contracts
L3Proof-completecargo verus --verify succeeds

Runtime assertions are retained even at L3 (defense-in-depth).

4.3 File Convention for Proven Core Modules

module/
├── module.rs           # executable code
├── module_spec.rs      # Verus specifications
├── module_proof.rs     # Verus proofs (gaps marked TODO)
└── module_test.rs      # Kani + unit + fuzz

5. The EPT Isolation Theorem (ADR-004)

For every valid EPT mapping from a guest-physical address to a host-physical frame, that frame is exclusively owned by the mapping guest and belongs to neither the hypervisor nor any other guest.

“Exclusively owned” = exactly one guest holds a mapping to that frame at any moment. “Belongs to neither” = the frame is absent from the hypervisor’s page tables and from every other guest’s EPT.

The theorem must hold across map, unmap, EPT-violation handling, and (later) live-migration page transfer.

5.1 Proof Progression (living)

Milestone Target Actual Maturity Evidence
M2Spec written + runtime asserts + KaniL1–L2 (Latitude)Gate markers + Kani CI
M34K-page, single-guest proof attemptL2 + scoped L3; iron SHELLM3.17–M3.21; COM2 logs
M4Extended to N guests (4K)L3 N-guest (Latitude); iron probesM4.6–M4.9; M4-SMP-OK
M5Large-page support attemptedL3 large-page + NUMA (Latitude)M5.7–M5.9 / M6.2
M6Full proof incl. live migration + external reviewL3 migrate-xfer + EXT80 verified, 0 errors

6. Progressive Evaluation — Milestone Log

This section is filled only with contemporaneous evidence from real runs.

6.1 Milestone 0 — “It Boots”

Status: Closed on Latitude/QEMU; closed on real PowerEdge R640 (2026-08-15).
Target gate: Boots on R640 (or QEMU+OVMF), serial console works, Verus CI pipeline green.

Evidence (2026-08-15, commit d7cc603, run r640-xsavesfix-com2)
Maturity: L1 (runtime / gate) · Artifact: serial log · xsavesfix-com2.txt
Observation: iDRAC Virtual Floppy printed RAYNU-V-M0-BOOT-OK … through RAYNU-V-M4-SMP-OK / boot: VMXOFF ok on COM2; EFI SHA256 c3a688d0…ba28d611. Confirming rebuild archive: confirm-rebuild-com2.txt. (Literal RAYNU-V-R640-BOOT-OK was docs-claim-only in those archives.)
Evidence (2026-08-15, build r640-boot-ok-marker, run r640-boot-ok-marker-com2)
Maturity: L1 (runtime / gate) · Artifact: serial log + operator Terminal.app SOL screenshot · boot-ok-marker-com2.txt · boot-ok-marker-com2.png
Observation: After M0→SHELL→M4→VMXOFF, COM2 printed boot: E2 marker build=r640-boot-ok-marker and the literal string RAYNU-V-R640-BOOT-OK.
Evidence (2026-08-15, kit keepconfix, run r640-keepconfix-com2)
Maturity: L1 (residual) · Artifact: serial log · keepconfix-com2.txt
Observation: Same M0 path green before XSAVES residual; archived for reproducibility.

6.2 Milestone 1 — “VMX Works”

Status: Closed on Latitude; reproduced on R640 iron.
Target gate: VMLAUNCH / VMEXIT cycle, VMCS host/guest state configured.

Evidence (2026-08-15, d7cc603, r640-xsavesfix-com2)
Maturity: L1 · Artifact: serial log · xsavesfix-com2.txt
Observation: RAYNU-V-M1-VMXON-OK, RAYNU-V-M1-VMEXIT-OK; secondary=0x0010100a (EPT|RDTSCP|INVPCID|XSAVES).

6.3 Milestone 2 — “Guest Executes Real Code”

Status: Closed on Latitude; reproduced on R640 iron.
Target gate: Guest code runs under EPT; timer/IRQ inject path.

Evidence (2026-08-15, d7cc603, r640-xsavesfix-com2)
Maturity: L1 · Artifact: serial log · xsavesfix-com2.txt
Observation: RAYNU-V-M2-EPT-OKRAYNU-V-M2-TIMER-OK with precise EPT and distinct HOST_CR3.

6.4 Milestone 3 — “Linux Boots”

Status: Closed on Latitude; closed on R640 iron (RAYNU-V-M3-SHELL-OK).
Target gate: Unmodified Linux 6.x reaches a shell (init SHELL hypercall).

Evidence (2026-08-15, d7cc603, r640-xsavesfix-com2)
Maturity: L1 · Artifact: serial log · xsavesfix-com2.txt
Observation: Linux 6.12.40 → RAYNU-V-M3-SHELL-OK / RAYNU-V-M3-NOIRQ-OK.
Evidence (2026-08-15, keepconfix residual)
Maturity: L1 (negative) · Artifact: serial log · keepconfix-com2.txt
Observation: Without Enable XSAVES, Run /init hit TASK stack guard / panic; fixed by v0.1.0-xsavesfix.

6.5 Milestone 4 — “Usable VM Platform”

Status: Closed on Latitude (M4.0–M4.9); M4.0–M4.5 probe chain on R640 iron.
Target gate: ≥4 concurrent guests under credit scheduler; virtio-blk/net + SMP probes.

Evidence (2026-08-15, d7cc603, r640-xsavesfix-com2)
Maturity: L1 · Artifact: serial log · xsavesfix-com2.txt
Observation: M4-SHELL-G1 / 2VM-OK / SCHED-OK / NVM-OK / BLK-OK / NET-OK / SMP-OKVMXOFF ok.
Iron close (M7.5 / HDA E2): RAYNU-V-R640-BOOT-OKfirst-light evidence · confirming retest confirm-rebuild-com2.txt · literal marker boot-ok-marker-com2.txt.

6.6 Milestone 5 / 5.5 / 6

Status (Latitude/CI): M5–M6.9 closed (RAYNU-V-M6-EXT-OK; 80 verified, 0 errors). Iron: E2 BOOT-OK, E3 UEFI-HTTP-OK, E5 stamp persist (RAYNU-V-M7-ISO-BOOTED-FROM-DISK, 2026-08-16). Residual after Everest: TLS/console + leftover persist are M8 (E3b + Phase F closed 2026-08-20; E4 SPA VMLAUNCH closed 2026-08-21; E5 + Phase B closed 2026-09-10/11) — see HDA.

[To be filled later with precise citations.]

Existing formally verified or heavily verified hypervisors / kernels (seL4, CertiKOS, Komodo, Firecracker verification efforts, etc.). Differences in scope, threat model, and hardware target.

8. Limitations and Open Proofs

Any L2-only modules at the time of a public snapshot will be listed here with an explicit statement of the residual risk and the runtime-enforcement measures that remain in place.

9. Conclusion

[Written only when the work has reached a stable, externally reviewable state.]