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