AMD/IOMMU: abstract maximum number of page table levels

We will want to use the constant elsewhere.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Paul Durrant <paul@xen.org>
master commit: a038b514c1
master date: 2022-04-05 14:20:04 +0200
This commit is contained in:
Jan Beulich committed 2022-04-05 15:14:33 +02:00
1 parent bdea7e425c
commit 3e4c94da53
3 files changed
+3 -2

No files matched your search

+1
View 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;
+1 -1
View File
@@ -362,7 +362,7 @@ static inline int amd_iommu_get_paging_mode(unsigned long max_frames)
while ( max_frames > PTE_PER_TABLE_SIZE )
{
max_frames = PTE_PER_TABLE_ALIGN(max_frames) >> PTE_PER_TABLE_SHIFT;
if ( ++level > 6 )
if ( ++level > IOMMU_MAX_PT_LEVELS )
return -ENOMEM;
}
+1 -1
View File
@@ -256,7 +256,7 @@ static int iommu_pde_from_dfn(struct domain *d, unsigned long dfn,
table = hd->arch.root_table;
level = hd->arch.paging_mode;
BUG_ON( table == NULL || level < 1 || level > 6 );
BUG_ON( table == NULL || level < 1 || level > IOMMU_MAX_PT_LEVELS );
/*
* A frame number past what the current page tables can represent can't
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.