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