quirks: AMD IOMMU IVRS data (R21)
Phase R21 (2026-06-07) — AMD IOMMU quirks. The data side reuses the existing [[dmi_acpi_quirk]] table type landed in R11. Each DMI match represents a system that needs an IVHD-special-IOAPIC entry to route interrupts correctly. Data sourced from Linux 7.1 drivers/iommu/amd/quirks.c ivrs_quirks[] (4 DMI entries): - Dell Inspiron 7375 - Dell Latitude 5495 - Acer Aspire A315-41 (same quirk as Latitude) - Lenovo IdeaPad 330S-15ARR (product 81FB) Each system maps to a list of (ioapic_id, pci_devid) pairs that the iommu daemon will translate into add_special_device(IVHD_SPECIAL_IOAPIC, ...) calls at boot. The compiled-in ivrs_quirk_table is empty; runtime TOML is the data surface. Note: this commit lands only the DMI match table. The (id, devid) pair data — the actual IOAPIC→PCI mapping that is the consumer-side payload — is documented in the data file header for each system but is not yet modelled in the redox-driver-sys struct. A follow-up will extend DmiAcpiQuirkRule with an optional vector of (id, devid) pairs and update the iommu daemon to consume it.
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
# AMD IOMMU IVRS quirks — DMI-based.
|
||||
# Mined from Linux 7.1 `drivers/iommu/amd/quirks.c`
|
||||
# `ivrs_quirks[]` (4 DMI entries):
|
||||
# - Dell Inspiron 7375
|
||||
# - Dell Latitude 5495
|
||||
# - Acer Aspire A315-41
|
||||
# - Lenovo IdeaPad 330S-15ARR (product name 81FB)
|
||||
#
|
||||
# Each system needs a list of (id, devid) pairs that
|
||||
# map specific IOAPIC IDs to PCI device IDs. The Linux
|
||||
# callback calls `add_special_device(IVHD_SPECIAL_IOAPIC,
|
||||
# id, &devid, 0)` for each entry. The mapping is:
|
||||
#
|
||||
# Dell Inspiron 7375 — { (4, 0xa0), (5, 0x02) }
|
||||
# Dell Latitude 5495 — { (4, 0xa0) }
|
||||
# Acer Aspire A315-41 — { (4, 0xa0) } (same as Latitude)
|
||||
# Lenovo IdeaPad 330S — { (32, 0xa0) }
|
||||
#
|
||||
# Phase R21 (2026-06-07). The compiled-in
|
||||
# `ivrs_quirk_table` is empty; runtime TOML is the data
|
||||
# surface. The iommu daemon consumer will read this file
|
||||
# at boot and call add_special_device() for each entry.
|
||||
|
||||
# Dell Inspiron 7375
|
||||
[[dmi_acpi_quirk]]
|
||||
match.sys_vendor = "Dell Inc."
|
||||
match.product_name = "Inspiron 7375"
|
||||
|
||||
# Dell Latitude 5495
|
||||
[[dmi_acpi_quirk]]
|
||||
match.sys_vendor = "Dell Inc."
|
||||
match.product_name = "Latitude 5495"
|
||||
|
||||
# Acer Aspire A315-41 — same quirk as Latitude 5495
|
||||
[[dmi_acpi_quirk]]
|
||||
match.sys_vendor = "Acer"
|
||||
match.product_name = "Aspire A315-41"
|
||||
|
||||
# Lenovo IdeaPad 330S-15ARR (board name 81FB)
|
||||
[[dmi_acpi_quirk]]
|
||||
match.sys_vendor = "LENOVO"
|
||||
match.product_name = "81FB"
|
||||
Reference in New Issue
Block a user