AMD/IOMMU: abstract maximum number of page table levels
authorJan Beulich <jbeulich@suse.com>
Tue, 5 Apr 2022 12:20:04 +0000 (14:20 +0200)
committerJan Beulich <jbeulich@suse.com>
Tue, 5 Apr 2022 12:20:04 +0000 (14:20 +0200)
We will want to use the constant elsewhere.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Paul Durrant <paul@xen.org>
xen/drivers/passthrough/amd/iommu-defs.h
xen/drivers/passthrough/amd/pci_amd_iommu.c

index 774234dfd2a2fa01eaa1235fec4c9b5e22e18615..8a17697ea73e8558f42251c9b10282e26f2ab358 100644 (file)
@@ -106,6 +106,7 @@ struct amd_iommu_dte {
     bool tv:1;
     unsigned int :5;
     unsigned int had:2;
+#define IOMMU_MAX_PT_LEVELS 6
     unsigned int paging_mode:3;
     uint64_t pt_root:40;
     bool ppr:1;
index c9a1cdddaa89349c7d57819f8bcaae643ff3a377..85c07e6999924e7ec223cd1fa622c71ea42ec633 100644 (file)
@@ -337,7 +337,7 @@ int amd_iommu_alloc_root(struct domain *d)
     return 0;
 }
 
-unsigned int __read_mostly amd_iommu_max_paging_mode = 6;
+unsigned int __read_mostly amd_iommu_max_paging_mode = IOMMU_MAX_PT_LEVELS;
 int __read_mostly amd_iommu_min_paging_mode = 1;
 
 static int cf_check amd_iommu_domain_init(struct domain *d)