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