IOMMU: have vendor code announce supported page sizes
authorJan Beulich <jbeulich@suse.com>
Fri, 22 Apr 2022 12:54:16 +0000 (14:54 +0200)
committerJan Beulich <jbeulich@suse.com>
Fri, 22 Apr 2022 12:54:16 +0000 (14:54 +0200)
commit36992d809dcf052e5c0799769d1d935bae17d882
treed326de6040305607a0fb59a8b2eded29033a066d
parent4e977a70adb1b9036d5fa7705d73ab5dd087faa4
IOMMU: have vendor code announce supported page sizes

Generic code will use this information to determine what order values
can legitimately be passed to the ->{,un}map_page() hooks. For now all
ops structures simply get to announce 4k mappings (as base page size),
and there is (and always has been) an assumption that this matches the
CPU's MMU base page size (eventually we will want to permit IOMMUs with
a base page size smaller than the CPU MMU's).

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
Acked-by: Julien Grall <jgrall@amazon.com>
Reviewed-by: Rahul Singh <rahul.singh@arm.com>
xen/drivers/passthrough/amd/pci_amd_iommu.c
xen/drivers/passthrough/arm/ipmmu-vmsa.c
xen/drivers/passthrough/arm/smmu-v3.c
xen/drivers/passthrough/arm/smmu.c
xen/drivers/passthrough/iommu.c
xen/drivers/passthrough/vtd/iommu.c
xen/include/xen/iommu.h