Merge remote-tracking branches 'asoc/topic/adau1977', 'asoc/topic/ak4642', 'asoc...
[sfrench/cifs-2.6.git] / arch / arm64 / Kconfig
1 config ARM64
2         def_bool y
3         select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
4         select ARCH_HAS_OPP
5         select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
6         select ARCH_USE_CMPXCHG_LOCKREF
7         select ARCH_SUPPORTS_ATOMIC_RMW
8         select ARCH_WANT_OPTIONAL_GPIOLIB
9         select ARCH_WANT_COMPAT_IPC_PARSE_VERSION
10         select ARCH_WANT_FRAME_POINTERS
11         select ARM_AMBA
12         select ARM_ARCH_TIMER
13         select ARM_GIC
14         select BUILDTIME_EXTABLE_SORT
15         select CLONE_BACKWARDS
16         select COMMON_CLK
17         select CPU_PM if (SUSPEND || CPU_IDLE)
18         select DCACHE_WORD_ACCESS
19         select GENERIC_CLOCKEVENTS
20         select GENERIC_CLOCKEVENTS_BROADCAST if SMP
21         select GENERIC_CPU_AUTOPROBE
22         select GENERIC_EARLY_IOREMAP
23         select GENERIC_IOMAP
24         select GENERIC_IRQ_PROBE
25         select GENERIC_IRQ_SHOW
26         select GENERIC_SCHED_CLOCK
27         select GENERIC_SMP_IDLE_THREAD
28         select GENERIC_STRNCPY_FROM_USER
29         select GENERIC_STRNLEN_USER
30         select GENERIC_TIME_VSYSCALL
31         select HARDIRQS_SW_RESEND
32         select HAVE_ARCH_JUMP_LABEL
33         select HAVE_ARCH_KGDB
34         select HAVE_ARCH_TRACEHOOK
35         select HAVE_C_RECORDMCOUNT
36         select HAVE_DEBUG_BUGVERBOSE
37         select HAVE_DEBUG_KMEMLEAK
38         select HAVE_DMA_API_DEBUG
39         select HAVE_DMA_ATTRS
40         select HAVE_DMA_CONTIGUOUS
41         select HAVE_DYNAMIC_FTRACE
42         select HAVE_EFFICIENT_UNALIGNED_ACCESS
43         select HAVE_FTRACE_MCOUNT_RECORD
44         select HAVE_FUNCTION_TRACER
45         select HAVE_FUNCTION_GRAPH_TRACER
46         select HAVE_GENERIC_DMA_COHERENT
47         select HAVE_HW_BREAKPOINT if PERF_EVENTS
48         select HAVE_MEMBLOCK
49         select HAVE_PATA_PLATFORM
50         select HAVE_PERF_EVENTS
51         select HAVE_PERF_REGS
52         select HAVE_PERF_USER_STACK_DUMP
53         select HAVE_SYSCALL_TRACEPOINTS
54         select IRQ_DOMAIN
55         select MODULES_USE_ELF_RELA
56         select NO_BOOTMEM
57         select OF
58         select OF_EARLY_FLATTREE
59         select OF_RESERVED_MEM
60         select PERF_USE_VMALLOC
61         select POWER_RESET
62         select POWER_SUPPLY
63         select RTC_LIB
64         select SPARSE_IRQ
65         select SYSCTL_EXCEPTION_TRACE
66         help
67           ARM 64-bit (AArch64) Linux support.
68
69 config 64BIT
70         def_bool y
71
72 config ARCH_PHYS_ADDR_T_64BIT
73         def_bool y
74
75 config MMU
76         def_bool y
77
78 config NO_IOPORT_MAP
79         def_bool y
80
81 config STACKTRACE_SUPPORT
82         def_bool y
83
84 config LOCKDEP_SUPPORT
85         def_bool y
86
87 config TRACE_IRQFLAGS_SUPPORT
88         def_bool y
89
90 config RWSEM_XCHGADD_ALGORITHM
91         def_bool y
92
93 config GENERIC_HWEIGHT
94         def_bool y
95
96 config GENERIC_CSUM
97         def_bool y
98
99 config GENERIC_CALIBRATE_DELAY
100         def_bool y
101
102 config ZONE_DMA
103         def_bool y
104
105 config ARCH_DMA_ADDR_T_64BIT
106         def_bool y
107
108 config NEED_DMA_MAP_STATE
109         def_bool y
110
111 config NEED_SG_DMA_LENGTH
112         def_bool y
113
114 config SWIOTLB
115         def_bool y
116
117 config IOMMU_HELPER
118         def_bool SWIOTLB
119
120 config KERNEL_MODE_NEON
121         def_bool y
122
123 config FIX_EARLYCON_MEM
124         def_bool y
125
126 source "init/Kconfig"
127
128 source "kernel/Kconfig.freezer"
129
130 menu "Platform selection"
131
132 config ARCH_VEXPRESS
133         bool "ARMv8 software model (Versatile Express)"
134         select ARCH_REQUIRE_GPIOLIB
135         select COMMON_CLK_VERSATILE
136         select POWER_RESET_VEXPRESS
137         select VEXPRESS_CONFIG
138         help
139           This enables support for the ARMv8 software model (Versatile
140           Express).
141
142 config ARCH_XGENE
143         bool "AppliedMicro X-Gene SOC Family"
144         help
145           This enables support for AppliedMicro X-Gene SOC Family
146
147 endmenu
148
149 menu "Bus support"
150
151 config ARM_AMBA
152         bool
153
154 endmenu
155
156 menu "Kernel Features"
157
158 config ARM64_64K_PAGES
159         bool "Enable 64KB pages support"
160         help
161           This feature enables 64KB pages support (4KB by default)
162           allowing only two levels of page tables and faster TLB
163           look-up. AArch32 emulation is not available when this feature
164           is enabled.
165
166 config CPU_BIG_ENDIAN
167        bool "Build big-endian kernel"
168        help
169          Say Y if you plan on running a kernel in big-endian mode.
170
171 config SMP
172         bool "Symmetric Multi-Processing"
173         help
174           This enables support for systems with more than one CPU.  If
175           you say N here, the kernel will run on single and
176           multiprocessor machines, but will use only one CPU of a
177           multiprocessor machine. If you say Y here, the kernel will run
178           on many, but not all, single processor machines. On a single
179           processor machine, the kernel will run faster if you say N
180           here.
181
182           If you don't know what to do here, say N.
183
184 config SCHED_MC
185         bool "Multi-core scheduler support"
186         depends on SMP
187         help
188           Multi-core scheduler support improves the CPU scheduler's decision
189           making when dealing with multi-core CPU chips at a cost of slightly
190           increased overhead in some places. If unsure say N here.
191
192 config SCHED_SMT
193         bool "SMT scheduler support"
194         depends on SMP
195         help
196           Improves the CPU scheduler's decision making when dealing with
197           MultiThreading at a cost of slightly increased overhead in some
198           places. If unsure say N here.
199
200 config NR_CPUS
201         int "Maximum number of CPUs (2-32)"
202         range 2 32
203         depends on SMP
204         # These have to remain sorted largest to smallest
205         default "8"
206
207 config HOTPLUG_CPU
208         bool "Support for hot-pluggable CPUs"
209         depends on SMP
210         help
211           Say Y here to experiment with turning CPUs off and on.  CPUs
212           can be controlled through /sys/devices/system/cpu.
213
214 source kernel/Kconfig.preempt
215
216 config HZ
217         int
218         default 100
219
220 config ARCH_HAS_HOLES_MEMORYMODEL
221         def_bool y if SPARSEMEM
222
223 config ARCH_SPARSEMEM_ENABLE
224         def_bool y
225         select SPARSEMEM_VMEMMAP_ENABLE
226
227 config ARCH_SPARSEMEM_DEFAULT
228         def_bool ARCH_SPARSEMEM_ENABLE
229
230 config ARCH_SELECT_MEMORY_MODEL
231         def_bool ARCH_SPARSEMEM_ENABLE
232
233 config HAVE_ARCH_PFN_VALID
234         def_bool ARCH_HAS_HOLES_MEMORYMODEL || !SPARSEMEM
235
236 config HW_PERF_EVENTS
237         bool "Enable hardware performance counter support for perf events"
238         depends on PERF_EVENTS
239         default y
240         help
241           Enable hardware performance counter support for perf events. If
242           disabled, perf events will use software events only.
243
244 config SYS_SUPPORTS_HUGETLBFS
245         def_bool y
246
247 config ARCH_WANT_GENERAL_HUGETLB
248         def_bool y
249
250 config ARCH_WANT_HUGE_PMD_SHARE
251         def_bool y if !ARM64_64K_PAGES
252
253 config HAVE_ARCH_TRANSPARENT_HUGEPAGE
254         def_bool y
255
256 config ARCH_HAS_CACHE_LINE_SIZE
257         def_bool y
258
259 source "mm/Kconfig"
260
261 config XEN_DOM0
262         def_bool y
263         depends on XEN
264
265 config XEN
266         bool "Xen guest support on ARM64 (EXPERIMENTAL)"
267         depends on ARM64 && OF
268         select SWIOTLB_XEN
269         help
270           Say Y if you want to run Linux in a Virtual Machine on Xen on ARM64.
271
272 config FORCE_MAX_ZONEORDER
273         int
274         default "14" if (ARM64_64K_PAGES && TRANSPARENT_HUGEPAGE)
275         default "11"
276
277 endmenu
278
279 menu "Boot options"
280
281 config CMDLINE
282         string "Default kernel command string"
283         default ""
284         help
285           Provide a set of default command-line options at build time by
286           entering them here. As a minimum, you should specify the the
287           root device (e.g. root=/dev/nfs).
288
289 config CMDLINE_FORCE
290         bool "Always use the default kernel command string"
291         help
292           Always use the default kernel command string, even if the boot
293           loader passes other arguments to the kernel.
294           This is useful if you cannot or don't want to change the
295           command-line options your boot loader passes to the kernel.
296
297 config EFI
298         bool "UEFI runtime support"
299         depends on OF && !CPU_BIG_ENDIAN
300         select LIBFDT
301         select UCS2_STRING
302         select EFI_PARAMS_FROM_FDT
303         default y
304         help
305           This option provides support for runtime services provided
306           by UEFI firmware (such as non-volatile variables, realtime
307           clock, and platform reset). A UEFI stub is also provided to
308           allow the kernel to be booted as an EFI application. This
309           is only useful on systems that have UEFI firmware.
310
311 endmenu
312
313 menu "Userspace binary formats"
314
315 source "fs/Kconfig.binfmt"
316
317 config COMPAT
318         bool "Kernel support for 32-bit EL0"
319         depends on !ARM64_64K_PAGES
320         select COMPAT_BINFMT_ELF
321         select HAVE_UID16
322         select OLD_SIGSUSPEND3
323         select COMPAT_OLD_SIGACTION
324         help
325           This option enables support for a 32-bit EL0 running under a 64-bit
326           kernel at EL1. AArch32-specific components such as system calls,
327           the user helper functions, VFP support and the ptrace interface are
328           handled appropriately by the kernel.
329
330           If you want to execute 32-bit userspace applications, say Y.
331
332 config SYSVIPC_COMPAT
333         def_bool y
334         depends on COMPAT && SYSVIPC
335
336 endmenu
337
338 menu "Power management options"
339
340 source "kernel/power/Kconfig"
341
342 config ARCH_SUSPEND_POSSIBLE
343         def_bool y
344
345 config ARM64_CPU_SUSPEND
346         def_bool PM_SLEEP
347
348 endmenu
349
350 menu "CPU Power Management"
351
352 source "drivers/cpuidle/Kconfig"
353
354 source "drivers/cpufreq/Kconfig"
355
356 endmenu
357
358 source "net/Kconfig"
359
360 source "drivers/Kconfig"
361
362 source "drivers/firmware/Kconfig"
363
364 source "fs/Kconfig"
365
366 source "arch/arm64/kvm/Kconfig"
367
368 source "arch/arm64/Kconfig.debug"
369
370 source "security/Kconfig"
371
372 source "crypto/Kconfig"
373 if CRYPTO
374 source "arch/arm64/crypto/Kconfig"
375 endif
376
377 source "lib/Kconfig"