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