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