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