[Spice-devel] libvirt multifunction problem

Gerd Hoffmann kraxel at redhat.com
Tue Aug 16 08:52:45 PDT 2011


On 08/12/11 16:18, Christophe Fergeau wrote:
> On Fri, Aug 12, 2011 at 04:53:04PM +0300, Alon Levy wrote:
>> I don't know when libvirt started adding mf=on.
>
> For what it's worth, this was added in

[ adding libvirt list to cc: ]

> commit 9f8baf646ea44aa2de47cba5002af39a7ab1ac08
> Author: Wen Congyang<wency at cn.fujitsu.com>
> Date:   Mon May 23 14:42:21 2011 +0800
>
>      support multifunction PCI device
>
>      If qemu supports multi function PCI device, the format of the PCI address passed
>      to qemu is "bus=pci.0,multifunction=on,addr=slot.function".
>
>      If qemu does not support multi function PCI device, the format of the PCI address
>      passed to qemu is "bus=pci.0,addr=slot".

Hmm, from a bief scan it looks like that patch adds multifunction=on 
unconditionally in case qemu supports that.  That is wrong IMHO. 
libvirt should only do that in case the pci slot in question actually 
has multiple functions.  There is another condition which the patch 
doesn't check for: you always must have a $slot.0 function, you can't 
have a multifunction device with -- say -- functions 1 and 2 being used.

cheers,
   Gerd



More information about the Spice-devel mailing list