Fix following two issues in the amd viommu 1. The guest fails to setup the passthrough device when for following setup because amd iommu enables the no DMA memory region even when guest is using DMA remapping mode.
-device amd-iommu,intremap=on,xtsup=on,pt=on \ -device vfio-pci,host=<DEVID> \ and guest forcing DMA remap mode e.g. 'iommu.passthrough=0' which will cause failures from QEMU: qemu-system-x86_64: AHCI: Failed to start DMA engine: bad command list buffer address qemu-system-x86_64: AHCI: Failed to start FIS receive engine: bad FIS receive buffer address qemu-system-x86_64: AHCI: Failed to start DMA engine: bad command list buffer address qemu-system-x86_64: AHCI: Failed to start FIS receive engine: bad FIS receive buffer address qemu-system-x86_64: AHCI: Failed to start DMA engine: bad command list buffer address 2. The guest fails to boot with xtsup=on and <= 255 vCPUs, because amd_iommu does not enable x2apic mode. base commit 56c6e249b6988c1b6edc2dd34ebb0f1e570a1365 (v10.0.0-rc3) Sairaj Kodilkar (1): hw/i386/amd_iommu: Fix device setup failure when PT is on. Vasant Hegde (1): hw/i386/amd_iommu: Fix xtsup when vcpus < 255 hw/i386/amd_iommu.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) -- 2.34.1