Message ID | cover.1713174878.git.teddy.astie@vates.tech (mailing list archive) |
---|---|
Headers | show |
Series | x86/iommu: Drop IOMMU support when cx16 isn't supported | expand |
Le 15/04/2024 à 14:15, Teddy Astie a écrit : > All hardware that supports VT-d/AMD-Vi that exists also supports cx16 (aside > specifically crafted virtual machines). > > Some IOMMU code paths in Xen consider cases where VT-d/AMD-Vi is supported > while cx16 isn't, those paths may be bugged and are barely tested, dead code > in practice. > > Disable IOMMU in case we have IOMMU hardware but no cx16, then cleanup > no-cx16 handling logic from VT-d and AMD-Vi drivers. Also disable > interrupt remapping that also relies on cx16. > > Teddy Astie (5): > VT-d: Disable IOMMU if cx16 isn't supported > AMD-Vi: Disable IOMMU if cx16 isn't supported > VT-d: Cleanup MAP_SINGLE_DEVICE and related code > VT-d: Disable intrerrupt remapping if cx16 is not supported > AMD-Vi: Disable intrerrupt remapping if cx16 is not supported > > xen/drivers/passthrough/amd/iommu_intr.c | 6 ++ > xen/drivers/passthrough/amd/iommu_map.c | 42 ++++------ > xen/drivers/passthrough/amd/pci_amd_iommu.c | 6 ++ > xen/drivers/passthrough/vtd/intremap.c | 70 +++++----------- > xen/drivers/passthrough/vtd/iommu.c | 92 +++++++-------------- > xen/drivers/passthrough/vtd/vtd.h | 5 +- > 6 files changed, 77 insertions(+), 144 deletions(-) > Here is the patch history that got lost for some reason in this cover. Changed in v2: * Added cleanup no-cx16 code for x2APIC * Fixed commit and code formatting * Added missing Suggested-by note Changed in v3: * Use -ENODEV instead of -ENOSYS. Changed in v4: * Reworded "Disable IOMMU if cx16 isn't supported" * Moved interrupt remapping cleanup in separate patches * Check cx16 for interrupt remapping in driver's callbacks rather than in x2apic_bsp_setup Teddy --- Teddy Astie | Vates XCP-ng Intern XCP-ng & Xen Orchestra - Vates solutions web: https://vates.tech