[libvirt] [PATCH] qemu: qxl devices don't support multifunction yet

Laine Stump laine at laine.org
Thu Sep 29 14:56:23 UTC 2011

On 09/29/2011 10:30 AM, Laine Stump wrote:
> On 09/27/2011 05:13 AM, Daniel P. Berrange wrote:
>> When we originally enabled multifunction for all PCI devices, we did so
>> in the belief that this was effectively a no-op for guest OSes. ie it
>> should not have changed guest OS behaviour at all, unless multiple 
>> devices
>> were actually inserted in the slot.
>> Evidentally this turns out to be incorrect. In other words we introduced
>> a guest ABI change. This is very bad, because our stated goal is to have
>> a stable guest ABI across libvirt&  QEMU releases.
>> Thus IMHO we need to disable *all* setting of the 'multifunction=on'
>> parameter for all guests by default, to unbreak the ABI compatibility.
>> Then we should introduce a new parameter 'multifunction='on' in the
>> <address type=pci>  element to allow it to be optionally enabled per
>> device.
> A couple of questions:
> 1) Is it possible/useful to have function > 0 without multifunction=on 
> in the qemu commandline?
> 2) If the answer to (1) is "No", if the XML has function > 0 but no 
> multifunction=on, should we implicitly add multifunction=on, or should 
> we log an error?


3) if you explicitly/(implicitly?) set multifunction on for one function 
of a slot, does qemu automatically do so for other functions on the slot 
(ie, if you have a device that uses slot 1 function 1 (and turns on 
multifunction), then will slot 1 function 0 automatically have 
multifunction turned on too?)

More information about the libvir-list mailing list