Kconfig 5.2 KB

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