On Thu, Dec 19, 2013 at 18:41:25 +0100, Jano Tomko wrote:
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)).
Oh so this is only changing the situation for QEMU >= 1.6? This makes
more sense now although it wasn't exactly obvious when looking at the
patch without bigger context. It could be a good idea to explicitly
mention this in the commit message.
Jirka