From: Xingang Wang <wangxinga...@huawei.com> When building amd IVRS table, only devices attached to root bus with IOMMU flag should be scanned.
Signed-off-by: Xingang Wang <wangxinga...@huawei.com> Signed-off-by: Jiahui Cen <cenjia...@huawei.com> --- hw/i386/acpi-build.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c index 6936889cad..e0f38305da 100644 --- a/hw/i386/acpi-build.c +++ b/hw/i386/acpi-build.c @@ -2229,7 +2229,7 @@ ivrs_host_bridges(Object *obj, void *opaque) if (object_dynamic_cast(obj, TYPE_PCI_HOST_BRIDGE)) { PCIBus *bus = PCI_HOST_BRIDGE(obj)->bus; - if (bus) { + if (bus && pci_root_bus_has_iommu(bus)) { pci_for_each_device(bus, pci_bus_num(bus), insert_ivhd, ivhd_blob); } } -- 2.19.1