Expand description
aegis-hwsim — QEMU+OVMF+swtpm hardware-persona matrix harness.
Scaffolding phase. Real logic lands in Phase 1 per aegis-boot#226. This crate currently exposes only the persona schema types so PR reviewers can sanity-check the data model before the orchestrator lands.
Modules§
- coverage_
grid - Coverage-grid emitter.
- doctor
- Host-environment check.
- json
- Minimal JSON string escaper, shared across the modules that emit
schema_version=1JSON envelopes (bin/aegis-hwsim,coverage_grid,doctor). - loader
load_all()— scanpersonas/*.yaml, parse them intoPersonastructs, and enforce the schema-level drift + safety guards that can’t live in serde alone.- ovmf
- OVMF firmware path resolution.
- persona
- Persona schema types. Mirrors
docs/persona-schema.md1:1 — if one changes, the other must too. - qemu
- QEMU invocation synthesis.
- scenario
- Scenario trait — the contract every test scenario implements.
- scenarios
- Concrete scenarios. Each module here implements
crate::scenario::Scenariofor one well-defined boot-flow assertion. - serial
- QEMU serial capture.
- smbios
Dmi → -smbiosargv synthesis.- swtpm
- swtpm lifecycle management.
- test_
keyring - Test-keyring generator for E5 (custom-PK + setup-mode flows).