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 115config FIX_EARLYCON_MEM 116 def_bool y 117 118source "init/Kconfig" 119 120source "kernel/Kconfig.freezer" 121 122menu "Platform selection" 123 124config ARCH_VEXPRESS 125 bool "ARMv8 software model (Versatile Express)" 126 select ARCH_REQUIRE_GPIOLIB 127 select COMMON_CLK_VERSATILE 128 select POWER_RESET_VEXPRESS 129 select VEXPRESS_CONFIG 130 help 131 This enables support for the ARMv8 software model (Versatile 132 Express). 133 134config ARCH_XGENE 135 bool "AppliedMicro X-Gene SOC Family" 136 help 137 This enables support for AppliedMicro X-Gene SOC Family 138 139endmenu 140 141menu "Bus support" 142 143config ARM_AMBA 144 bool 145 146endmenu 147 148menu "Kernel Features" 149 150config ARM64_64K_PAGES 151 bool "Enable 64KB pages support" 152 help 153 This feature enables 64KB pages support (4KB by default) 154 allowing only two levels of page tables and faster TLB 155 look-up. AArch32 emulation is not available when this feature 156 is enabled. 157 158config CPU_BIG_ENDIAN 159 bool "Build big-endian kernel" 160 help 161 Say Y if you plan on running a kernel in big-endian mode. 162 163config SMP 164 bool "Symmetric Multi-Processing" 165 help 166 This enables support for systems with more than one CPU. If 167 you say N here, the kernel will run on single and 168 multiprocessor machines, but will use only one CPU of a 169 multiprocessor machine. If you say Y here, the kernel will run 170 on many, but not all, single processor machines. On a single 171 processor machine, the kernel will run faster if you say N 172 here. 173 174 If you don't know what to do here, say N. 175 176config SCHED_MC 177 bool "Multi-core scheduler support" 178 depends on SMP 179 help 180 Multi-core scheduler support improves the CPU scheduler's decision 181 making when dealing with multi-core CPU chips at a cost of slightly 182 increased overhead in some places. If unsure say N here. 183 184config SCHED_SMT 185 bool "SMT scheduler support" 186 depends on SMP 187 help 188 Improves the CPU scheduler's decision making when dealing with 189 MultiThreading at a cost of slightly increased overhead in some 190 places. If unsure say N here. 191 192config NR_CPUS 193 int "Maximum number of CPUs (2-32)" 194 range 2 32 195 depends on SMP 196 # These have to remain sorted largest to smallest 197 default "8" 198 199config HOTPLUG_CPU 200 bool "Support for hot-pluggable CPUs" 201 depends on SMP 202 help 203 Say Y here to experiment with turning CPUs off and on. CPUs 204 can be controlled through /sys/devices/system/cpu. 205 206source kernel/Kconfig.preempt 207 208config HZ 209 int 210 default 100 211 212config ARCH_HAS_HOLES_MEMORYMODEL 213 def_bool y if SPARSEMEM 214 215config ARCH_SPARSEMEM_ENABLE 216 def_bool y 217 select SPARSEMEM_VMEMMAP_ENABLE 218 219config ARCH_SPARSEMEM_DEFAULT 220 def_bool ARCH_SPARSEMEM_ENABLE 221 222config ARCH_SELECT_MEMORY_MODEL 223 def_bool ARCH_SPARSEMEM_ENABLE 224 225config HAVE_ARCH_PFN_VALID 226 def_bool ARCH_HAS_HOLES_MEMORYMODEL || !SPARSEMEM 227 228config HW_PERF_EVENTS 229 bool "Enable hardware performance counter support for perf events" 230 depends on PERF_EVENTS 231 default y 232 help 233 Enable hardware performance counter support for perf events. If 234 disabled, perf events will use software events only. 235 236config SYS_SUPPORTS_HUGETLBFS 237 def_bool y 238 239config ARCH_WANT_GENERAL_HUGETLB 240 def_bool y 241 242config ARCH_WANT_HUGE_PMD_SHARE 243 def_bool y if !ARM64_64K_PAGES 244 245config HAVE_ARCH_TRANSPARENT_HUGEPAGE 246 def_bool y 247 248source "mm/Kconfig" 249 250config XEN_DOM0 251 def_bool y 252 depends on XEN 253 254config XEN 255 bool "Xen guest support on ARM64 (EXPERIMENTAL)" 256 depends on ARM64 && OF 257 select SWIOTLB_XEN 258 help 259 Say Y if you want to run Linux in a Virtual Machine on Xen on ARM64. 260 261config FORCE_MAX_ZONEORDER 262 int 263 default "14" if (ARM64_64K_PAGES && TRANSPARENT_HUGEPAGE) 264 default "11" 265 266endmenu 267 268menu "Boot options" 269 270config CMDLINE 271 string "Default kernel command string" 272 default "" 273 help 274 Provide a set of default command-line options at build time by 275 entering them here. As a minimum, you should specify the the 276 root device (e.g. root=/dev/nfs). 277 278config CMDLINE_FORCE 279 bool "Always use the default kernel command string" 280 help 281 Always use the default kernel command string, even if the boot 282 loader passes other arguments to the kernel. 283 This is useful if you cannot or don't want to change the 284 command-line options your boot loader passes to the kernel. 285 286endmenu 287 288menu "Userspace binary formats" 289 290source "fs/Kconfig.binfmt" 291 292config COMPAT 293 bool "Kernel support for 32-bit EL0" 294 depends on !ARM64_64K_PAGES 295 select COMPAT_BINFMT_ELF 296 select HAVE_UID16 297 select OLD_SIGSUSPEND3 298 select COMPAT_OLD_SIGACTION 299 help 300 This option enables support for a 32-bit EL0 running under a 64-bit 301 kernel at EL1. AArch32-specific components such as system calls, 302 the user helper functions, VFP support and the ptrace interface are 303 handled appropriately by the kernel. 304 305 If you want to execute 32-bit userspace applications, say Y. 306 307config SYSVIPC_COMPAT 308 def_bool y 309 depends on COMPAT && SYSVIPC 310 311endmenu 312 313menu "Power management options" 314 315source "kernel/power/Kconfig" 316 317config ARCH_SUSPEND_POSSIBLE 318 def_bool y 319 320config ARM64_CPU_SUSPEND 321 def_bool PM_SLEEP 322 323endmenu 324 325menu "CPU Power Management" 326 327source "drivers/cpuidle/Kconfig" 328 329source "drivers/cpufreq/Kconfig" 330 331endmenu 332 333source "net/Kconfig" 334 335source "drivers/Kconfig" 336 337source "fs/Kconfig" 338 339source "arch/arm64/kvm/Kconfig" 340 341source "arch/arm64/Kconfig.debug" 342 343source "security/Kconfig" 344 345source "crypto/Kconfig" 346 347source "lib/Kconfig" 348