* Laine Stump (laine@xxxxxxxxx) wrote: > 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. Yes, I think that's correct. It should only be on for multifunction devices. > >>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? qemu should blcok function > 0 when function 0 does not have multifunction=on. > >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? You have to have a function 0 _and_ and function > 0 to be multifunction. YOu have to specify multifucntion=on in function 0 (at a minimum, spec is unclear whether it's required or implied for > 0). > Also: > > 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?) It will not automagically set multifunction=on on func 0. It will generate an error. thanks, -chris -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list