> 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...