From: Vitor de Lima Date: Wed, 6 Nov 2013 16:13:54 +0000 (-0200) Subject: qemu: assign PCI address to primary video card X-Git-Tag: v1.2.0-rc1~106 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=54e4d9d081e816b35a097ddd2596899cc3846b1a;p=thirdparty%2Flibvirt.git qemu: assign PCI address to primary video card When adding support for Q35 guests, the code to assign a PCI address to the primary video card was moved into Q35 and i440fx(PIIX3) specific functions, but no fallback was kept for other machine types that might have a video card. This patch remedies that by assigning a PCI address to the primary video card if it does not have any kind of address. In particular, this fixes issues with pseries guests. Signed-off-by: Vitor de Lima Signed-off-by: Laine Stump --- diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index e8742f5c88..1d693e1704 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -2959,6 +2959,14 @@ qemuAssignDevicePCISlots(virDomainDefPtr def, goto error; } + /* Assign a PCI slot to the primary video card if there is not an + * assigned address. */ + if (def->nvideos > 0 && + def->videos[0]->info.type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE) { + if (qemuDomainPCIAddressReserveNextSlot(addrs, &def->videos[0]->info, + flags) < 0) + goto error; + } /* Further non-primary video cards which have to be qxl type */ for (i = 1; i < def->nvideos; i++) { if (def->videos[i]->type != VIR_DOMAIN_VIDEO_TYPE_QXL) {