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