diff options
author | Mark Rutland <mark.rutland@arm.com> | 2016-05-31 10:57:59 -0400 |
---|---|---|
committer | Will Deacon <will.deacon@arm.com> | 2016-06-03 05:57:18 -0400 |
commit | 030c4d24447cbf2bd612baea5695952e5f62c042 (patch) | |
tree | 370cfec9c6a7ed803abd94449aab1080b909fed4 | |
parent | 48dd73c55d45d60037ea8d73eab60f2033d90721 (diff) |
arm64: move {PAGE,CONT}_SHIFT into Kconfig
In some cases (e.g. the awk for CONFIG_RANDOMIZE_TEXT_OFFSET) we would
like to make use of PAGE_SHIFT outside of code that can include the
usual header files.
Add a new CONFIG_ARM64_PAGE_SHIFT for this, likewise with
ARM64_CONT_SHIFT for consistency.
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Sudeep Holla <sudeep.holla@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
-rw-r--r-- | arch/arm64/Kconfig | 12 | ||||
-rw-r--r-- | arch/arm64/include/asm/page.h | 12 |
2 files changed, 14 insertions, 10 deletions
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig index 76747d92bc72..5fe320899eb4 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig | |||
@@ -113,6 +113,18 @@ config ARCH_PHYS_ADDR_T_64BIT | |||
113 | config MMU | 113 | config MMU |
114 | def_bool y | 114 | def_bool y |
115 | 115 | ||
116 | config ARM64_PAGE_SHIFT | ||
117 | int | ||
118 | default 16 if ARM64_64K_PAGES | ||
119 | default 14 if ARM64_16K_PAGES | ||
120 | default 12 | ||
121 | |||
122 | config ARM64_CONT_SHIFT | ||
123 | int | ||
124 | default 5 if ARM64_64K_PAGES | ||
125 | default 7 if ARM64_16K_PAGES | ||
126 | default 4 | ||
127 | |||
116 | config ARCH_MMAP_RND_BITS_MIN | 128 | config ARCH_MMAP_RND_BITS_MIN |
117 | default 14 if ARM64_64K_PAGES | 129 | default 14 if ARM64_64K_PAGES |
118 | default 16 if ARM64_16K_PAGES | 130 | default 16 if ARM64_16K_PAGES |
diff --git a/arch/arm64/include/asm/page.h b/arch/arm64/include/asm/page.h index 17b45f7d96d3..8472c6def5ef 100644 --- a/arch/arm64/include/asm/page.h +++ b/arch/arm64/include/asm/page.h | |||
@@ -23,16 +23,8 @@ | |||
23 | 23 | ||
24 | /* PAGE_SHIFT determines the page size */ | 24 | /* PAGE_SHIFT determines the page size */ |
25 | /* CONT_SHIFT determines the number of pages which can be tracked together */ | 25 | /* CONT_SHIFT determines the number of pages which can be tracked together */ |
26 | #ifdef CONFIG_ARM64_64K_PAGES | 26 | #define PAGE_SHIFT CONFIG_ARM64_PAGE_SHIFT |
27 | #define PAGE_SHIFT 16 | 27 | #define CONT_SHIFT CONFIG_ARM64_CONT_SHIFT |
28 | #define CONT_SHIFT 5 | ||
29 | #elif defined(CONFIG_ARM64_16K_PAGES) | ||
30 | #define PAGE_SHIFT 14 | ||
31 | #define CONT_SHIFT 7 | ||
32 | #else | ||
33 | #define PAGE_SHIFT 12 | ||
34 | #define CONT_SHIFT 4 | ||
35 | #endif | ||
36 | #define PAGE_SIZE (_AC(1, UL) << PAGE_SHIFT) | 28 | #define PAGE_SIZE (_AC(1, UL) << PAGE_SHIFT) |
37 | #define PAGE_MASK (~(PAGE_SIZE-1)) | 29 | #define PAGE_MASK (~(PAGE_SIZE-1)) |
38 | 30 | ||