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