diff --git a/local/recipes/system/redbear-quirks/source/quirks.d/65-iommu-amd.toml b/local/recipes/system/redbear-quirks/source/quirks.d/65-iommu-amd.toml new file mode 100644 index 0000000000..f9e3b7f7a8 --- /dev/null +++ b/local/recipes/system/redbear-quirks/source/quirks.d/65-iommu-amd.toml @@ -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"