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