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.
Thanks
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(a)redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list