> From: Baolu Lu <[email protected]>
> Sent: Wednesday, September 27, 2023 10:49 AM
> 
> On 9/26/23 5:26 PM, Yi Liu wrote:
> > From: Kevin Tian<[email protected]>
> >
> > This introduces three APIs for device drivers to manage pasid attach/
> > replace/detach.
> >
> >      int iommufd_device_pasid_attach(struct iommufd_device *idev,
> >                                 u32 pasid, u32 *pt_id);
> >      int iommufd_device_pasid_replace(struct iommufd_device *idev,
> >                                  u32 pasid, u32 *pt_id);
> >      void iommufd_device_pasid_detach(struct iommufd_device *idev,
> >                                  u32 pasid);
> 
> I am a bit puzzled. Do we really need both attach and replace interfaces
> to install a hwpt onto a pasid on device? The IOMMUFD already tracks the
> connections between hwpt and {device, pasid}, so it could easily call
> the right iommu interfaces (attach vs. replace). Perhaps I overlooked
> previous discussion on this.
> 

attach means a transition from non-present to present.

replace can support changing a present entry atomically if iommu driver
support it.

the necessity of supporting both applies to both RID and RID+PASID.

Reply via email to