diff options
| author | Lu Baolu <baolu.lu@linux.intel.com> | 2024-04-24 15:16:33 +0800 |
|---|---|---|
| committer | Joerg Roedel <jroedel@suse.de> | 2024-04-26 11:57:40 +0200 |
| commit | 3b1d9e2b2d6856eabf5faa12d20c97fef657999f (patch) | |
| tree | 3f8a1683e5eea40ad1df5f3d7d1ce7782967d6ed /drivers/iommu/intel/Makefile | |
| parent | 304b3bde24b58515a75fd198beb52ca57df6275f (diff) | |
| download | lwn-3b1d9e2b2d6856eabf5faa12d20c97fef657999f.tar.gz lwn-3b1d9e2b2d6856eabf5faa12d20c97fef657999f.zip | |
iommu/vt-d: Add cache tag assignment interface
Caching tag is a combination of tags used by the hardware to cache various
translations. Whenever a mapping in a domain is changed, the IOMMU driver
should invalidate the caches with the caching tags. The VT-d specification
describes caching tags in section 6.2.1, Tagging of Cached Translations.
Add interface to assign caching tags to an IOMMU domain when attached to a
RID or PASID, and unassign caching tags when a domain is detached from a
RID or PASID. All caching tags are listed in the per-domain tag list and
are protected by a dedicated lock.
In addition to the basic IOTLB and devTLB caching tag types, NESTING_IOTLB
and NESTING_DEVTLB tag types are also introduced. These tags are used for
caches that store translations for DMA accesses through a nested user
domain. They are affected by changes to mappings in the parent domain.
Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
Link: https://lore.kernel.org/r/20240416080656.60968-2-baolu.lu@linux.intel.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
Diffstat (limited to 'drivers/iommu/intel/Makefile')
| -rw-r--r-- | drivers/iommu/intel/Makefile | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/iommu/intel/Makefile b/drivers/iommu/intel/Makefile index 5402b699a122..c8beb0281559 100644 --- a/drivers/iommu/intel/Makefile +++ b/drivers/iommu/intel/Makefile @@ -1,6 +1,6 @@ # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_DMAR_TABLE) += dmar.o -obj-$(CONFIG_INTEL_IOMMU) += iommu.o pasid.o nested.o +obj-$(CONFIG_INTEL_IOMMU) += iommu.o pasid.o nested.o cache.o obj-$(CONFIG_DMAR_TABLE) += trace.o cap_audit.o obj-$(CONFIG_DMAR_PERF) += perf.o obj-$(CONFIG_INTEL_IOMMU_DEBUGFS) += debugfs.o |
