mbox series

[RFC,v1,0/2] vfio/pci: expose device's PASID capability to VMs

Message ID 1580300325-86259-1-git-send-email-yi.l.liu@intel.com (mailing list archive)
Headers show
Series vfio/pci: expose device's PASID capability to VMs | expand

Message

Yi Liu Jan. 29, 2020, 12:18 p.m. UTC
Shared Virtual Addressing (SVA), a.k.a, Shared Virtual Memory (SVM) on
Intel platforms allows address space sharing between device DMA and
applications. SVA can reduce programming complexity and enhance security.

To enable SVA, device needs to have PASID capability, which is a key
capability for SVA. This patchset exposes the device's PASID capability
to guest instead of hiding it from guest.

The second patch emulates PASID capability for VFs (Virtual Function) since
VFs don't implement such capability per PCIe spec. This patch emulates such
capability and expose to VM if the capability is enabled in PF (Physical
Function).

However, there is an open for PASID emulation. If PF driver disables PASID
capability at runtime, then it may be an issue. e.g. PF should not disable
PASID capability if there is guest using this capability on any VF related
to this PF. To solve it, may need to introduce a generic communication
framework between vfio-pci driver and PF drivers. Please feel free to give
your suggestions on it.

Liu Yi L (2):
  vfio/pci: Expose PCIe PASID capability to guest
  vfio/pci: Emulate PASID/PRI capability for VFs

 drivers/vfio/pci/vfio_pci_config.c | 321 ++++++++++++++++++++++++++++++++++++-
 1 file changed, 318 insertions(+), 3 deletions(-)

Comments

Yi Liu Feb. 8, 2020, 7:46 a.m. UTC | #1
Hi Alex,

Any comment on this series?

Regards,
Yi Liu

> From: Liu, Yi L
> Sent: Wednesday, January 29, 2020 8:19 PM
> To: alex.williamson@redhat.com; eric.auger@redhat.com
> Subject: [RFC v1 0/2] vfio/pci: expose device's PASID capability to VMs
> 
> Shared Virtual Addressing (SVA), a.k.a, Shared Virtual Memory (SVM) on Intel
> platforms allows address space sharing between device DMA and applications. SVA
> can reduce programming complexity and enhance security.
> 
> To enable SVA, device needs to have PASID capability, which is a key capability for
> SVA. This patchset exposes the device's PASID capability to guest instead of hiding it
> from guest.
> 
> The second patch emulates PASID capability for VFs (Virtual Function) since VFs don't
> implement such capability per PCIe spec. This patch emulates such capability and
> expose to VM if the capability is enabled in PF (Physical Function).
> 
> However, there is an open for PASID emulation. If PF driver disables PASID capability
> at runtime, then it may be an issue. e.g. PF should not disable PASID capability if
> there is guest using this capability on any VF related to this PF. To solve it, may need
> to introduce a generic communication framework between vfio-pci driver and PF
> drivers. Please feel free to give your suggestions on it.
> 
> Liu Yi L (2):
>   vfio/pci: Expose PCIe PASID capability to guest
>   vfio/pci: Emulate PASID/PRI capability for VFs
> 
>  drivers/vfio/pci/vfio_pci_config.c | 321
> ++++++++++++++++++++++++++++++++++++-
>  1 file changed, 318 insertions(+), 3 deletions(-)
> 
> --
> 2.7.4