Kconfig 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410
  1. # SPDX-License-Identifier: GPL-2.0
  2. config PGTABLE_LEVELS
  3. int "Page Table Levels" if !IA64_PAGE_SIZE_64KB
  4. range 3 4 if !IA64_PAGE_SIZE_64KB
  5. default 3
  6. menu "Processor type and features"
  7. config IA64
  8. bool
  9. select ARCH_BINFMT_ELF_EXTRA_PHDRS
  10. select ARCH_HAS_CPU_FINALIZE_INIT
  11. select ARCH_HAS_DMA_MARK_CLEAN
  12. select ARCH_HAS_STRNCPY_FROM_USER
  13. select ARCH_HAS_STRNLEN_USER
  14. select ARCH_MIGHT_HAVE_PC_PARPORT
  15. select ARCH_MIGHT_HAVE_PC_SERIO
  16. select ACPI
  17. select ACPI_NUMA if NUMA
  18. select ARCH_ENABLE_MEMORY_HOTPLUG
  19. select ARCH_ENABLE_MEMORY_HOTREMOVE
  20. select ARCH_SUPPORTS_ACPI
  21. select ACPI_SYSTEM_POWER_STATES_SUPPORT if ACPI
  22. select ARCH_MIGHT_HAVE_ACPI_PDC if ACPI
  23. select FORCE_PCI
  24. select PCI_DOMAINS if PCI
  25. select PCI_MSI
  26. select PCI_SYSCALL if PCI
  27. select HAVE_ASM_MODVERSIONS
  28. select HAVE_UNSTABLE_SCHED_CLOCK
  29. select HAVE_EXIT_THREAD
  30. select HAVE_KPROBES
  31. select HAVE_KRETPROBES
  32. select HAVE_FTRACE_MCOUNT_RECORD
  33. select HAVE_DYNAMIC_FTRACE if (!ITANIUM)
  34. select HAVE_FUNCTION_TRACER
  35. select HAVE_SETUP_PER_CPU_AREA
  36. select TTY
  37. select HAVE_ARCH_TRACEHOOK
  38. select HAVE_FUNCTION_DESCRIPTORS
  39. select HAVE_VIRT_CPU_ACCOUNTING
  40. select HUGETLB_PAGE_SIZE_VARIABLE if HUGETLB_PAGE
  41. select GENERIC_IRQ_PROBE
  42. select GENERIC_PENDING_IRQ if SMP
  43. select GENERIC_IRQ_SHOW
  44. select GENERIC_IRQ_LEGACY
  45. select ARCH_HAVE_NMI_SAFE_CMPXCHG
  46. select GENERIC_IOMAP
  47. select GENERIC_SMP_IDLE_THREAD
  48. select ARCH_TASK_STRUCT_ON_STACK
  49. select ARCH_TASK_STRUCT_ALLOCATOR
  50. select ARCH_THREAD_STACK_ALLOCATOR
  51. select ARCH_CLOCKSOURCE_DATA
  52. select GENERIC_TIME_VSYSCALL
  53. select LEGACY_TIMER_TICK
  54. select SWIOTLB
  55. select SYSCTL_ARCH_UNALIGN_NO_WARN
  56. select HAVE_MOD_ARCH_SPECIFIC
  57. select MODULES_USE_ELF_RELA
  58. select ARCH_USE_CMPXCHG_LOCKREF
  59. select HAVE_ARCH_AUDITSYSCALL
  60. select NEED_DMA_MAP_STATE
  61. select NEED_SG_DMA_LENGTH
  62. select NUMA if !FLATMEM
  63. select PCI_MSI_ARCH_FALLBACKS if PCI_MSI
  64. select ZONE_DMA32
  65. default y
  66. help
  67. The Itanium Processor Family is Intel's 64-bit successor to
  68. the 32-bit X86 line. The IA-64 Linux project has a home
  69. page at <http://www.linuxia64.org/> and a mailing list at
  70. <[email protected]>.
  71. config 64BIT
  72. bool
  73. select ATA_NONSTANDARD if ATA
  74. default y
  75. config MMU
  76. bool
  77. default y
  78. config STACKTRACE_SUPPORT
  79. def_bool y
  80. config GENERIC_LOCKBREAK
  81. def_bool n
  82. config GENERIC_CALIBRATE_DELAY
  83. bool
  84. default y
  85. config DMI
  86. bool
  87. default y
  88. select DMI_SCAN_MACHINE_NON_EFI_FALLBACK
  89. config EFI
  90. bool
  91. select UCS2_STRING
  92. default y
  93. config SCHED_OMIT_FRAME_POINTER
  94. bool
  95. default y
  96. config IA64_UNCACHED_ALLOCATOR
  97. bool
  98. select GENERIC_ALLOCATOR
  99. config ARCH_USES_PG_UNCACHED
  100. def_bool y
  101. depends on IA64_UNCACHED_ALLOCATOR
  102. config AUDIT_ARCH
  103. bool
  104. default y
  105. choice
  106. prompt "Processor type"
  107. default ITANIUM
  108. config ITANIUM
  109. bool "Itanium"
  110. help
  111. Select your IA-64 processor type. The default is Itanium.
  112. This choice is safe for all IA-64 systems, but may not perform
  113. optimally on systems with, say, Itanium 2 or newer processors.
  114. config MCKINLEY
  115. bool "Itanium 2"
  116. help
  117. Select this to configure for an Itanium 2 (McKinley) processor.
  118. endchoice
  119. choice
  120. prompt "Kernel page size"
  121. default IA64_PAGE_SIZE_16KB
  122. config IA64_PAGE_SIZE_4KB
  123. bool "4KB"
  124. help
  125. This lets you select the page size of the kernel. For best IA-64
  126. performance, a page size of 8KB or 16KB is recommended. For best
  127. IA-32 compatibility, a page size of 4KB should be selected (the vast
  128. majority of IA-32 binaries work perfectly fine with a larger page
  129. size). For Itanium 2 or newer systems, a page size of 64KB can also
  130. be selected.
  131. 4KB For best IA-32 compatibility
  132. 8KB For best IA-64 performance
  133. 16KB For best IA-64 performance
  134. 64KB Requires Itanium 2 or newer processor.
  135. If you don't know what to do, choose 16KB.
  136. config IA64_PAGE_SIZE_8KB
  137. bool "8KB"
  138. config IA64_PAGE_SIZE_16KB
  139. bool "16KB"
  140. config IA64_PAGE_SIZE_64KB
  141. depends on !ITANIUM
  142. bool "64KB"
  143. endchoice
  144. source "kernel/Kconfig.hz"
  145. config IA64_BRL_EMU
  146. bool
  147. depends on ITANIUM
  148. default y
  149. # align cache-sensitive data to 128 bytes
  150. config IA64_L1_CACHE_SHIFT
  151. int
  152. default "7" if MCKINLEY
  153. default "6" if ITANIUM
  154. config IA64_SGI_UV
  155. bool "SGI-UV support"
  156. help
  157. Selecting this option will add specific support for running on SGI
  158. UV based systems. If you have an SGI UV system or are building a
  159. distro kernel, select this option.
  160. config IA64_HP_SBA_IOMMU
  161. bool "HP SBA IOMMU support"
  162. select DMA_OPS
  163. default y
  164. help
  165. Say Y here to add support for the SBA IOMMU found on HP zx1 and
  166. sx1000 systems. If you're unsure, answer Y.
  167. config IA64_CYCLONE
  168. bool "Cyclone (EXA) Time Source support"
  169. help
  170. Say Y here to enable support for IBM EXA Cyclone time source.
  171. If you're unsure, answer N.
  172. config ARCH_FORCE_MAX_ORDER
  173. int "MAX_ORDER (11 - 17)" if !HUGETLB_PAGE
  174. range 11 17 if !HUGETLB_PAGE
  175. default "17" if HUGETLB_PAGE
  176. default "11"
  177. config SMP
  178. bool "Symmetric multi-processing support"
  179. help
  180. This enables support for systems with more than one CPU. If you have
  181. a system with only one CPU, say N. If you have a system with more
  182. than one CPU, say Y.
  183. If you say N here, the kernel will run on single and multiprocessor
  184. systems, but will use only one CPU of a multiprocessor system. If
  185. you say Y here, the kernel will run on many, but not all,
  186. single processor systems. On a single processor system, the kernel
  187. will run faster if you say N here.
  188. See also the SMP-HOWTO available at
  189. <http://www.tldp.org/docs.html#howto>.
  190. If you don't know what to do here, say N.
  191. config NR_CPUS
  192. int "Maximum number of CPUs (2-4096)"
  193. range 2 4096
  194. depends on SMP
  195. default "4096"
  196. help
  197. You should set this to the number of CPUs in your system, but
  198. keep in mind that a kernel compiled for, e.g., 2 CPUs will boot but
  199. only use 2 CPUs on a >2 CPU system. Setting this to a value larger
  200. than 64 will cause the use of a CPU mask array, causing a small
  201. performance hit.
  202. config HOTPLUG_CPU
  203. bool "Support for hot-pluggable CPUs"
  204. depends on SMP
  205. default n
  206. help
  207. Say Y here to experiment with turning CPUs off and on. CPUs
  208. can be controlled through /sys/devices/system/cpu/cpu#.
  209. Say N if you want to disable CPU hotplug.
  210. config SCHED_SMT
  211. bool "SMT scheduler support"
  212. depends on SMP
  213. help
  214. Improves the CPU scheduler's decision making when dealing with
  215. Intel IA64 chips with MultiThreading at a cost of slightly increased
  216. overhead in some places. If unsure say N here.
  217. config PERMIT_BSP_REMOVE
  218. bool "Support removal of Bootstrap Processor"
  219. depends on HOTPLUG_CPU
  220. default n
  221. help
  222. Say Y here if your platform SAL will support removal of BSP with HOTPLUG_CPU
  223. support.
  224. config FORCE_CPEI_RETARGET
  225. bool "Force assumption that CPEI can be re-targeted"
  226. depends on PERMIT_BSP_REMOVE
  227. default n
  228. help
  229. Say Y if you need to force the assumption that CPEI can be re-targeted to
  230. any cpu in the system. This hint is available via ACPI 3.0 specifications.
  231. Tiger4 systems are capable of re-directing CPEI to any CPU other than BSP.
  232. This option it useful to enable this feature on older BIOS's as well.
  233. You can also enable this by using boot command line option force_cpei=1.
  234. config ARCH_SELECT_MEMORY_MODEL
  235. def_bool y
  236. config ARCH_FLATMEM_ENABLE
  237. def_bool y
  238. config ARCH_SPARSEMEM_ENABLE
  239. def_bool y
  240. select SPARSEMEM_VMEMMAP_ENABLE
  241. config ARCH_SPARSEMEM_DEFAULT
  242. def_bool y
  243. depends on ARCH_SPARSEMEM_ENABLE
  244. config NUMA
  245. bool "NUMA support"
  246. depends on !FLATMEM
  247. select SMP
  248. select USE_PERCPU_NUMA_NODE_ID
  249. help
  250. Say Y to compile the kernel to support NUMA (Non-Uniform Memory
  251. Access). This option is for configuring high-end multiprocessor
  252. server systems. If in doubt, say N.
  253. config NODES_SHIFT
  254. int "Max num nodes shift(3-10)"
  255. range 3 10
  256. default "10"
  257. depends on NUMA
  258. help
  259. This option specifies the maximum number of nodes in your SSI system.
  260. MAX_NUMNODES will be 2^(This value).
  261. If in doubt, use the default.
  262. config HAVE_ARCH_NODEDATA_EXTENSION
  263. def_bool y
  264. depends on NUMA
  265. config HAVE_MEMORYLESS_NODES
  266. def_bool NUMA
  267. config ARCH_PROC_KCORE_TEXT
  268. def_bool y
  269. depends on PROC_KCORE
  270. config IA64_MCA_RECOVERY
  271. bool "MCA recovery from errors other than TLB."
  272. config IA64_PALINFO
  273. tristate "/proc/pal support"
  274. help
  275. If you say Y here, you are able to get PAL (Processor Abstraction
  276. Layer) information in /proc/pal. This contains useful information
  277. about the processors in your systems, such as cache and TLB sizes
  278. and the PAL firmware version in use.
  279. To use this option, you have to ensure that the "/proc file system
  280. support" (CONFIG_PROC_FS) is enabled, too.
  281. config IA64_MC_ERR_INJECT
  282. tristate "MC error injection support"
  283. help
  284. Adds support for MC error injection. If enabled, the kernel
  285. will provide a sysfs interface for user applications to
  286. call MC error injection PAL procedures to inject various errors.
  287. This is a useful tool for MCA testing.
  288. If you're unsure, do not select this option.
  289. config IA64_ESI
  290. bool "ESI (Extensible SAL Interface) support"
  291. help
  292. If you say Y here, support is built into the kernel to
  293. make ESI calls. ESI calls are used to support vendor-specific
  294. firmware extensions, such as the ability to inject memory-errors
  295. for test-purposes. If you're unsure, say N.
  296. config IA64_HP_AML_NFW
  297. bool "Support ACPI AML calls to native firmware"
  298. help
  299. This driver installs a global ACPI Operation Region handler for
  300. region 0xA1. AML methods can use this OpRegion to call arbitrary
  301. native firmware functions. The driver installs the OpRegion
  302. handler if there is an HPQ5001 device or if the user supplies
  303. the "force" module parameter, e.g., with the "aml_nfw.force"
  304. kernel command line option.
  305. config KEXEC
  306. bool "kexec system call"
  307. depends on !SMP || HOTPLUG_CPU
  308. select KEXEC_CORE
  309. help
  310. kexec is a system call that implements the ability to shutdown your
  311. current kernel, and to start another kernel. It is like a reboot
  312. but it is independent of the system firmware. And like a reboot
  313. you can start any kernel with it, not just Linux.
  314. The name comes from the similarity to the exec system call.
  315. It is an ongoing process to be certain the hardware in a machine
  316. is properly shutdown, so do not be surprised if this code does not
  317. initially work for you. As of this writing the exact hardware
  318. interface is strongly in flux, so no good recommendation can be
  319. made.
  320. config CRASH_DUMP
  321. bool "kernel crash dumps"
  322. depends on IA64_MCA_RECOVERY && (!SMP || HOTPLUG_CPU)
  323. help
  324. Generate crash dump after being started by kexec.
  325. endmenu
  326. menu "Power management and ACPI options"
  327. source "kernel/power/Kconfig"
  328. source "drivers/acpi/Kconfig"
  329. if PM
  330. menu "CPU Frequency scaling"
  331. source "drivers/cpufreq/Kconfig"
  332. endmenu
  333. endif
  334. endmenu
  335. config MSPEC
  336. tristate "Memory special operations driver"
  337. depends on IA64
  338. select IA64_UNCACHED_ALLOCATOR
  339. help
  340. If you have an ia64 and you want to enable memory special
  341. operations support (formerly known as fetchop), say Y here,
  342. otherwise say N.