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