Skip to content

Commit e676594

Browse files
Gavin Shanwilldeacon
authored andcommitted
arm64/mm: Unify CONT_PMD_SHIFT
Similar to how CONT_PTE_SHIFT is determined, this introduces a new kernel option (CONFIG_CONT_PMD_SHIFT) to determine CONT_PMD_SHIFT. Signed-off-by: Gavin Shan <gshan@redhat.com> Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com> Acked-by: Catalin Marinas <catalin.marinas@arm.com> Link: https://lore.kernel.org/r/20200910095936.20307-3-gshan@redhat.com Signed-off-by: Will Deacon <will@kernel.org>
1 parent c0d6de3 commit e676594

2 files changed

Lines changed: 8 additions & 8 deletions

File tree

arch/arm64/Kconfig

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -217,6 +217,12 @@ config ARM64_CONT_PTE_SHIFT
217217
default 7 if ARM64_16K_PAGES
218218
default 4
219219

220+
config ARM64_CONT_PMD_SHIFT
221+
int
222+
default 5 if ARM64_64K_PAGES
223+
default 5 if ARM64_16K_PAGES
224+
default 4
225+
220226
config ARCH_MMAP_RND_BITS_MIN
221227
default 14 if ARM64_64K_PAGES
222228
default 16 if ARM64_16K_PAGES

arch/arm64/include/asm/pgtable-hwdef.h

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -82,17 +82,11 @@
8282
* Contiguous page definitions.
8383
*/
8484
#define CONT_PTE_SHIFT (CONFIG_ARM64_CONT_PTE_SHIFT + PAGE_SHIFT)
85-
#ifdef CONFIG_ARM64_64K_PAGES
86-
#define CONT_PMD_SHIFT (5 + PMD_SHIFT)
87-
#elif defined(CONFIG_ARM64_16K_PAGES)
88-
#define CONT_PMD_SHIFT (5 + PMD_SHIFT)
89-
#else
90-
#define CONT_PMD_SHIFT (4 + PMD_SHIFT)
91-
#endif
92-
9385
#define CONT_PTES (1 << (CONT_PTE_SHIFT - PAGE_SHIFT))
9486
#define CONT_PTE_SIZE (CONT_PTES * PAGE_SIZE)
9587
#define CONT_PTE_MASK (~(CONT_PTE_SIZE - 1))
88+
89+
#define CONT_PMD_SHIFT (CONFIG_ARM64_CONT_PMD_SHIFT + PMD_SHIFT)
9690
#define CONT_PMDS (1 << (CONT_PMD_SHIFT - PMD_SHIFT))
9791
#define CONT_PMD_SIZE (CONT_PMDS * PMD_SIZE)
9892
#define CONT_PMD_MASK (~(CONT_PMD_SIZE - 1))

0 commit comments

Comments
 (0)