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