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