blob: 10607d63b945778c268c15001e96beb8d126cfa6 [file] [log] [blame]
Catalin Marinas8c2c3df2012-04-20 14:45:54 +01001config ARM64
2 def_bool y
3 select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
Arnd Bergmann91701002013-02-21 11:42:57 +01004 select ARCH_WANT_OPTIONAL_GPIOLIB
Will Deacon6212a512012-11-07 14:16:28 +00005 select ARCH_WANT_COMPAT_IPC_PARSE_VERSION
Catalin Marinasb6f35982013-01-29 18:25:41 +00006 select ARCH_WANT_FRAME_POINTERS
Catalin Marinas25c92a32012-12-18 15:26:13 +00007 select ARM_AMBA
Mark Rutland1aee5d72012-11-20 10:06:00 +00008 select ARM_ARCH_TIMER
Catalin Marinasc4188ed2013-01-14 12:39:31 +00009 select ARM_GIC
Catalin Marinasdb2789b2012-12-18 15:27:25 +000010 select CLONE_BACKWARDS
Deepak Saxena7ca2ef32012-09-22 10:33:36 -070011 select COMMON_CLK
Catalin Marinas8c2c3df2012-04-20 14:45:54 +010012 select GENERIC_CLOCKEVENTS
Catalin Marinas8c2c3df2012-04-20 14:45:54 +010013 select GENERIC_IOMAP
14 select GENERIC_IRQ_PROBE
15 select GENERIC_IRQ_SHOW
16 select GENERIC_SMP_IDLE_THREAD
17 select GENERIC_TIME_VSYSCALL
18 select HARDIRQS_SW_RESEND
19 select HAVE_ARCH_TRACEHOOK
Catalin Marinas9b2a60c2012-10-08 16:28:13 -070020 select HAVE_DEBUG_BUGVERBOSE
Catalin Marinasb69ec422012-10-08 16:28:11 -070021 select HAVE_DEBUG_KMEMLEAK
Catalin Marinas8c2c3df2012-04-20 14:45:54 +010022 select HAVE_DMA_API_DEBUG
23 select HAVE_DMA_ATTRS
24 select HAVE_GENERIC_DMA_COHERENT
25 select HAVE_GENERIC_HARDIRQS
26 select HAVE_HW_BREAKPOINT if PERF_EVENTS
Catalin Marinas8c2c3df2012-04-20 14:45:54 +010027 select HAVE_MEMBLOCK
28 select HAVE_PERF_EVENTS
Catalin Marinas8c2c3df2012-04-20 14:45:54 +010029 select IRQ_DOMAIN
Catalin Marinasfea2aca2012-10-16 11:26:57 +010030 select MODULES_USE_ELF_RELA
Catalin Marinas8c2c3df2012-04-20 14:45:54 +010031 select NO_BOOTMEM
32 select OF
33 select OF_EARLY_FLATTREE
34 select PERF_USE_VMALLOC
Catalin Marinasaa1e8ec2013-02-28 18:14:37 +000035 select POWER_RESET
36 select POWER_SUPPLY
Catalin Marinas8c2c3df2012-04-20 14:45:54 +010037 select RTC_LIB
38 select SPARSE_IRQ
Catalin Marinas7ac57a82012-10-08 16:28:16 -070039 select SYSCTL_EXCEPTION_TRACE
Catalin Marinas8c2c3df2012-04-20 14:45:54 +010040 help
41 ARM 64-bit (AArch64) Linux support.
42
43config 64BIT
44 def_bool y
45
46config ARCH_PHYS_ADDR_T_64BIT
47 def_bool y
48
49config MMU
50 def_bool y
51
52config NO_IOPORT
53 def_bool y
54
55config STACKTRACE_SUPPORT
56 def_bool y
57
58config LOCKDEP_SUPPORT
59 def_bool y
60
61config TRACE_IRQFLAGS_SUPPORT
62 def_bool y
63
64config GENERIC_LOCKBREAK
65 def_bool y
66 depends on SMP && PREEMPT
67
68config RWSEM_GENERIC_SPINLOCK
69 def_bool y
70
71config GENERIC_HWEIGHT
72 def_bool y
73
74config GENERIC_CSUM
75 def_bool y
76
77config GENERIC_CALIBRATE_DELAY
78 def_bool y
79
80config ZONE_DMA32
81 def_bool y
82
83config ARCH_DMA_ADDR_T_64BIT
84 def_bool y
85
86config NEED_DMA_MAP_STATE
87 def_bool y
88
89config NEED_SG_DMA_LENGTH
90 def_bool y
91
92config SWIOTLB
93 def_bool y
94
95config IOMMU_HELPER
96 def_bool SWIOTLB
97
98source "init/Kconfig"
99
100source "kernel/Kconfig.freezer"
101
Catalin Marinas1ae90e72012-09-05 17:47:44 +0100102menu "Platform selection"
103
104config ARCH_VEXPRESS
105 bool "ARMv8 software model (Versatile Express)"
106 select ARCH_REQUIRE_GPIOLIB
107 select COMMON_CLK_VERSATILE
Catalin Marinasaa1e8ec2013-02-28 18:14:37 +0000108 select POWER_RESET_VEXPRESS
Catalin Marinas1ae90e72012-09-05 17:47:44 +0100109 select VEXPRESS_CONFIG
110 help
111 This enables support for the ARMv8 software model (Versatile
112 Express).
Catalin Marinas8c2c3df2012-04-20 14:45:54 +0100113
114endmenu
115
116menu "Bus support"
117
118config ARM_AMBA
119 bool
120
121endmenu
122
123menu "Kernel Features"
124
Catalin Marinas8c2c3df2012-04-20 14:45:54 +0100125config ARM64_64K_PAGES
126 bool "Enable 64KB pages support"
127 help
128 This feature enables 64KB pages support (4KB by default)
129 allowing only two levels of page tables and faster TLB
130 look-up. AArch32 emulation is not available when this feature
131 is enabled.
132
133config SMP
134 bool "Symmetric Multi-Processing"
135 select USE_GENERIC_SMP_HELPERS
136 help
137 This enables support for systems with more than one CPU. If
138 you say N here, the kernel will run on single and
139 multiprocessor machines, but will use only one CPU of a
140 multiprocessor machine. If you say Y here, the kernel will run
141 on many, but not all, single processor machines. On a single
142 processor machine, the kernel will run faster if you say N
143 here.
144
145 If you don't know what to do here, say N.
146
147config NR_CPUS
148 int "Maximum number of CPUs (2-32)"
149 range 2 32
150 depends on SMP
151 default "4"
152
153source kernel/Kconfig.preempt
154
155config HZ
156 int
157 default 100
158
159config ARCH_HAS_HOLES_MEMORYMODEL
160 def_bool y if SPARSEMEM
161
162config ARCH_SPARSEMEM_ENABLE
163 def_bool y
164 select SPARSEMEM_VMEMMAP_ENABLE
165
166config ARCH_SPARSEMEM_DEFAULT
167 def_bool ARCH_SPARSEMEM_ENABLE
168
169config ARCH_SELECT_MEMORY_MODEL
170 def_bool ARCH_SPARSEMEM_ENABLE
171
172config HAVE_ARCH_PFN_VALID
173 def_bool ARCH_HAS_HOLES_MEMORYMODEL || !SPARSEMEM
174
175config HW_PERF_EVENTS
176 bool "Enable hardware performance counter support for perf events"
177 depends on PERF_EVENTS
178 default y
179 help
180 Enable hardware performance counter support for perf events. If
181 disabled, perf events will use software events only.
182
Steve Capper084bd292013-04-10 13:48:00 +0100183config SYS_SUPPORTS_HUGETLBFS
184 def_bool y
185
186config ARCH_WANT_GENERAL_HUGETLB
187 def_bool y
188
189config ARCH_WANT_HUGE_PMD_SHARE
190 def_bool y if !ARM64_64K_PAGES
191
Catalin Marinas8c2c3df2012-04-20 14:45:54 +0100192source "mm/Kconfig"
193
Steve Capperd03bb142013-04-25 15:19:21 +0100194config FORCE_MAX_ZONEORDER
195 int
196 default "14" if (ARM64_64K_PAGES && TRANSPARENT_HUGEPAGE)
197 default "11"
198
Catalin Marinas8c2c3df2012-04-20 14:45:54 +0100199endmenu
200
201menu "Boot options"
202
203config CMDLINE
204 string "Default kernel command string"
205 default ""
206 help
207 Provide a set of default command-line options at build time by
208 entering them here. As a minimum, you should specify the the
209 root device (e.g. root=/dev/nfs).
210
211config CMDLINE_FORCE
212 bool "Always use the default kernel command string"
213 help
214 Always use the default kernel command string, even if the boot
215 loader passes other arguments to the kernel.
216 This is useful if you cannot or don't want to change the
217 command-line options your boot loader passes to the kernel.
218
219endmenu
220
221menu "Userspace binary formats"
222
223source "fs/Kconfig.binfmt"
224
225config COMPAT
226 bool "Kernel support for 32-bit EL0"
227 depends on !ARM64_64K_PAGES
228 select COMPAT_BINFMT_ELF
Catalin Marinasaf1839e2012-10-08 16:28:08 -0700229 select HAVE_UID16
Al Viro84b9e9b2012-12-25 16:29:11 -0500230 select OLD_SIGSUSPEND3
Al Viro51682032012-12-25 19:31:29 -0500231 select COMPAT_OLD_SIGACTION
Catalin Marinas8c2c3df2012-04-20 14:45:54 +0100232 help
233 This option enables support for a 32-bit EL0 running under a 64-bit
234 kernel at EL1. AArch32-specific components such as system calls,
235 the user helper functions, VFP support and the ptrace interface are
236 handled appropriately by the kernel.
237
238 If you want to execute 32-bit userspace applications, say Y.
239
240config SYSVIPC_COMPAT
241 def_bool y
242 depends on COMPAT && SYSVIPC
243
244endmenu
245
246source "net/Kconfig"
247
248source "drivers/Kconfig"
249
250source "fs/Kconfig"
251
252source "arch/arm64/Kconfig.debug"
253
254source "security/Kconfig"
255
256source "crypto/Kconfig"
257
258source "lib/Kconfig"