On 11/15/2016 07:21 AM, Andrea Bolognani wrote:
On Thu, 2016-10-06 at 10:34 -0400, Laine Stump wrote:
>>> + <video>
>>> + <model type='virtio' heads='1'
primary='yes'/>
>>> + <address type='pci' domain='0x0000'
bus='0x00' slot='0x01' function='0x0'/>
>>
>> I was initially baffled by this, because I expected it to
>> be assigned to one of the available pcie-root-ports just
>> like all the other virtio devices.
>>
>> However, according to qemuDomainValidateDevicePCISlotsQ35()
>> this is intentional, so I guess we're good :)
>
> Actually, you bring up an interesting point in light of the "Should PCIe
> devices ever be placed directly on pcie-root?" debate on qemu-devel (I
> think it was in the thread about the PCI topology document that Marcel
> is writing). We currently always put the primary video device at 00:1
> just because "we always have", and it has the nice side effect of
> eliminating the need for legacy-PCI controllers. But in this one case
> the device is PCIe - to follow Marcel's recommendation of putting only
> legacy devices on pcie-root, we should be putting the virtio video
> device on a root-port.
>
> As I recall, Marcel and Alex were the most vocal on this subject, so I'm
> Cc'ing them, with this bit of context - this patch auto-assigns the
> addresses for virtio devices to be on Express ports rather than legacy
> slots when appropriate, but there is a bit of Q35-specific code that
> overrides any of that and always places the primary video device at
> 00:01.0 - should we still do that for the primary video if it's virtio?
> Or should we put it behind a root-port?
I don't think we ever got a reply... Bump? :)
I looked at "lspci" of a guest that has virtio-gpu directly connected to
pci-root, and found that it does show up as a legacy device in that
case, which I guess is what we want, right?
Let's ask the author of virtio-gpu: Gerd, what is your opinion - when
using virtio-gpu as the primary video device, is it better to have it
directly plugged into 00:01.0 (i.e. a legacy integrated device)? Or is
it better to plug it into a pcie-root-port?