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