Files
RedBear-OS/local
vasilito 1de0326398 iommu: AMD-Vi interrupt-remapping structural correction
IVRS parser (acpi.rs):
- Parse IVHD type 0x40 (40-byte header, same layout as 0x11)
- Parse IVMD types 0x20/0x21/0x22 into IvmdInfo struct
- IVMD scope determined by type, exclusion by flags (bit 4 = EXCL_RANGE)
- UNITY read/write flags applied independently
- Fix IVHD header size: 24 bytes for 0x10, 40 for 0x11/0x40

Interrupt remap table (interrupt.rs):
- Remove global 16-byte IRTE assumption
- IRT format selected per-unit from IVHD EFR field (GASup bit)
- Legacy32 (4-byte) vs GA128 (16-byte) IRTE formats
- EFR-driven encode/decode for both formats
- Remapped MSI address and direct-APIC message encoding helpers
- Restructure: lib crate (lib_core.rs) for host-testable pure logic

Build restructure:
- Split into lib (acpi, interrupt) and bin (redox-specific) targets
- Feature-gate redox-driver-sys behind 'redox' feature
- Host-runnable tests: cargo test --lib --no-default-features

Kernel: remove unconditional-true iommu_validate_msi_irq gate
pcid/msi: add remapped_message_address/data helpers for BDF-aware MSI
Self-test: IRTE programming verification on first device use

Tests: 23/23 pass (10 acpi + 13 interrupt)
2026-08-05 15:34:14 +03:00
..