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