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