arm64: extable: sort the exception table at build time
[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 endmenu
116
117 menu "Bus support"
118
119 config ARM_AMBA
120         bool
121
122 endmenu
123
124 menu "Kernel Features"
125
126 config ARM64_64K_PAGES
127         bool "Enable 64KB pages support"
128         help
129           This feature enables 64KB pages support (4KB by default)
130           allowing only two levels of page tables and faster TLB
131           look-up. AArch32 emulation is not available when this feature
132           is enabled.
133
134 config SMP
135         bool "Symmetric Multi-Processing"
136         select USE_GENERIC_SMP_HELPERS
137         help
138           This enables support for systems with more than one CPU.  If
139           you say N here, the kernel will run on single and
140           multiprocessor machines, but will use only one CPU of a
141           multiprocessor machine. If you say Y here, the kernel will run
142           on many, but not all, single processor machines. On a single
143           processor machine, the kernel will run faster if you say N
144           here.
145
146           If you don't know what to do here, say N.
147
148 config NR_CPUS
149         int "Maximum number of CPUs (2-32)"
150         range 2 32
151         depends on SMP
152         default "4"
153
154 source kernel/Kconfig.preempt
155
156 config HZ
157         int
158         default 100
159
160 config ARCH_HAS_HOLES_MEMORYMODEL
161         def_bool y if SPARSEMEM
162
163 config ARCH_SPARSEMEM_ENABLE
164         def_bool y
165         select SPARSEMEM_VMEMMAP_ENABLE
166
167 config ARCH_SPARSEMEM_DEFAULT
168         def_bool ARCH_SPARSEMEM_ENABLE
169
170 config ARCH_SELECT_MEMORY_MODEL
171         def_bool ARCH_SPARSEMEM_ENABLE
172
173 config HAVE_ARCH_PFN_VALID
174         def_bool ARCH_HAS_HOLES_MEMORYMODEL || !SPARSEMEM
175
176 config HW_PERF_EVENTS
177         bool "Enable hardware performance counter support for perf events"
178         depends on PERF_EVENTS
179         default y
180         help
181           Enable hardware performance counter support for perf events. If
182           disabled, perf events will use software events only.
183
184 config SYS_SUPPORTS_HUGETLBFS
185         def_bool y
186
187 config ARCH_WANT_GENERAL_HUGETLB
188         def_bool y
189
190 config ARCH_WANT_HUGE_PMD_SHARE
191         def_bool y if !ARM64_64K_PAGES
192
193 config HAVE_ARCH_TRANSPARENT_HUGEPAGE
194         def_bool y
195
196 source "mm/Kconfig"
197
198 config FORCE_MAX_ZONEORDER
199         int
200         default "14" if (ARM64_64K_PAGES && TRANSPARENT_HUGEPAGE)
201         default "11"
202
203 endmenu
204
205 menu "Boot options"
206
207 config CMDLINE
208         string "Default kernel command string"
209         default ""
210         help
211           Provide a set of default command-line options at build time by
212           entering them here. As a minimum, you should specify the the
213           root device (e.g. root=/dev/nfs).
214
215 config CMDLINE_FORCE
216         bool "Always use the default kernel command string"
217         help
218           Always use the default kernel command string, even if the boot
219           loader passes other arguments to the kernel.
220           This is useful if you cannot or don't want to change the
221           command-line options your boot loader passes to the kernel.
222
223 endmenu
224
225 menu "Userspace binary formats"
226
227 source "fs/Kconfig.binfmt"
228
229 config COMPAT
230         bool "Kernel support for 32-bit EL0"
231         depends on !ARM64_64K_PAGES
232         select COMPAT_BINFMT_ELF
233         select HAVE_UID16
234         select OLD_SIGSUSPEND3
235         select COMPAT_OLD_SIGACTION
236         help
237           This option enables support for a 32-bit EL0 running under a 64-bit
238           kernel at EL1. AArch32-specific components such as system calls,
239           the user helper functions, VFP support and the ptrace interface are
240           handled appropriately by the kernel.
241
242           If you want to execute 32-bit userspace applications, say Y.
243
244 config SYSVIPC_COMPAT
245         def_bool y
246         depends on COMPAT && SYSVIPC
247
248 endmenu
249
250 source "net/Kconfig"
251
252 source "drivers/Kconfig"
253
254 source "fs/Kconfig"
255
256 source "arch/arm64/Kconfig.debug"
257
258 source "security/Kconfig"
259
260 source "crypto/Kconfig"
261
262 source "lib/Kconfig"