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