At 09/20/2011 01:16 AM, Marc-André Lureau Write:
Hi hi
On Fri, Sep 16, 2011 at 1:38 PM, Marc-André Lureau <mlureau(a)redhat.com> wrote:
>>>
>>> How do we allow other devices to share the slot? It seems to me that
>>> qemuDomainPCIAddressSetNextAddr() only allocate whole slot, while
>>> making sure there is no conflicts on the same slot.
>>
>> So, if the user wants to use multi function pci device, he should
>> specify the
>> pci address.
>
> So adding a check such as:
>
> if (!multiFunc && info->addr.pci.function != 0)
> return error("The %s device doesn't support multifunction address")
>
Wen, does that sound reasonable to you?
Here is part of my xml config file:
<video>
<model type='qxl' vram='65536' heads='1'/>
<address type='pci' domain='0x0000' bus='0x00'
slot='0x02' function='0x0'/>
</video>
<video>
<model type='qxl' vram='32768' heads='1'/>
<address type='pci' domain='0x0000' bus='0x00'
slot='0x04' function='0x1'/>
</video>
<memballoon model='virtio'>
<address type='pci' domain='0x0000' bus='0x00'
slot='0x04' function='0x0'/>
</memballoon>
I can start the domain, and I run lspci on guest:
[root@RHEL6RCi386 ~]# lspci
00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02)
00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II]
00:01.1 IDE interface: Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton II]
00:01.2 USB Controller: Intel Corporation 82371SB PIIX3 USB [Natoma/Triton II] (rev 01)
00:01.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 03)
00:02.0 VGA compatible controller: Red Hat, Inc. Device 0100 (rev 02)
00:03.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev
20)
00:04.0 RAM memory: Red Hat, Inc Virtio memory balloon
00:04.1 Display controller: Red Hat, Inc. Device 0100 (rev 02)
00:06.0 Ethernet controller: Red Hat, Inc Virtio network device
00:07.0 SCSI storage controller: Red Hat, Inc Virtio block device
00:08.0 SCSI storage controller: LSI Logic / Symbios Logic 53c895a
So I think qxl device supports multifunction.
Thanks
Wen Congyang
Daniel, did you had time to verify that PCI allocation is per-slot?
(It would be nice to get this "workaround" for the next release)
thanks!