[PATCH v2 0/7] acpi_build: Refactor and cleanup AMD IVRS build
Sairaj Kodilkar <[email protected]>
| Newsgroups | gmane.comp.emulators.qemu |
|---|---|
| Message-ID | <[email protected]> |
QEMU reports several IVRS fields that either do not match what the emulated AMD IOMMU actually implements, or are hardcoded and drift out of sync with the extended feature register (EFR). This series fixes them. The goal is to land a maintainable baseline before adding AMD hardware-accelerated vIOMMU support in QEMU, where we will require multiple vIOMMUs attached to different pcie-pxb buses in order to serve set of passthrough devices. Please refer to AMD IOMMU spec [1] for more details about IVRS. [1] https://docs.amd.com/api/khub/documents/GD6kOXjzWsek8QUbn_qMvg/content Changes since v1: https://lore.kernel.org/all/[email protected]/ - Dropped "acpi_build: Cleanup AMD IOMMU IVRS building" and "acpi_build: Introduce necessary macros and structs for AMD IOMMU IVRS". - Added "amd_iommu: acpi-build: Remove unsupported PPR and HE feature" - Use pci_get_bdf() instead of pci_bus_num - Move AMD IVRS specific macros from acpi-build.h to amd_iommu.h - Remove GLX_SUP from feature reporting field Sairaj Kodilkar (7): amd_iommu: Return empty efr for stub call tests/acpi: x86: Allow IVRS acpi table changes amd_iommu: acpi-build: update PA, GVA and VA size macros acpi_build: Use IOMMU pci device to build IOMMU DeviceID acpi_build: Build IVRS feature report using extended feature register amd_iommu: acpi-build: Remove unsupported PPR and HE feature tests/acpi: x86: update golden masters for IVRS hw/i386/acpi-build.c | 65 +++++++++++++++++++++++++++------------- hw/i386/amd_iommu-stub.c | 2 +- hw/i386/amd_iommu.c | 2 +- hw/i386/amd_iommu.h | 27 +++++++++++++---- 4 files changed, 67 insertions(+), 29 deletions(-) base-commit: 3e3ccab106f879b1512f8e0d51a827dd4de30e22 -- 2.34.1