Don't reserve slot 2 for video if the machine has no PCI buses. Error out when the user specifies a video device without a PCI address when there are no PCI buses. (This wouldn't work on a machine with no PCI bus anyway since we do add PCI addresses for video devices to the command line) --- src/qemu/qemu_command.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 915a8dd..9737609 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -1827,6 +1827,9 @@ qemuAssignDevicePCISlots(virDomainDefPtr def, primaryVideo->info.addr.pci.function = 0; addrptr = &primaryVideo->info.addr.pci; + if (!qemuPCIAddressValidate(addrs, addrptr)) + goto error; + if (qemuDomainPCIAddressSlotInUse(addrs, addrptr)) { if (qemuDeviceVideoUsable) { virResetLastError(); @@ -1853,7 +1856,7 @@ qemuAssignDevicePCISlots(virDomainDefPtr def, /* If TYPE==PCI, then qemuCollectPCIAddress() function * has already reserved the address, so we must skip */ } - } else if (!qemuDeviceVideoUsable) { + } else if (addrs->nbuses && !qemuDeviceVideoUsable) { memset(&tmp_addr, 0, sizeof(tmp_addr)); tmp_addr.slot = 2; -- 1.8.1.5 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list