Kconfig 5.8 KB

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