aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm64/Kconfig
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm64/Kconfig')
-rw-r--r--arch/arm64/Kconfig57
1 files changed, 55 insertions, 2 deletions
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index 839f48c26ef0..f3b584be76d7 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -1,7 +1,6 @@
1config ARM64 1config ARM64
2 def_bool y 2 def_bool y
3 select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE 3 select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
4 select ARCH_HAS_OPP
5 select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST 4 select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
6 select ARCH_USE_CMPXCHG_LOCKREF 5 select ARCH_USE_CMPXCHG_LOCKREF
7 select ARCH_SUPPORTS_ATOMIC_RMW 6 select ARCH_SUPPORTS_ATOMIC_RMW
@@ -11,6 +10,8 @@ config ARM64
11 select ARM_AMBA 10 select ARM_AMBA
12 select ARM_ARCH_TIMER 11 select ARM_ARCH_TIMER
13 select ARM_GIC 12 select ARM_GIC
13 select AUDIT_ARCH_COMPAT_GENERIC
14 select ARM_GIC_V3
14 select BUILDTIME_EXTABLE_SORT 15 select BUILDTIME_EXTABLE_SORT
15 select CLONE_BACKWARDS 16 select CLONE_BACKWARDS
16 select COMMON_CLK 17 select COMMON_CLK
@@ -29,10 +30,12 @@ config ARM64
29 select GENERIC_STRNLEN_USER 30 select GENERIC_STRNLEN_USER
30 select GENERIC_TIME_VSYSCALL 31 select GENERIC_TIME_VSYSCALL
31 select HARDIRQS_SW_RESEND 32 select HARDIRQS_SW_RESEND
33 select HAVE_ARCH_AUDITSYSCALL
32 select HAVE_ARCH_JUMP_LABEL 34 select HAVE_ARCH_JUMP_LABEL
33 select HAVE_ARCH_KGDB 35 select HAVE_ARCH_KGDB
34 select HAVE_ARCH_TRACEHOOK 36 select HAVE_ARCH_TRACEHOOK
35 select HAVE_C_RECORDMCOUNT 37 select HAVE_C_RECORDMCOUNT
38 select HAVE_CC_STACKPROTECTOR
36 select HAVE_DEBUG_BUGVERBOSE 39 select HAVE_DEBUG_BUGVERBOSE
37 select HAVE_DEBUG_KMEMLEAK 40 select HAVE_DEBUG_KMEMLEAK
38 select HAVE_DMA_API_DEBUG 41 select HAVE_DMA_API_DEBUG
@@ -63,6 +66,7 @@ config ARM64
63 select RTC_LIB 66 select RTC_LIB
64 select SPARSE_IRQ 67 select SPARSE_IRQ
65 select SYSCTL_EXCEPTION_TRACE 68 select SYSCTL_EXCEPTION_TRACE
69 select HAVE_CONTEXT_TRACKING
66 help 70 help
67 ARM 64-bit (AArch64) Linux support. 71 ARM 64-bit (AArch64) Linux support.
68 72
@@ -155,14 +159,63 @@ endmenu
155 159
156menu "Kernel Features" 160menu "Kernel Features"
157 161
162choice
163 prompt "Page size"
164 default ARM64_4K_PAGES
165 help
166 Page size (translation granule) configuration.
167
168config ARM64_4K_PAGES
169 bool "4KB"
170 help
171 This feature enables 4KB pages support.
172
158config ARM64_64K_PAGES 173config ARM64_64K_PAGES
159 bool "Enable 64KB pages support" 174 bool "64KB"
160 help 175 help
161 This feature enables 64KB pages support (4KB by default) 176 This feature enables 64KB pages support (4KB by default)
162 allowing only two levels of page tables and faster TLB 177 allowing only two levels of page tables and faster TLB
163 look-up. AArch32 emulation is not available when this feature 178 look-up. AArch32 emulation is not available when this feature
164 is enabled. 179 is enabled.
165 180
181endchoice
182
183choice
184 prompt "Virtual address space size"
185 default ARM64_VA_BITS_39 if ARM64_4K_PAGES
186 default ARM64_VA_BITS_42 if ARM64_64K_PAGES
187 help
188 Allows choosing one of multiple possible virtual address
189 space sizes. The level of translation table is determined by
190 a combination of page size and virtual address space size.
191
192config ARM64_VA_BITS_39
193 bool "39-bit"
194 depends on ARM64_4K_PAGES
195
196config ARM64_VA_BITS_42
197 bool "42-bit"
198 depends on ARM64_64K_PAGES
199
200config ARM64_VA_BITS_48
201 bool "48-bit"
202 depends on BROKEN
203
204endchoice
205
206config ARM64_VA_BITS
207 int
208 default 39 if ARM64_VA_BITS_39
209 default 42 if ARM64_VA_BITS_42
210 default 48 if ARM64_VA_BITS_48
211
212config ARM64_PGTABLE_LEVELS
213 int
214 default 2 if ARM64_64K_PAGES && ARM64_VA_BITS_42
215 default 3 if ARM64_64K_PAGES && ARM64_VA_BITS_48
216 default 3 if ARM64_4K_PAGES && ARM64_VA_BITS_39
217 default 4 if ARM64_4K_PAGES && ARM64_VA_BITS_48
218
166config CPU_BIG_ENDIAN 219config CPU_BIG_ENDIAN
167 bool "Build big-endian kernel" 220 bool "Build big-endian kernel"
168 help 221 help