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

Wen Congyang wency at cn.fujitsu.com
Fri Sep 30 01:15:34 UTC 2011

At 09/29/2011 10:30 PM, Laine Stump Write:
> 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?

The answer is Yes.

If a single function device is detected (i.e., bit 7 in the Header
Type register of function 0 is 0), no more functions for that Device
Number will be checked. If a multi-function device is detected (i.e.,
bit 7 in the Header Type register of function 0 is 1), then all
remaining Function Numbers will be checked.

Wen Congyang

> 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?
> -- 
> libvir-list mailing list
> libvir-list at redhat.com
> https://www.redhat.com/mailman/listinfo/libvir-list

More information about the libvir-list mailing list