iommu: Allow selecting page sizes per domain
authorRobin Murphy <robin.murphy@arm.com>
Thu, 7 Apr 2016 17:42:06 +0000 (18:42 +0100)
committerJoerg Roedel <jroedel@suse.de>
Mon, 9 May 2016 13:33:29 +0000 (15:33 +0200)
commitd16e0faab911cc0e100a1e8e93635b432566608e
treec91fd568f308365f22d42a0ab8cc07e6396c678f
parent53c92d793395fdab9edbd2f79b084bb6b2e6ae79
iommu: Allow selecting page sizes per domain

Many IOMMUs support multiple page table formats, meaning that any given
domain may only support a subset of the hardware page sizes presented in
iommu_ops->pgsize_bitmap. There are also certain use-cases where the
creator of a domain may want to control which page sizes are used, for
example to force the use of hugepage mappings to reduce pagetable walk
depth.

To this end, add a per-domain pgsize_bitmap to represent the subset of
page sizes actually in use, to make it possible for domains with
different requirements to coexist.

Signed-off-by: Will Deacon <will.deacon@arm.com>
[rm: hijacked and rebased original patch with new commit message]
Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Acked-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/dma-iommu.c
drivers/iommu/iommu.c
drivers/iommu/mtk_iommu.c
drivers/vfio/vfio_iommu_type1.c
include/linux/iommu.h