arm64, jump label: detect %c support for ARM64
[linux-2.6-block.git] / arch / arm64 / Kconfig
CommitLineData
8c2c3df3
CM
1config ARM64
2 def_bool y
3 select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
5686b06c 4 select ARCH_USE_CMPXCHG_LOCKREF
1f85008e 5 select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
9170100e 6 select ARCH_WANT_OPTIONAL_GPIOLIB
6212a512 7 select ARCH_WANT_COMPAT_IPC_PARSE_VERSION
b6f35981 8 select ARCH_WANT_FRAME_POINTERS
25c92a37 9 select ARM_AMBA
1aee5d7a 10 select ARM_ARCH_TIMER
c4188edc 11 select ARM_GIC
adace895 12 select BUILDTIME_EXTABLE_SORT
db2789b5 13 select CLONE_BACKWARDS
7ca2ef33 14 select COMMON_CLK
166936ba 15 select CPU_PM if (SUSPEND || CPU_IDLE)
7bc13fd3 16 select DCACHE_WORD_ACCESS
8c2c3df3 17 select GENERIC_CLOCKEVENTS
1f85008e 18 select GENERIC_CLOCKEVENTS_BROADCAST if SMP
8c2c3df3
CM
19 select GENERIC_IOMAP
20 select GENERIC_IRQ_PROBE
21 select GENERIC_IRQ_SHOW
65cd4f6c 22 select GENERIC_SCHED_CLOCK
8c2c3df3 23 select GENERIC_SMP_IDLE_THREAD
12a0ef7b
WD
24 select GENERIC_STRNCPY_FROM_USER
25 select GENERIC_STRNLEN_USER
8c2c3df3
CM
26 select GENERIC_TIME_VSYSCALL
27 select HARDIRQS_SW_RESEND
28 select HAVE_ARCH_TRACEHOOK
9b2a60c4 29 select HAVE_DEBUG_BUGVERBOSE
b69ec42b 30 select HAVE_DEBUG_KMEMLEAK
8c2c3df3
CM
31 select HAVE_DMA_API_DEBUG
32 select HAVE_DMA_ATTRS
6ac2104d 33 select HAVE_DMA_CONTIGUOUS
50afc33a 34 select HAVE_EFFICIENT_UNALIGNED_ACCESS
8c2c3df3 35 select HAVE_GENERIC_DMA_COHERENT
8c2c3df3 36 select HAVE_HW_BREAKPOINT if PERF_EVENTS
8c2c3df3
CM
37 select HAVE_MEMBLOCK
38 select HAVE_PERF_EVENTS
8c2c3df3 39 select IRQ_DOMAIN
fea2acaa 40 select MODULES_USE_ELF_RELA
8c2c3df3
CM
41 select NO_BOOTMEM
42 select OF
43 select OF_EARLY_FLATTREE
44 select PERF_USE_VMALLOC
aa1e8ec1
CM
45 select POWER_RESET
46 select POWER_SUPPLY
8c2c3df3
CM
47 select RTC_LIB
48 select SPARSE_IRQ
7ac57a89 49 select SYSCTL_EXCEPTION_TRACE
8c2c3df3
CM
50 help
51 ARM 64-bit (AArch64) Linux support.
52
53config 64BIT
54 def_bool y
55
56config ARCH_PHYS_ADDR_T_64BIT
57 def_bool y
58
59config MMU
60 def_bool y
61
62config NO_IOPORT
63 def_bool y
64
65config STACKTRACE_SUPPORT
66 def_bool y
67
68config LOCKDEP_SUPPORT
69 def_bool y
70
71config TRACE_IRQFLAGS_SUPPORT
72 def_bool y
73
8c2c3df3
CM
74config RWSEM_GENERIC_SPINLOCK
75 def_bool y
76
77config GENERIC_HWEIGHT
78 def_bool y
79
80config GENERIC_CSUM
81 def_bool y
82
83config GENERIC_CALIBRATE_DELAY
84 def_bool y
85
86config ZONE_DMA32
87 def_bool y
88
89config ARCH_DMA_ADDR_T_64BIT
90 def_bool y
91
92config NEED_DMA_MAP_STATE
93 def_bool y
94
95config NEED_SG_DMA_LENGTH
96 def_bool y
97
98config SWIOTLB
99 def_bool y
100
101config IOMMU_HELPER
102 def_bool SWIOTLB
103
4cfb3613
AB
104config KERNEL_MODE_NEON
105 def_bool y
106
8c2c3df3
CM
107source "init/Kconfig"
108
109source "kernel/Kconfig.freezer"
110
1ae90e79
CM
111menu "Platform selection"
112
113config ARCH_VEXPRESS
114 bool "ARMv8 software model (Versatile Express)"
115 select ARCH_REQUIRE_GPIOLIB
116 select COMMON_CLK_VERSATILE
aa1e8ec1 117 select POWER_RESET_VEXPRESS
1ae90e79
CM
118 select VEXPRESS_CONFIG
119 help
120 This enables support for the ARMv8 software model (Versatile
121 Express).
8c2c3df3 122
15942853
VK
123config ARCH_XGENE
124 bool "AppliedMicro X-Gene SOC Family"
125 help
126 This enables support for AppliedMicro X-Gene SOC Family
127
8c2c3df3
CM
128endmenu
129
130menu "Bus support"
131
132config ARM_AMBA
133 bool
134
135endmenu
136
137menu "Kernel Features"
138
8c2c3df3
CM
139config ARM64_64K_PAGES
140 bool "Enable 64KB pages support"
141 help
142 This feature enables 64KB pages support (4KB by default)
143 allowing only two levels of page tables and faster TLB
144 look-up. AArch32 emulation is not available when this feature
145 is enabled.
146
a872013d
WD
147config CPU_BIG_ENDIAN
148 bool "Build big-endian kernel"
149 help
150 Say Y if you plan on running a kernel in big-endian mode.
151
8c2c3df3
CM
152config SMP
153 bool "Symmetric Multi-Processing"
8c2c3df3
CM
154 help
155 This enables support for systems with more than one CPU. If
156 you say N here, the kernel will run on single and
157 multiprocessor machines, but will use only one CPU of a
158 multiprocessor machine. If you say Y here, the kernel will run
159 on many, but not all, single processor machines. On a single
160 processor machine, the kernel will run faster if you say N
161 here.
162
163 If you don't know what to do here, say N.
164
165config NR_CPUS
166 int "Maximum number of CPUs (2-32)"
167 range 2 32
168 depends on SMP
15942853 169 # These have to remain sorted largest to smallest
62aceb8f 170 default "8"
8c2c3df3 171
9327e2c6
MR
172config HOTPLUG_CPU
173 bool "Support for hot-pluggable CPUs"
174 depends on SMP
175 help
176 Say Y here to experiment with turning CPUs off and on. CPUs
177 can be controlled through /sys/devices/system/cpu.
178
8c2c3df3
CM
179source kernel/Kconfig.preempt
180
181config HZ
182 int
183 default 100
184
185config ARCH_HAS_HOLES_MEMORYMODEL
186 def_bool y if SPARSEMEM
187
188config ARCH_SPARSEMEM_ENABLE
189 def_bool y
190 select SPARSEMEM_VMEMMAP_ENABLE
191
192config ARCH_SPARSEMEM_DEFAULT
193 def_bool ARCH_SPARSEMEM_ENABLE
194
195config ARCH_SELECT_MEMORY_MODEL
196 def_bool ARCH_SPARSEMEM_ENABLE
197
198config HAVE_ARCH_PFN_VALID
199 def_bool ARCH_HAS_HOLES_MEMORYMODEL || !SPARSEMEM
200
201config HW_PERF_EVENTS
202 bool "Enable hardware performance counter support for perf events"
203 depends on PERF_EVENTS
204 default y
205 help
206 Enable hardware performance counter support for perf events. If
207 disabled, perf events will use software events only.
208
084bd298
SC
209config SYS_SUPPORTS_HUGETLBFS
210 def_bool y
211
212config ARCH_WANT_GENERAL_HUGETLB
213 def_bool y
214
215config ARCH_WANT_HUGE_PMD_SHARE
216 def_bool y if !ARM64_64K_PAGES
217
af074848
SC
218config HAVE_ARCH_TRANSPARENT_HUGEPAGE
219 def_bool y
220
8c2c3df3
CM
221source "mm/Kconfig"
222
aa42aa13
SS
223config XEN_DOM0
224 def_bool y
225 depends on XEN
226
227config XEN
228 bool "Xen guest support on ARM64 (EXPERIMENTAL)"
229 depends on ARM64 && OF
83862ccf 230 select SWIOTLB_XEN
aa42aa13
SS
231 help
232 Say Y if you want to run Linux in a Virtual Machine on Xen on ARM64.
233
d03bb145
SC
234config FORCE_MAX_ZONEORDER
235 int
236 default "14" if (ARM64_64K_PAGES && TRANSPARENT_HUGEPAGE)
237 default "11"
238
8c2c3df3
CM
239endmenu
240
241menu "Boot options"
242
243config CMDLINE
244 string "Default kernel command string"
245 default ""
246 help
247 Provide a set of default command-line options at build time by
248 entering them here. As a minimum, you should specify the the
249 root device (e.g. root=/dev/nfs).
250
251config CMDLINE_FORCE
252 bool "Always use the default kernel command string"
253 help
254 Always use the default kernel command string, even if the boot
255 loader passes other arguments to the kernel.
256 This is useful if you cannot or don't want to change the
257 command-line options your boot loader passes to the kernel.
258
259endmenu
260
261menu "Userspace binary formats"
262
263source "fs/Kconfig.binfmt"
264
265config COMPAT
266 bool "Kernel support for 32-bit EL0"
267 depends on !ARM64_64K_PAGES
268 select COMPAT_BINFMT_ELF
af1839eb 269 select HAVE_UID16
84b9e9b4 270 select OLD_SIGSUSPEND3
51682036 271 select COMPAT_OLD_SIGACTION
8c2c3df3
CM
272 help
273 This option enables support for a 32-bit EL0 running under a 64-bit
274 kernel at EL1. AArch32-specific components such as system calls,
275 the user helper functions, VFP support and the ptrace interface are
276 handled appropriately by the kernel.
277
278 If you want to execute 32-bit userspace applications, say Y.
279
280config SYSVIPC_COMPAT
281 def_bool y
282 depends on COMPAT && SYSVIPC
283
284endmenu
285
166936ba
LP
286menu "Power management options"
287
288source "kernel/power/Kconfig"
289
290config ARCH_SUSPEND_POSSIBLE
291 def_bool y
292
293config ARM64_CPU_SUSPEND
294 def_bool PM_SLEEP
295
296endmenu
297
1307220d
LP
298menu "CPU Power Management"
299
300source "drivers/cpuidle/Kconfig"
301
302endmenu
303
8c2c3df3
CM
304source "net/Kconfig"
305
306source "drivers/Kconfig"
307
308source "fs/Kconfig"
309
c3eb5b14
MZ
310source "arch/arm64/kvm/Kconfig"
311
8c2c3df3
CM
312source "arch/arm64/Kconfig.debug"
313
314source "security/Kconfig"
315
316source "crypto/Kconfig"
317
318source "lib/Kconfig"