> From: Jean-Philippe Brucker [mailto:jean-philippe.bruc...@arm.com] > Sent: Saturday, April 28, 2018 2:08 AM > > [...] > >> If this corresponds to QI_GRAN_ALL_ALL in patch 9, the comment should > >> be "Cache of all PASIDs"? Or maybe "all entries for all PASIDs"? Is it > >> different from GRANU_DOMAIN then? > > QI_GRAN_ALL_ALL maps to VT-d spec 6.5.2.4, which invalidates all ext > > TLB cache within a domain. It could reuse GRANU_DOMAIN but I was > > also trying to match the naming convention in the spec. > > Sorry I don't quite understand the difference between TLB and ext TLB > invalidation. Can an ext TLB invalidation do everything a TLB can do > plus some additional parameters (introduced in more recent version of > the spec), or do they have distinct purposes? I'm trying to understand > why it needs to be user-visible
distinct purpose though some overlapped effect: IOTLB invalidate is more for 2nd-level cache on granularity (global/ domain/PSI), with side effect on 1st-level and nested caches (global/ domain). Extended IOTLB invalidate is specifically for 1st-level and nested caches on granularity (per-domain: all PASIDs/per PASID/PSI). Thanks Kevin _______________________________________________ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu