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