Hi, I posted a related question in
http://thread.gmane.org/gmane.comp.bios.edk2.devel/13381 but I thought I'd approach it from another angle, more succinctly. If I set PcdSrIovSupport to FALSE, what functionality exactly will become unavailable in the firmware? I tried to grep the source for it, but since I'm not familiar with virtual functions at all, I couldn't learn much from the code. From <https://en.wikipedia.org/wiki/Single-root_input/output_virtualization>, The SR-IOV allows different virtual machines (VMs) in a virtual environment to share a single PCI Express hardware interface. Furthermore, the following edk2 commit: https://github.com/tianocore/edk2/commit/d40483911c83 says Change type of PcdSrIovSupport, PcdAriSupport, PcdMrIovSupport from FeatureFlag to [FixAtBuild, PcdDynamics], which allows SR-IOV/MR-IOV/ARI feature can be turn on/off dynamically, typically via a setup option. Thus it seems to me that PcdSrIovSupport only makes sense in firmware for physical hosts, not virtual machines (unless we talk nested virt of course, but I believe nested virt with QEMU/KVM/VFIO isn't that far advanced yet). I believe PcdSrIovSupport controls, in the host UEFI firmware, whether the SR-IOV capability will be available to the *hypervisor* that runs on the host machine. Is that correct? If it is, then I'm going to submit a patch that disables PcdSrIovSupport for OVMF. ----*---- ( I also noticed PcdMrIovSupport ("multi-root IO virtualization"). According to the same Wikipedia article, [...] In contrast, MR-IOV allows I/O PCI Express to share resources among different VMs on different physical machines. I guess for simplicity's sake I should disable this as well, as it appears an even more complex feature. And, in the edk2 codebase, all that PcdMrIovSupport enables is just the parsing of the MrIovCapabilityOffset field, and a log message. It has practically zero impact (unlike PcdSrIovSupport, which seems to break OVMF when a physical function with VF BARs is assigned to the guest). ) Thanks Laszlo _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

