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