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

Reply via email to