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