RE: [RFC 7/7] vfio: Add vfio_register_pasid_iommu_dev()

From: Tian, Kevin
Date: Tue Oct 10 2023 - 04:34:11 EST


> From: Liu, Yi L <yi.l.liu@xxxxxxxxx>
> Sent: Monday, October 9, 2023 4:51 PM
>
> From: Kevin Tian <kevin.tian@xxxxxxxxx>
>
> This adds vfio_register_pasid_iommu_dev() for device driver to register
> virtual devices which are isolated per PASID in physical IOMMU. The major
> usage is for the SIOV devices which allows device driver to tag the DMAs
> out of virtual devices within it with different PASIDs.
>
> For a given vfio device, VFIO core creates both group user interface and
> device user interface (device cdev) if configured. However, for the virtual
> devices backed by PASID of the device, VFIO core shall only create device
> user interface as there is no plan to support such devices in the legacy
> vfio_iommu drivers which is a must if creating group user interface for
> such virtual devices. This introduces a VFIO_PASID_IOMMU group type for
> the device driver to register PASID virtual devices, and provides a wrapper
> API for it. In particular no iommu group (neither fake group or real group)
> exists per PASID, hence no group interface for this type.
>

this commit msg needs some revision. The key is that there is no group
per pasid *in concept* so it doesn't make sense to fake a group...