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