On Thu, 26 Jul 2018 19:14:45 +0300 "Michael S. Tsirkin" <m...@redhat.com> wrote:
> On Thu, Jul 26, 2018 at 06:51:13PM +0300, Marcel Apfelbaum wrote: > > Hi > > > > On 07/26/2018 05:52 PM, Stefan Hajnoczi wrote: > > > On Thu, Jul 12, 2018 at 07:33:14AM +0000, Elijah Shakkour wrote: > > > > Hey, > > > > > > > > Our team is adding a NIC functional emulation to QEMU. > > > > One of the features we are adding to this NIC is SRIOV. > > > > > > > > Here is the error message I get when checking SRIOV support of our > > > > emulated NIC on Win2016 server (the hyper-v VM). > > > > " > > > > SR-IOV cannot be used on this system as the PCI Express hardware does > > > > not support Access Control Services (ACS) at any root port. > > > > QEMU's emulated PCI Express Root Ports do not support ACS yet, however I am > > not sure ACS is a prerequisite > > for SR-IOV. ACS is certainly not a prerequisite for SR-IOV. > Looks like windows blocks dev assignment in nested VMs without it. > Thinking about it, doesn't vfio do the same by default? I think vfio has > a flag to override this though. IOMMU grouping in Linux takes isolation via ACS and device specific mechanisms into account, limiting the granularity with which a userspace driver can claim ownership of devices, but it doesn't actually prevent enabling SR-IOV on the endpoint. It just makes it less useful if your intention is to use SR-IOV for device assignment. The only overrides for this are out-of-tree. Thanks, Alex