[PATCH 4/5] vtd: Don't disable hwdom passthrough on unhandled SAGAW bits
Teddy Astie <[email protected]> Wed, 29 Jul 2026 11:59:46 +0200
| Newsgroups | gmane.comp.emulators.xen.devel |
|---|---|
| Message-ID | <1785319342.8631fc262581453bbf619ec5b2062170.19fad53421a000e099@vates.tech> |
On recent VT-d spec, bit 3 indicates support for 5-level pagetables,
this is currently considered unhandled and causes "hwdom passthrough"
to be disabled, even though it's unrelated.
Given these are is capability bits, we don't need to consider unhandled
bits, but only make sure that the ones we want (e.g 39-bit or 48-bit AGAW)
are set.
Fixes: 474fc7d3c652 ("iommu/vt-d: fix SAGAW capability parsing")
Signed-off-by: Teddy Astie <[email protected]>
---
xen/drivers/passthrough/vtd/iommu.c | 9 +--------
1 file changed, 1 insertion(+), 8 deletions(-)
diff --git a/xen/drivers/passthrough/vtd/iommu.c b/xen/drivers/passthrough/vtd/iommu.c
index 5e9232d4b1..a3b718d0cc 100644
--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -1327,14 +1327,7 @@ int __init iommu_alloc(struct acpi_drhd_unit *drhd)
}
if ( sagaw >> 3 )
- {
- printk_once(XENLOG_WARNING VTDPREFIX
- " Unhandled bits in SAGAW %#x%s\n",
- sagaw,
- iommu_hwdom_passthrough ? ", disabling passthrough" : "");
-
- iommu_hwdom_passthrough = false;
- }
+ printk_once(XENLOG_WARNING VTDPREFIX " Unhandled bits in SAGAW %#x\n", sagaw);
iommu->nr_pt_levels = agaw_to_level(agaw);
if ( min_pt_levels > iommu->nr_pt_levels )
--
2.54.0
--
Teddy Astie | Vates XCP-ng Developer
XCP-ng & Xen Orchestra - Vates solutions
web: https://vates.tech