Skip to content

boot diagnostics: make MSI-related failures prominently visible (serial + ISA debugcon; future on-screen) #9

@emilf

Description

@emilf

Theseus is MSI-first (no intent to implement a non-MSI fallback interrupt delivery path). When MSI/MSI-X cannot be enabled or appears broken (delivery failure), the user needs a prominent explanation of the boot failure / degraded state.

Request:

  • Add a centralized "critical boot error" reporting path for MSI-related failures (and similar early-critical issues).
  • Ensure messages are emitted to both serial and ISA debugcon (0xE9) so failures are visible even if framebuffer output is minimal/nonexistent.

Triggers to report prominently:

  • ACPI FADT IA-PC Boot Arch 'prohibit_msi' set (ignored, but should warn loudly).
  • pci::enable_msi() or MSI-X setup failures for essential devices (e.g., xHCI).
  • MSI/MSI-X self-test indicates interrupt delivery not observed (if the test is enabled).

Acceptance:

  • A helper like report_critical_boot_error(kind, details) that prints to:
    • serial (COM1)
    • ISA debugcon (0xE9)
    • (future) on-screen banner when text rendering exists
  • Call sites in xHCI MSI setup + ACPI init path.
  • Logs are high severity and hard to miss.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions