linux-stable/drivers/iommu
Jacob Pan b0d1f8741b iommu/vt-d: Add nested translation helper function
Nested translation mode is supported in VT-d 3.0 Spec.CH 3.8.
With PASID granular translation type set to 0x11b, translation
result from the first level(FL) also subject to a second level(SL)
page table translation. This mode is used for SVA virtualization,
where FL performs guest virtual to guest physical translation and
SL performs guest physical to host physical translation.

This patch adds a helper function for setting up nested translation
where second level comes from a domain and first level comes from
a guest PGD.

Signed-off-by: Jacob Pan <jacob.jun.pan@linux.intel.com>
Signed-off-by: Liu Yi L <yi.l.liu@intel.com>
Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Link: https://lore.kernel.org/r/20200516062101.29541-4-baolu.lu@linux.intel.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
2020-05-18 15:37:25 +02:00
..
amd_iommu.c iommu/amd: Fix variable "iommu" set but not used 2020-05-13 10:39:43 +02:00
amd_iommu.h iommu/amd: Override wrong IVRS IOAPIC on Raven Ridge systems 2019-08-23 10:26:48 +02:00
amd_iommu_debugfs.c
amd_iommu_init.c iommu/amd: Fix legacy interrupt remapping for x2APIC-enabled system 2020-05-01 13:21:18 +02:00
amd_iommu_proto.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 333 2019-06-05 17:37:06 +02:00
amd_iommu_quirks.c iommu/amd: Apply the same IVRS IOAPIC workaround to Acer Aspire A315-41 2019-10-30 10:24:03 +01:00
amd_iommu_types.h iommu/amd: Remove dev_data->passthrough 2020-05-05 14:36:13 +02:00
amd_iommu_v2.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 333 2019-06-05 17:37:06 +02:00
arm-smmu-impl.c iommu/arm-smmu: Rename public #defines under ARM_SMMU_ namespace 2020-01-10 15:52:25 +00:00
arm-smmu-qcom.c iommu: arm-smmu-impl: Add sdm845 implementation hook 2019-11-04 17:48:37 +00:00
arm-smmu-v3.c iommu/arm-smmu: Convert to probe/release_device() call-backs 2020-05-05 14:36:13 +02:00
arm-smmu.c iommu/arm-smmu: Convert to probe/release_device() call-backs 2020-05-05 14:36:13 +02:00
arm-smmu.h iommu/io-pgtable-arm: Rationalise VTCR handling 2020-01-10 15:52:25 +00:00
dma-iommu.c iommu/dma: Fix MSI reservation allocation 2020-03-04 16:27:56 +01:00
dmar.c iommu/vt-d: Ignore devices with out-of-spec domain number 2020-03-14 09:38:39 +01:00
exynos-iommu.c iommu/exynos: Convert to probe/release_device() call-backs 2020-05-05 14:36:14 +02:00
fsl_pamu.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 266 2019-06-05 17:30:28 +02:00
fsl_pamu.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 266 2019-06-05 17:30:28 +02:00
fsl_pamu_domain.c iommu/pamu: Convert to probe/release_device() call-backs 2020-05-05 14:36:13 +02:00
fsl_pamu_domain.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 266 2019-06-05 17:30:28 +02:00
hyperv-iommu.c
intel-iommu-debugfs.c iommu/vt-d: Populate debugfs if IOMMUs are detected 2020-03-14 20:02:43 +01:00
intel-iommu.c iommu/vt-d: Add nested translation helper function 2020-05-18 15:37:25 +02:00
intel-pasid.c iommu/vt-d: Add nested translation helper function 2020-05-18 15:37:25 +02:00
intel-pasid.h iommu/vt-d: Add nested translation helper function 2020-05-18 15:37:25 +02:00
intel-svm.c Merge branches 'iommu/fixes', 'arm/qcom', 'arm/omap', 'arm/smmu', 'x86/amd', 'x86/vt-d', 'virtio' and 'core' into next 2020-03-27 11:33:27 +01:00
intel-trace.c iommu/vt-d: Add trace events for device dma map/unmap 2019-09-11 12:34:30 +02:00
intel_irq_remapping.c iommu/vt-d: Fix wrong analysis whether devices share the same bus 2019-08-30 15:47:37 +02:00
io-pgtable-arm-v7s.c iommu/io-pgtable-arm: Rationalise TCR handling 2020-01-10 15:52:24 +00:00
io-pgtable-arm.c iommu/io-pgtable-arm: Fix IOVA validation for 32-bit 2020-03-02 17:17:26 +01:00
io-pgtable.c iommu/io-pgtable-arm: Rationalise TCR handling 2020-01-10 15:52:24 +00:00
ioasid.c iommu/ioasid: Add custom allocators 2019-10-15 13:34:25 +02:00
iommu-debugfs.c
iommu-sysfs.c drivers/iommu: Export core IOMMU API symbols to permit modular drivers 2019-12-23 14:06:05 +01:00
iommu-traces.c
iommu.c iommu: Remove functions that support private domain 2020-05-15 12:00:36 +02:00
iova.c iommu/iova: Unify format of the printed messages 2020-05-13 10:54:51 +02:00
ipmmu-vmsa.c iommu/renesas: Fix unused-function warning 2020-05-13 10:46:56 +02:00
irq_remapping.c treewide: Add SPDX license identifier for missed files 2019-05-21 10:50:45 +02:00
irq_remapping.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 333 2019-06-05 17:37:06 +02:00
Kconfig iommu: spapr_tce: Disable compile testing to fix build on book3s_32 config 2020-04-29 13:55:40 +02:00
Makefile iommu/arm-smmu: Restore naming of driver parameter prefix 2020-02-19 12:03:21 +01:00
msm_iommu.c iommu/msm: Convert to probe/release_device() call-backs 2020-05-05 14:36:13 +02:00
msm_iommu.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 267 2019-06-05 17:30:29 +02:00
msm_iommu_hw-8xxx.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 267 2019-06-05 17:30:29 +02:00
mtk_iommu.c iommu/mediatek: Convert to probe/release_device() call-backs 2020-05-05 14:36:13 +02:00
mtk_iommu.h iommu/mediatek: Move the tlb_sync into tlb_flush 2019-11-11 15:02:34 +01:00
mtk_iommu_v1.c iommu/mediatek-v1 Convert to probe/release_device() call-backs 2020-05-05 14:36:13 +02:00
of_iommu.c iommu/arm-smmu-v3: Parse PASID devicetree property of platform devices 2020-01-15 16:00:57 +00:00
omap-iommu-debug.c Merge branches 'x86/vt-d', 'x86/amd', 'arm/smmu', 'arm/omap', 'generic-dma-ops' and 'core' into next 2019-07-04 17:26:48 +02:00
omap-iommu.c iommu/omap: Convert to probe/release_device() call-backs 2020-05-05 14:36:14 +02:00
omap-iommu.h iommu/omap: add support for late attachment of iommu devices 2019-08-09 17:37:10 +02:00
omap-iopgtable.h iommu/omap: Fix -Woverflow warnings when compiling on 64-bit architectures 2020-03-04 16:24:46 +01:00
qcom_iommu.c Linux 5.7-rc4 2020-05-13 12:01:33 +02:00
rockchip-iommu.c iommu/rockchip: Convert to probe/release_device() call-backs 2020-05-05 14:36:13 +02:00
s390-iommu.c iommu/s390: Convert to probe/release_device() call-backs 2020-05-05 14:36:13 +02:00
tegra-gart.c iommu/tegra: Convert to probe/release_device() call-backs 2020-05-05 14:36:14 +02:00
tegra-smmu.c iommu/tegra: Convert to probe/release_device() call-backs 2020-05-05 14:36:14 +02:00
virtio-iommu.c iommu/virtio: Convert to probe/release_device() call-backs 2020-05-05 14:36:13 +02:00