linux/drivers/iommu
Will Deacon 4d09d99d54 iommu/arm-smmu: fix corner cases in address size calculations
Working out the usable address sizes for the SMMU is surprisingly tricky.
We must take into account both the limitations of the hardware for VA,
IPA and PA sizes but also any restrictions imposed by the Linux page
table code, particularly when dealing with nested translation (where the
IPA size is limited by the input address size at stage-2).

This patch fixes a few corner cases in our address size handling so that
we correctly deal with 40-bit addresses in TTBCR2 and restrict the IPA
size differently depending on whether or not we have support for nested
translation.

Signed-off-by: Will Deacon <will.deacon@arm.com>
2014-09-02 10:04:43 +01:00
..
amd_iommu_init.c iommu/amd: Add sysfs support 2014-07-04 12:35:59 +02:00
amd_iommu_proto.h
amd_iommu_types.h Merge branches 'x86/vt-d', 'x86/amd', 'arm/omap', 'ppc/pamu', 'arm/smmu', 'arm/exynos' and 'core' into next 2014-07-31 20:29:02 +02:00
amd_iommu_v2.c iommu/amd: Fix 2 typos in comments 2014-07-30 16:07:50 +02:00
amd_iommu.c iommu/amd: Fix cleanup_domain for mass device removal 2014-08-18 13:37:56 +02:00
arm-smmu.c iommu/arm-smmu: fix corner cases in address size calculations 2014-09-02 10:04:43 +01:00
dmar.c ACPI and power management updates for 3.17-rc1 2014-08-06 20:34:19 -07:00
exynos-iommu.c iommu: Constify struct iommu_ops 2014-07-07 10:36:59 +02:00
fsl_pamu_domain.c Merge branches 'x86/vt-d', 'x86/amd', 'arm/omap', 'ppc/pamu', 'arm/smmu', 'arm/exynos' and 'core' into next 2014-07-31 20:29:02 +02:00
fsl_pamu_domain.h
fsl_pamu.c Merge branches 'x86/vt-d', 'x86/amd', 'arm/omap', 'ppc/pamu', 'arm/smmu', 'arm/exynos' and 'core' into next 2014-07-31 20:29:02 +02:00
fsl_pamu.h
intel_irq_remapping.c iommu/vt-d: Fix race setting IRQ CPU affinity while freeing IRQ 2014-07-31 13:45:05 +02:00
intel-iommu.c iommu/vt-d: Defer domain removal if device is assigned to a driver 2014-08-18 13:37:56 +02:00
iommu-sysfs.c iommu: Fix compile error in iommu-sysfs.c 2014-07-07 12:01:21 +02:00
iommu-traces.c
iommu.c iommu/core: Check for the right function pointer in iommu_map() 2014-08-19 00:19:26 +02:00
iova.c
ipmmu-vmsa.c iommu: Constify struct iommu_ops 2014-07-07 10:36:59 +02:00
irq_remapping.c x86: irq_remapping: Use irq_alloc/free_hwirq() 2014-05-16 14:05:18 +02:00
irq_remapping.h
Kconfig Merge branches 'x86/vt-d', 'x86/amd', 'arm/omap', 'ppc/pamu', 'arm/smmu', 'arm/exynos' and 'core' into next 2014-07-31 20:29:02 +02:00
Makefile Merge branches 'x86/vt-d', 'x86/amd', 'arm/omap', 'ppc/pamu', 'arm/smmu', 'arm/exynos' and 'core' into next 2014-07-31 20:29:02 +02:00
msm_iommu_dev.c iommu/msm: Use devm_ioremap_resource to simplify code 2014-05-30 20:20:12 +02:00
msm_iommu_hw-8xxx.h
msm_iommu.c iommu: Constify struct iommu_ops 2014-07-07 10:36:59 +02:00
msm_iommu.h
of_iommu.c
omap-iommu2.c
omap-iommu-debug.c iommu/omap: Remove virtual memory manager 2014-07-29 12:38:07 +02:00
omap-iommu.c Merge branches 'x86/vt-d', 'x86/amd', 'arm/omap', 'ppc/pamu', 'arm/smmu', 'arm/exynos' and 'core' into next 2014-07-31 20:29:02 +02:00
omap-iommu.h iommu/omap: Remove virtual memory manager 2014-07-29 12:38:07 +02:00
omap-iopgtable.h iommu/omap: Move to_iommu definition from omap-iopgtable.h 2014-04-16 16:30:15 +02:00
shmobile-iommu.c iommu: Constify struct iommu_ops 2014-07-07 10:36:59 +02:00
shmobile-ipmmu.c iommu/shmobile: Use devm_ioremap_resource() 2014-04-17 12:16:12 +02:00
shmobile-ipmmu.h
tegra-gart.c iommu: Constify struct iommu_ops 2014-07-07 10:36:59 +02:00
tegra-smmu.c ARM: SoC cleanups for 3.17 2014-08-08 11:00:26 -07:00