On Thu, 2018-07-26 at 20:11 +0300, Michael S. Tsirkin wrote: > On Thu, Jul 26, 2018 at 10:42:52AM -0600, Alex Williamson wrote: > > 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, > > In that you must assign all devices behind this port as a group?
Yes, that's why I needed to add PCIe config space ACS support in ioh3420: to be able to use VFIO to pass through individual VFs to different L2 VMs with "plain" kernels on the L1 host which owns the SR/IOV device. Knut > > 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 > >