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