Files
RedBear-OS/local/recipes/system
vasilito 5cf61fca98 iommu: signal kernel /scheme/irq/remapping after IR init
Completes the daemon side of the Gap 11 fix from LOWLEVEL plan v1.1.

The kernel exposes /scheme/irq/remapping for the iommu daemon to
control the MSI validation gate (set_iommu_remapping_active in
kernel/src/scheme/irq.rs). This change:

- Adds IommuScheme::has_interrupt_remapping() that returns true once at
  least one AMD-Vi or Intel VT-d unit has been initialized.
- Adds set_kernel_remapping(active: bool) helper in main.rs that opens
  /scheme/irq/remapping and writes "1" (activate) or "0" (deactivate).
- Calls set_kernel_remapping(true) in the main loop after the first
  request that leaves a unit initialized. Idempotent: subsequent writes
  are harmless.
- Calls set_kernel_remapping(false) unconditionally on exit so the
  kernel does not retain stale state if the daemon terminates.

The write failures are non-fatal: in environments where the scheme is
not available (QEMU without PCI passthrough, very early boot), the
daemon continues and MSI delivery works without remapping, which the
kernel handles correctly via the existing fallback in iommu_validate_msi_irq().
2026-06-08 20:19:42 +03:00
..