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