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