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