iommu/arm-smmu: Support SMMUv1 64KB supplement
authorRobin Murphy <robin.murphy@arm.com>
Wed, 13 Apr 2016 17:13:03 +0000 (18:13 +0100)
committerWill Deacon <will.deacon@arm.com>
Tue, 3 May 2016 17:23:03 +0000 (18:23 +0100)
commitb7862e3559f9ab4aaa258dcb846986601a7ca0b8
tree651a030a209b4e69649c35df886ec5bd80e62452
parent7602b8710645da48b2937f05fa41d627a0e73dad
iommu/arm-smmu: Support SMMUv1 64KB supplement

The 64KB Translation Granule Supplement to the SMMUv1 architecture
allows an SMMUv1 implementation to support 64KB pages for stage 2
translations, using a constrained VMSAv8 descriptor format limited
to 40-bit addresses. Now that we can freely mix and match context
formats, we can actually handle having 4KB pages via an AArch32
context but 64KB pages via an AArch64 context, so plumb it in.

It is assumed that any implementations will have hardware capabilities
matching the format constraints, thus obviating the need for excessive
sanity-checking; this is the case for MMU-401, the only ARM Ltd.
implementation.

CC: Eric Auger <eric.auger@linaro.org>
Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
drivers/iommu/arm-smmu.c