xref: /openbmc/linux/arch/arm64/Kconfig (revision 1dd24dae)
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 CLONE_BACKWARDS
11	select COMMON_CLK
12	select GENERIC_CLOCKEVENTS
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 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
98source "init/Kconfig"
99
100source "kernel/Kconfig.freezer"
101
102menu "Platform selection"
103
104config ARCH_VEXPRESS
105	bool "ARMv8 software model (Versatile Express)"
106	select ARCH_REQUIRE_GPIOLIB
107	select COMMON_CLK_VERSATILE
108	select POWER_RESET_VEXPRESS
109	select VEXPRESS_CONFIG
110	help
111	  This enables support for the ARMv8 software model (Versatile
112	  Express).
113
114endmenu
115
116menu "Bus support"
117
118config ARM_AMBA
119	bool
120
121endmenu
122
123menu "Kernel Features"
124
125config ARM64_64K_PAGES
126	bool "Enable 64KB pages support"
127	help
128	  This feature enables 64KB pages support (4KB by default)
129	  allowing only two levels of page tables and faster TLB
130	  look-up. AArch32 emulation is not available when this feature
131	  is enabled.
132
133config SMP
134	bool "Symmetric Multi-Processing"
135	select USE_GENERIC_SMP_HELPERS
136	help
137	  This enables support for systems with more than one CPU.  If
138	  you say N here, the kernel will run on single and
139	  multiprocessor machines, but will use only one CPU of a
140	  multiprocessor machine. If you say Y here, the kernel will run
141	  on many, but not all, single processor machines. On a single
142	  processor machine, the kernel will run faster if you say N
143	  here.
144
145	  If you don't know what to do here, say N.
146
147config NR_CPUS
148	int "Maximum number of CPUs (2-32)"
149	range 2 32
150	depends on SMP
151	default "4"
152
153source kernel/Kconfig.preempt
154
155config HZ
156	int
157	default 100
158
159config ARCH_HAS_HOLES_MEMORYMODEL
160	def_bool y if SPARSEMEM
161
162config ARCH_SPARSEMEM_ENABLE
163	def_bool y
164	select SPARSEMEM_VMEMMAP_ENABLE
165
166config ARCH_SPARSEMEM_DEFAULT
167	def_bool ARCH_SPARSEMEM_ENABLE
168
169config ARCH_SELECT_MEMORY_MODEL
170	def_bool ARCH_SPARSEMEM_ENABLE
171
172config HAVE_ARCH_PFN_VALID
173	def_bool ARCH_HAS_HOLES_MEMORYMODEL || !SPARSEMEM
174
175config HW_PERF_EVENTS
176	bool "Enable hardware performance counter support for perf events"
177	depends on PERF_EVENTS
178	default y
179	help
180	  Enable hardware performance counter support for perf events. If
181	  disabled, perf events will use software events only.
182
183source "mm/Kconfig"
184
185endmenu
186
187menu "Boot options"
188
189config CMDLINE
190	string "Default kernel command string"
191	default ""
192	help
193	  Provide a set of default command-line options at build time by
194	  entering them here. As a minimum, you should specify the the
195	  root device (e.g. root=/dev/nfs).
196
197config CMDLINE_FORCE
198	bool "Always use the default kernel command string"
199	help
200	  Always use the default kernel command string, even if the boot
201	  loader passes other arguments to the kernel.
202	  This is useful if you cannot or don't want to change the
203	  command-line options your boot loader passes to the kernel.
204
205endmenu
206
207menu "Userspace binary formats"
208
209source "fs/Kconfig.binfmt"
210
211config COMPAT
212	bool "Kernel support for 32-bit EL0"
213	depends on !ARM64_64K_PAGES
214	select COMPAT_BINFMT_ELF
215	select HAVE_UID16
216	select OLD_SIGSUSPEND3
217	select COMPAT_OLD_SIGACTION
218	help
219	  This option enables support for a 32-bit EL0 running under a 64-bit
220	  kernel at EL1. AArch32-specific components such as system calls,
221	  the user helper functions, VFP support and the ptrace interface are
222	  handled appropriately by the kernel.
223
224	  If you want to execute 32-bit userspace applications, say Y.
225
226config SYSVIPC_COMPAT
227	def_bool y
228	depends on COMPAT && SYSVIPC
229
230endmenu
231
232source "net/Kconfig"
233
234source "drivers/Kconfig"
235
236source "fs/Kconfig"
237
238source "arch/arm64/Kconfig.debug"
239
240source "security/Kconfig"
241
242source "crypto/Kconfig"
243
244source "lib/Kconfig"
245