On Mon, 13 May 2019 18:09:48 +0100 Jean-Philippe Brucker <jean-philippe.bruc...@arm.com> wrote:
> On 13/05/2019 17:50, Auger Eric wrote: > >> struct iommu_inv_pasid_info { > >> #define IOMMU_INV_PASID_FLAGS_PASID (1 << 0) > >> #define IOMMU_INV_PASID_FLAGS_ARCHID (1 << 1) > >> __u32 flags; > >> __u32 archid; > >> __u64 pasid; > >> }; > > I agree it does the job now. However it looks a bit strange to do a > > PASID based invalidation in my case - SMMUv3 nested stage - where I > > don't have any PASID involved. > > > > Couldn't we call it context based invalidation then? A context can > > be tagged by a PASID or/and an ARCHID. > > I think calling it "context" would be confusing as well (I shouldn't > have used it earlier), since VT-d uses that name for device table > entries (=STE on Arm SMMU). Maybe "addr_space"? > I am still struggling to understand what ARCHID is after scanning through SMMUv3.1 spec. It seems to be a constant for a given SMMU. Why do you need to pass it down every time? Could you point to me the document or explain a little more on ARCHID use cases. We have three fileds called pasid under this struct iommu_cache_invalidate_info{} Gets confusing :) > Thanks, > Jean > > > > > Domain invalidation would invalidate all the contexts belonging to > > that domain. > > > > Thanks > > > > Eric [Jacob Pan] _______________________________________________ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu