Hi Jike, I don't have a plan to work on it in the near future, but we can share the code if you are interested. Thanks, Ilya > -----Original Message----- > From: Jike Song [mailto:jike.song@xxxxxxxxx] > Sent: Wednesday, March 08, 2017 9:30 AM > To: Ilya Lesokhin <ilyal@xxxxxxxxxxxx> > Cc: kvm@xxxxxxxxxxxxxxx; linux-pci@xxxxxxxxxxxxxxx; bhelgaas@xxxxxxxxxx; > alex.williamson@xxxxxxxxxx; Noa Osherovich <noaos@xxxxxxxxxxxx>; > Haggai Eran <haggaie@xxxxxxxxxxxx>; Or Gerlitz <ogerlitz@xxxxxxxxxxxx>; > Liran Liss <liranl@xxxxxxxxxxxx>; You, Lizhen <lizhen.you@xxxxxxxxx> > Subject: Re: [PATCH V3 0/3] VFIO SRIOV support > > On 08/18/2016 03:29 PM, Ilya Lesokhin wrote: > > Changes from V2: > > 1. Enabling and disabling SR-IOV is now done > > through the sysfs interface, requiring > > admin privileges. > > 2. Since admin privileges are now required > > to enable SR-IOV most of the the security > > measures introduced in RFC V2 were removed. > > Unfortunately we still need a mutex to prevent > > the VFIO user from changing the number of > > VFs while enable_sriov is in progress. > > > > Changes from V1: > > 1. The VF are no longer assigned to PFs iommu group > > 2. Add a pci_enable_sriov_with_override API to allow > > enablind sriov without probing the VFs with the > > default driver > > > > Changes from RFC V2: > > 1. pci_disable_sriov() is now called from a workqueue > > To avoid the situation where a process is blocked > > in pci_disable_sriov() wating for itself to relase the VFs. > > 2. a mutex was added to synchronize calls to > > pci_enable_sriov() and pci_disable_sriov() > > > > Changes from RFC V1: > > Due to the security concern raised in RFC V1, we add two patches > > to make sure the VFs belong to the same IOMMU group as > > the PF and are probed by VFIO. > > > > Today the QEMU hypervisor allows assigning a physical device to a VM, > > facilitating driver development. However, it does not support enabling > > SR-IOV by the VM kernel driver. Our goal is to implement such support, > > allowing developers working on SR-IOV physical function drivers to > > work inside VMs as well. > > > > This patch series implements the kernel side of our solution. It > > extends the VFIO driver to support the PCIE SRIOV extended capability > > with following features: > > 1. The ability to probe SR-IOV BAR sizes. > > 2. The ability to enable and disable SR-IOV. > > > > This patch series is going to be used by QEMU to expose SR-IOV > > capabilities to VM. We already have an early prototype based on Knut > > Omang's patches for SR-IOV[1]. > > > > Limitations: > > 1. Per SR-IOV spec section 3.3.12, PFs are required to support 4-KB, > > 8-KB, 64-KB, 256-KB, 1-MB, and 4-MB page sizes. > > Unfourtently the kernel currently initializes the System Page Size > > register once and assumes it doesn't change therefore we cannot allow > > guests to change this register at will. We currently map both the > > Supported Page sizes and System Page Size as virtualized and read only in > violation of the spec. > > In practice this is not an issue since both the hypervisor and the > > guest typically select the same System Page Size. > > > > [1] https://github.com/knuto/qemu/tree/sriov_patches_v6 > > > > Ilya Lesokhin (3): > > pci: Extend PCI IOV API > > vfio/pci: Allow control SR-IOV through sysfs interface > > vfio/pci: Add support for SR-IOV extended capablity > > > > drivers/pci/iov.c | 41 ++++++++-- > > drivers/vfio/pci/vfio_pci.c | 43 ++++++++-- > > drivers/vfio/pci/vfio_pci_config.c | 151 > ++++++++++++++++++++++++++++++++---- > > drivers/vfio/pci/vfio_pci_private.h | 2 + > > include/linux/pci.h | 13 +++- > > 5 files changed, 219 insertions(+), 31 deletions(-) > > > > +Lizhen > > > Hi Ilya, > > Sorry for jumping in abruptly. We are also looking forward to have PF used > within a VM, would you please share your next plan with us? Likely there will > be a v4 shortly? > > > -- > Thanks, > Jike