diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index f0e348976e..e62d43aac5 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -1773,6 +1773,16 @@ cleanup: return ret; } +static bool +qemuDomainSupportsPCI(virDomainDefPtr def) { + if (def->os.arch != VIR_ARCH_ARMV7L) + return true; + + if (STREQ(def->os.machine, "versatilepb")) + return true; + + return false; +} int qemuDomainAssignPCIAddresses(virDomainDefPtr def, @@ -1838,8 +1848,10 @@ qemuDomainAssignPCIAddresses(virDomainDefPtr def, if (!(addrs = qemuDomainPCIAddressSetCreate(def, nbuses, false))) goto cleanup; - if (qemuAssignDevicePCISlots(def, qemuCaps, addrs) < 0) - goto cleanup; + if (qemuDomainSupportsPCI(def)) { + if (qemuAssignDevicePCISlots(def, qemuCaps, addrs) < 0) + goto cleanup; + } } if (obj && obj->privateData) {