Kconfig 8.2 KB

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