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