On 12/19/2013 06:18 PM, Jiri Denemark wrote:
On Thu, Dec 19, 2013 at 17:43:33 +0100, Jano Tomko wrote:
> Don't set the PCI address of primary video to the default
> if it's already occupied by another device.
>
> Without this, a primary video card that doesn't have an
> address gets the default one on the 1st pass of PCI address
> allocation, even if it's occupied. This address gets picked
> up by the second pass, and a conflict occurs:
>
> XML error: Attempted double use of PCI slot 0000:00:02.0
> (may need "multifunction='on'" for device on function 0)
>
> Also fix the test that was supposed to catch this.
And does it actually work after this patch? IIRC, the primary video card
is forced to be at 0000:00:02.0 by QEMU. That is, if this address is
occupied by another device, there should be no way to add a video card.
It works without this patch too, if you explicitly specify the PCI address of
the video card (and you have QEMU >= 1.6, because that's when we use -device
instead of -vga - (the QEMU_CAPS_DEVICE_VIDEO_PRIMARY capability)).
Jan