Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris...
[linux/fpc-iii.git] / arch / arm64 / Kconfig
blob27bbcfc7202a8df09f6ec35cd3939f0f5c26edfd
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.
55 config 64BIT
56         def_bool y
58 config ARCH_PHYS_ADDR_T_64BIT
59         def_bool y
61 config MMU
62         def_bool y
64 config NO_IOPORT
65         def_bool y
67 config STACKTRACE_SUPPORT
68         def_bool y
70 config LOCKDEP_SUPPORT
71         def_bool y
73 config TRACE_IRQFLAGS_SUPPORT
74         def_bool y
76 config RWSEM_GENERIC_SPINLOCK
77         def_bool y
79 config GENERIC_HWEIGHT
80         def_bool y
82 config GENERIC_CSUM
83         def_bool y
85 config GENERIC_CALIBRATE_DELAY
86         def_bool y
88 config ZONE_DMA32
89         def_bool y
91 config ARCH_DMA_ADDR_T_64BIT
92         def_bool y
94 config NEED_DMA_MAP_STATE
95         def_bool y
97 config NEED_SG_DMA_LENGTH
98         def_bool y
100 config SWIOTLB
101         def_bool y
103 config IOMMU_HELPER
104         def_bool SWIOTLB
106 config KERNEL_MODE_NEON
107         def_bool y
109 source "init/Kconfig"
111 source "kernel/Kconfig.freezer"
113 menu "Platform selection"
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).
125 config ARCH_XGENE
126         bool "AppliedMicro X-Gene SOC Family"
127         help
128           This enables support for AppliedMicro X-Gene SOC Family
130 endmenu
132 menu "Bus support"
134 config ARM_AMBA
135         bool
137 endmenu
139 menu "Kernel Features"
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.
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.
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.
165           If you don't know what to do here, say N.
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"
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.
181 source kernel/Kconfig.preempt
183 config HZ
184         int
185         default 100
187 config ARCH_HAS_HOLES_MEMORYMODEL
188         def_bool y if SPARSEMEM
190 config ARCH_SPARSEMEM_ENABLE
191         def_bool y
192         select SPARSEMEM_VMEMMAP_ENABLE
194 config ARCH_SPARSEMEM_DEFAULT
195         def_bool ARCH_SPARSEMEM_ENABLE
197 config ARCH_SELECT_MEMORY_MODEL
198         def_bool ARCH_SPARSEMEM_ENABLE
200 config HAVE_ARCH_PFN_VALID
201         def_bool ARCH_HAS_HOLES_MEMORYMODEL || !SPARSEMEM
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.
211 config SYS_SUPPORTS_HUGETLBFS
212         def_bool y
214 config ARCH_WANT_GENERAL_HUGETLB
215         def_bool y
217 config ARCH_WANT_HUGE_PMD_SHARE
218         def_bool y if !ARM64_64K_PAGES
220 config HAVE_ARCH_TRANSPARENT_HUGEPAGE
221         def_bool y
223 source "mm/Kconfig"
225 config XEN_DOM0
226         def_bool y
227         depends on XEN
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.
236 config FORCE_MAX_ZONEORDER
237         int
238         default "14" if (ARM64_64K_PAGES && TRANSPARENT_HUGEPAGE)
239         default "11"
241 endmenu
243 menu "Boot options"
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).
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.
261 endmenu
263 menu "Userspace binary formats"
265 source "fs/Kconfig.binfmt"
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.
280           If you want to execute 32-bit userspace applications, say Y.
282 config SYSVIPC_COMPAT
283         def_bool y
284         depends on COMPAT && SYSVIPC
286 endmenu
288 menu "Power management options"
290 source "kernel/power/Kconfig"
292 config ARCH_SUSPEND_POSSIBLE
293         def_bool y
295 config ARM64_CPU_SUSPEND
296         def_bool PM_SLEEP
298 endmenu
300 menu "CPU Power Management"
302 source "drivers/cpuidle/Kconfig"
304 endmenu
306 source "net/Kconfig"
308 source "drivers/Kconfig"
310 source "fs/Kconfig"
312 source "arch/arm64/kvm/Kconfig"
314 source "arch/arm64/Kconfig.debug"
316 source "security/Kconfig"
318 source "crypto/Kconfig"
320 source "lib/Kconfig"