On Sun, Jun 16, 2024 at 02:11:46PM +0800, Lu Baolu wrote: > Currently, when attaching a domain to a device or its PASID, domain is > stored within the iommu group. It could be retrieved for use during the > window between attachment and detachment. > > With new features introduced, there's a need to store more information > than just a domain pointer. This information essentially represents the > association between a domain and a device. For example, the SVA code > already has a custom struct iommu_sva which represents a bond between > sva domain and a PASID of a device. Looking forward, the IOMMUFD needs > a place to store the iommufd_device pointer in the core, so that the > device object ID could be quickly retrieved in the critical fault handling > path. > > Introduce domain attachment handle that explicitly represents the > attachment relationship between a domain and a device or its PASID. > > Co-developed-by: Jason Gunthorpe <jgg@xxxxxxxxxx> > Signed-off-by: Jason Gunthorpe <jgg@xxxxxxxxxx> > Signed-off-by: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx> > --- > include/linux/iommu.h | 18 +++++++++++++++--- > drivers/dma/idxd/init.c | 2 +- > drivers/iommu/iommu-sva.c | 13 ++++++++----- > drivers/iommu/iommu.c | 26 ++++++++++++++++---------- > 4 files changed, 40 insertions(+), 19 deletions(-) Reviewed-by: Jason Gunthorpe <jgg@xxxxxxxxxx> Jason