-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Theseus currently assembles hardware/platform inventory from multiple sources (UEFI handoff + ACPI tables + acpi crate platform_info + custom MADT parsing). This has led to a "split-brain" situation where ACPI is not treated as the single trustworthy source, largely due to past difficulty/reliability issues with ACPI parsing (both with and without the acpi crate).
Goal: make ACPI parsing trustworthy and define clear source-of-truth boundaries so we can rely on ACPI for platform discovery rather than mixing in UEFI inventory as a fallback.
Examples in current code:
- ACPI PlatformInfo is built from acpi crate platform_info().interrupt_model OR custom MADT parsing fallback.
- PCI ECAM regions collected from ACPI MCFG.
- Legacy USB handoff + IA-PC Boot Arch flags (incl. prohibit_msi) from FADT.
- Additional scanning for "XHCI" SDTs.
Acceptance:
- Document an explicit policy: which subsystems use ACPI vs UEFI handoff, and why.
- Reduce duplication: prefer ACPI for platform discovery when possible; keep UEFI only for things ACPI cannot provide post-ExitBootServices.
- Add robust logging/diagnostics for ACPI parse failures so issues can be fixed instead of worked around.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels