[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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.