blob: a7e01573abd831c89f065a1ad522ecddab9a9af0 [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001# SPDX-License-Identifier: GPL-2.0
Kirill A. Shutemov4d66bcc2015-04-14 15:45:45 -07002config 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
Linus Torvalds1da177e2005-04-16 15:20:36 -07007menu "Processor type and features"
8
9config IA64
10 bool
Christoph Hellwigabdaf112020-08-17 16:41:50 +020011 select ARCH_HAS_DMA_MARK_CLEAN
Arnd Bergmanne6226992021-05-17 09:22:34 +020012 select ARCH_HAS_STRNCPY_FROM_USER
13 select ARCH_HAS_STRNLEN_USER
Mark Salter468bcf02013-10-07 22:08:56 -040014 select ARCH_MIGHT_HAVE_PC_PARPORT
Mark Salterbbc4e592014-01-01 11:31:12 -080015 select ARCH_MIGHT_HAVE_PC_SERIO
Christoph Hellwigfc5bad02019-08-13 09:25:03 +020016 select ACPI
Christoph Hellwigdf410172019-08-13 09:25:12 +020017 select ACPI_NUMA if NUMA
Anshuman Khandual91024b32021-05-04 18:38:17 -070018 select ARCH_ENABLE_MEMORY_HOTPLUG
19 select ARCH_ENABLE_MEMORY_HOTREMOVE
Christoph Hellwigfc5bad02019-08-13 09:25:03 +020020 select ARCH_SUPPORTS_ACPI
Graeme Gregory6e0a0ea2015-03-24 14:02:39 +000021 select ACPI_SYSTEM_POWER_STATES_SUPPORT if ACPI
Hanjun Guo46ba51e2014-07-18 18:02:54 +080022 select ARCH_MIGHT_HAVE_ACPI_PDC if ACPI
Christoph Hellwigfc5bad02019-08-13 09:25:03 +020023 select FORCE_PCI
Christoph Hellwig2eac9c22018-11-15 20:05:33 +010024 select PCI_DOMAINS if PCI
Christoph Hellwigdf410172019-08-13 09:25:12 +020025 select PCI_MSI
Christoph Hellwig20f1b792018-11-15 20:05:34 +010026 select PCI_SYSCALL if PCI
Masahiro Yamada2ff2b7e2019-08-19 14:54:20 +090027 select HAVE_ASM_MODVERSIONS
Tony Luck0773a6c2009-01-15 10:29:17 -080028 select HAVE_UNSTABLE_SCHED_CLOCK
Jiri Slaby5f56a5d2016-05-20 17:00:16 -070029 select HAVE_EXIT_THREAD
Mathieu Desnoyers3f550092008-02-02 15:10:35 -050030 select HAVE_KPROBES
Ananth N Mavinakayanahalli9edddaa2008-03-04 14:28:37 -080031 select HAVE_KRETPROBES
Shaohua Lia14a07b2009-01-09 11:29:49 +080032 select HAVE_FTRACE_MCOUNT_RECORD
33 select HAVE_DYNAMIC_FTRACE if (!ITANIUM)
Shaohua Lid3e75ff2009-01-09 11:29:46 +080034 select HAVE_FUNCTION_TRACER
Kefeng Wang7ecd19c2022-01-19 18:07:41 -080035 select HAVE_SETUP_PER_CPU_AREA
Josh Triplett6035d9d2014-04-07 15:39:07 -070036 select TTY
Shaohua Li9690ad02008-10-01 13:57:14 -070037 select HAVE_ARCH_TRACEHOOK
Frederic Weisbeckerb9527412012-06-16 15:39:34 +020038 select HAVE_VIRT_CPU_ACCOUNTING
Anshuman Khandual4bfb68a2021-05-04 18:33:19 -070039 select HUGETLB_PAGE_SIZE_VARIABLE if HUGETLB_PAGE
Stephen Rothwell4febd952013-03-07 15:48:16 +110040 select VIRT_TO_BUS
Thomas Gleixnerc5e66122011-01-19 20:32:46 +010041 select GENERIC_IRQ_PROBE
42 select GENERIC_PENDING_IRQ if SMP
Thomas Gleixnere3d78122011-03-25 21:04:38 +010043 select GENERIC_IRQ_SHOW
Thomas Gleixner4debd722014-05-07 15:44:22 +000044 select GENERIC_IRQ_LEGACY
Huang Yingdf013ff2011-07-13 13:14:22 +080045 select ARCH_HAVE_NMI_SAFE_CMPXCHG
Michael S. Tsirkin4673ca82011-11-24 14:54:28 +020046 select GENERIC_IOMAP
Thomas Gleixner13583bf2012-04-20 13:05:49 +000047 select GENERIC_SMP_IDLE_THREAD
David Howells05008712018-01-02 15:12:01 +000048 select ARCH_TASK_STRUCT_ON_STACK
Thomas Gleixnerf5e10282012-05-05 15:05:48 +000049 select ARCH_TASK_STRUCT_ALLOCATOR
Linus Torvaldsb235bee2016-06-24 15:09:37 -070050 select ARCH_THREAD_STACK_ALLOCATOR
Anna-Maria Gleixner21b19712012-05-18 16:45:48 +000051 select ARCH_CLOCKSOURCE_DATA
Tony Luckd4d1fc62017-10-31 10:43:39 -070052 select GENERIC_TIME_VSYSCALL
Arnd Bergmann2b49ddc2020-09-24 15:23:13 +020053 select LEGACY_TIMER_TICK
Christoph Hellwigdf410172019-08-13 09:25:12 +020054 select SWIOTLB
Vineet Guptab6fca722013-01-09 20:06:28 +053055 select SYSCTL_ARCH_UNALIGN_NO_WARN
David Howells786d35d2012-09-28 14:31:03 +093056 select HAVE_MOD_ARCH_SPECIFIC
57 select MODULES_USE_ELF_RELA
Luck, Tony71c73562013-09-03 15:31:21 -070058 select ARCH_USE_CMPXCHG_LOCKREF
AKASHI Takahiro7a017722014-02-25 18:16:24 +090059 select HAVE_ARCH_AUDITSYSCALL
Christoph Hellwigf616ab52018-05-09 06:53:49 +020060 select NEED_DMA_MAP_STATE
Christoph Hellwig86596f02018-04-05 09:44:52 +020061 select NEED_SG_DMA_LENGTH
Christoph Hellwigdf410172019-08-13 09:25:12 +020062 select NUMA if !FLATMEM
Thomas Gleixner981aa1d2020-09-28 12:13:07 +020063 select PCI_MSI_ARCH_FALLBACKS if PCI_MSI
Christoph Hellwig5e6e9852020-09-03 16:22:35 +020064 select SET_FS
Kefeng Wang63703f32021-06-30 18:52:20 -070065 select ZONE_DMA32
Linus Torvalds1da177e2005-04-16 15:20:36 -070066 default y
67 help
68 The Itanium Processor Family is Intel's 64-bit successor to
69 the 32-bit X86 line. The IA-64 Linux project has a home
70 page at <http://www.linuxia64.org/> and a mailing list at
71 <linux-ia64@vger.kernel.org>.
72
73config 64BIT
74 bool
Zhang, Yanmin9f271d52007-02-09 11:29:51 +080075 select ATA_NONSTANDARD if ATA
Linus Torvalds1da177e2005-04-16 15:20:36 -070076 default y
77
78config MMU
79 bool
80 default y
81
Tony Luck85718fa2010-09-23 13:52:07 -070082config STACKTRACE_SUPPORT
83 def_bool y
84
Nick Piggin95c354f2008-01-30 13:31:20 +010085config GENERIC_LOCKBREAK
Tony Luck2c869632009-09-25 08:42:16 -070086 def_bool n
Nick Piggin95c354f2008-01-30 13:31:20 +010087
Linus Torvalds1da177e2005-04-16 15:20:36 -070088config GENERIC_CALIBRATE_DELAY
89 bool
90 default y
91
Matt Domsch3ed3bce2006-03-26 01:37:03 -080092config DMI
93 bool
94 default y
Ard Biesheuvelcf074402014-01-23 15:54:39 -080095 select DMI_SCAN_MACHINE_NON_EFI_FALLBACK
Matt Domsch3ed3bce2006-03-26 01:37:03 -080096
Linus Torvalds1da177e2005-04-16 15:20:36 -070097config EFI
98 bool
Matt Fleminga614e192013-04-30 11:30:24 +010099 select UCS2_STRING
Linus Torvalds1da177e2005-04-16 15:20:36 -0700100 default y
101
Ingo Molnarae1e9132008-11-11 09:05:16 +0100102config SCHED_OMIT_FRAME_POINTER
Anton Blanchard7d12e522005-05-05 16:15:11 -0700103 bool
104 default y
105
Jes Sorensenf14f75b2005-06-21 17:15:02 -0700106config IA64_UNCACHED_ALLOCATOR
107 bool
108 select GENERIC_ALLOCATOR
109
Venkatesh Pallipadi46cf98c2009-07-10 09:57:37 -0700110config ARCH_USES_PG_UNCACHED
111 def_bool y
112 depends on IA64_UNCACHED_ALLOCATOR
113
Al Viroe65e1fc2006-09-12 03:04:40 -0400114config AUDIT_ARCH
115 bool
116 default y
117
Linus Torvalds1da177e2005-04-16 15:20:36 -0700118choice
Linus Torvalds1da177e2005-04-16 15:20:36 -0700119 prompt "Processor type"
120 default ITANIUM
121
122config ITANIUM
123 bool "Itanium"
124 help
125 Select your IA-64 processor type. The default is Itanium.
126 This choice is safe for all IA-64 systems, but may not perform
127 optimally on systems with, say, Itanium 2 or newer processors.
128
129config MCKINLEY
130 bool "Itanium 2"
131 help
132 Select this to configure for an Itanium 2 (McKinley) processor.
133
134endchoice
135
136choice
137 prompt "Kernel page size"
138 default IA64_PAGE_SIZE_16KB
139
140config IA64_PAGE_SIZE_4KB
141 bool "4KB"
142 help
143 This lets you select the page size of the kernel. For best IA-64
144 performance, a page size of 8KB or 16KB is recommended. For best
145 IA-32 compatibility, a page size of 4KB should be selected (the vast
146 majority of IA-32 binaries work perfectly fine with a larger page
147 size). For Itanium 2 or newer systems, a page size of 64KB can also
148 be selected.
149
150 4KB For best IA-32 compatibility
151 8KB For best IA-64 performance
152 16KB For best IA-64 performance
153 64KB Requires Itanium 2 or newer processor.
154
155 If you don't know what to do, choose 16KB.
156
157config IA64_PAGE_SIZE_8KB
158 bool "8KB"
159
160config IA64_PAGE_SIZE_16KB
161 bool "16KB"
162
163config IA64_PAGE_SIZE_64KB
164 depends on !ITANIUM
165 bool "64KB"
166
167endchoice
168
Masahiro Yamada8636a1f2018-12-11 20:01:04 +0900169source "kernel/Kconfig.hz"
Christoph Lameterb5d23e52005-06-23 00:08:27 -0700170
Linus Torvalds1da177e2005-04-16 15:20:36 -0700171config IA64_BRL_EMU
172 bool
173 depends on ITANIUM
174 default y
175
176# align cache-sensitive data to 128 bytes
177config IA64_L1_CACHE_SHIFT
178 int
179 default "7" if MCKINLEY
180 default "6" if ITANIUM
181
Christoph Hellwigdf410172019-08-13 09:25:12 +0200182config IA64_SGI_UV
183 bool "SGI-UV support"
184 help
185 Selecting this option will add specific support for running on SGI
186 UV based systems. If you have an SGI UV system or are building a
187 distro kernel, select this option.
188
189config IA64_HP_SBA_IOMMU
190 bool "HP SBA IOMMU support"
Christoph Hellwig2f9237d2020-07-08 09:30:00 +0200191 select DMA_OPS
Christoph Hellwigdf410172019-08-13 09:25:12 +0200192 default y
193 help
194 Say Y here to add support for the SBA IOMMU found on HP zx1 and
195 sx1000 systems. If you're unsure, answer Y.
196
Linus Torvalds1da177e2005-04-16 15:20:36 -0700197config IA64_CYCLONE
198 bool "Cyclone (EXA) Time Source support"
199 help
200 Say Y here to enable support for IBM EXA Cyclone time source.
201 If you're unsure, answer N.
202
Linus Torvalds1da177e2005-04-16 15:20:36 -0700203config FORCE_MAX_ZONEORDER
Bob Piccoda9577c2005-10-04 15:13:37 -0400204 int "MAX_ORDER (11 - 17)" if !HUGETLB_PAGE
205 range 11 17 if !HUGETLB_PAGE
206 default "17" if HUGETLB_PAGE
207 default "11"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700208
209config SMP
210 bool "Symmetric multi-processing support"
211 help
212 This enables support for systems with more than one CPU. If you have
213 a system with only one CPU, say N. If you have a system with more
214 than one CPU, say Y.
215
216 If you say N here, the kernel will run on single and multiprocessor
217 systems, but will use only one CPU of a multiprocessor system. If
218 you say Y here, the kernel will run on many, but not all,
219 single processor systems. On a single processor system, the kernel
220 will run faster if you say N here.
221
Adrian Bunk03502fa2008-02-03 15:50:21 +0200222 See also the SMP-HOWTO available at
223 <http://www.tldp.org/docs.html#howto>.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700224
225 If you don't know what to do here, say N.
226
227config NR_CPUS
Robin Holtd1339df2008-08-02 13:29:24 -0500228 int "Maximum number of CPUs (2-4096)"
229 range 2 4096
Linus Torvalds1da177e2005-04-16 15:20:36 -0700230 depends on SMP
Robin Holtd1339df2008-08-02 13:29:24 -0500231 default "4096"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700232 help
233 You should set this to the number of CPUs in your system, but
234 keep in mind that a kernel compiled for, e.g., 2 CPUs will boot but
235 only use 2 CPUs on a >2 CPU system. Setting this to a value larger
236 than 64 will cause the use of a CPU mask array, causing a small
237 performance hit.
238
239config HOTPLUG_CPU
Kees Cook48a92402012-10-02 11:16:29 -0700240 bool "Support for hot-pluggable CPUs"
241 depends on SMP
Linus Torvalds1da177e2005-04-16 15:20:36 -0700242 default n
Masahiro Yamadaa7f7f622020-06-14 01:50:22 +0900243 help
Linus Torvalds1da177e2005-04-16 15:20:36 -0700244 Say Y here to experiment with turning CPUs off and on. CPUs
245 can be controlled through /sys/devices/system/cpu/cpu#.
246 Say N if you want to disable CPU hotplug.
247
Suresh Siddha7a9bdd82005-04-05 18:05:00 -0700248config SCHED_SMT
249 bool "SMT scheduler support"
250 depends on SMP
Suresh Siddha7a9bdd82005-04-05 18:05:00 -0700251 help
252 Improves the CPU scheduler's decision making when dealing with
253 Intel IA64 chips with MultiThreading at a cost of slightly increased
254 overhead in some places. If unsure say N here.
255
Ashok Rajff741902005-11-11 14:32:40 -0800256config PERMIT_BSP_REMOVE
257 bool "Support removal of Bootstrap Processor"
258 depends on HOTPLUG_CPU
259 default n
Masahiro Yamadaa7f7f622020-06-14 01:50:22 +0900260 help
Ashok Rajff741902005-11-11 14:32:40 -0800261 Say Y here if your platform SAL will support removal of BSP with HOTPLUG_CPU
262 support.
263
264config FORCE_CPEI_RETARGET
Lucas De Marchi25985ed2011-03-30 22:57:33 -0300265 bool "Force assumption that CPEI can be re-targeted"
Ashok Rajff741902005-11-11 14:32:40 -0800266 depends on PERMIT_BSP_REMOVE
267 default n
Masahiro Yamadaa7f7f622020-06-14 01:50:22 +0900268 help
Lucas De Marchi25985ed2011-03-30 22:57:33 -0300269 Say Y if you need to force the assumption that CPEI can be re-targeted to
Ashok Rajff741902005-11-11 14:32:40 -0800270 any cpu in the system. This hint is available via ACPI 3.0 specifications.
271 Tiger4 systems are capable of re-directing CPEI to any CPU other than BSP.
272 This option it useful to enable this feature on older BIOS's as well.
273 You can also enable this by using boot command line option force_cpei=1.
274
Bob Piccoda9577c2005-10-04 15:13:37 -0400275config ARCH_SELECT_MEMORY_MODEL
276 def_bool y
277
Bob Piccoda9577c2005-10-04 15:13:37 -0400278config ARCH_FLATMEM_ENABLE
279 def_bool y
280
281config ARCH_SPARSEMEM_ENABLE
282 def_bool y
Christoph Lameteref229c52007-10-16 01:24:15 -0700283 select SPARSEMEM_VMEMMAP_ENABLE
Bob Piccoda9577c2005-10-04 15:13:37 -0400284
Mike Rapoport214496c2020-12-14 19:09:51 -0800285config ARCH_SPARSEMEM_DEFAULT
Christoph Hellwigdf410172019-08-13 09:25:12 +0200286 def_bool y
Mike Rapoport214496c2020-12-14 19:09:51 -0800287 depends on ARCH_SPARSEMEM_ENABLE
Bob Piccoda9577c2005-10-04 15:13:37 -0400288
289config NUMA
290 bool "NUMA support"
Christoph Hellwigfc5bad02019-08-13 09:25:03 +0200291 depends on !FLATMEM
Matt Fleminga2cbfd42019-08-08 20:53:00 +0100292 select SMP
Kefeng Wang7ecd19c2022-01-19 18:07:41 -0800293 select USE_PERCPU_NUMA_NODE_ID
Bob Piccoda9577c2005-10-04 15:13:37 -0400294 help
295 Say Y to compile the kernel to support NUMA (Non-Uniform Memory
296 Access). This option is for configuring high-end multiprocessor
297 server systems. If in doubt, say N.
298
Yasunori Gotoc80d79d2006-04-10 22:53:53 -0700299config NODES_SHIFT
300 int "Max num nodes shift(3-10)"
301 range 3 10
Christoph Lameterc57d68c2006-08-22 19:43:27 -0700302 default "10"
Mike Rapoporta9ee6cf2021-06-28 19:43:01 -0700303 depends on NUMA
Yasunori Gotoc80d79d2006-04-10 22:53:53 -0700304 help
305 This option specifies the maximum number of nodes in your SSI system.
306 MAX_NUMNODES will be 2^(This value).
307 If in doubt, use the default.
308
Yasunori Goto10ad4002006-06-27 02:53:33 -0700309config HAVE_ARCH_NODEDATA_EXTENSION
310 def_bool y
311 depends on NUMA
312
Lee Schermerhornfd1197f2010-05-26 14:45:01 -0700313config HAVE_MEMORYLESS_NODES
Lee Schermerhorn25106002010-08-09 17:19:00 -0700314 def_bool NUMA
Lee Schermerhornfd1197f2010-05-26 14:45:01 -0700315
KAMEZAWA Hiroyuki94925872009-09-22 16:45:45 -0700316config ARCH_PROC_KCORE_TEXT
317 def_bool y
318 depends on PROC_KCORE
319
Linus Torvalds1da177e2005-04-16 15:20:36 -0700320config IA64_MCA_RECOVERY
Randy Dunlapdbecf9b2022-01-29 13:40:58 -0800321 bool "MCA recovery from errors other than TLB."
Linus Torvalds1da177e2005-04-16 15:20:36 -0700322
Linus Torvalds1da177e2005-04-16 15:20:36 -0700323config IA64_PALINFO
324 tristate "/proc/pal support"
325 help
326 If you say Y here, you are able to get PAL (Processor Abstraction
327 Layer) information in /proc/pal. This contains useful information
328 about the processors in your systems, such as cache and TLB sizes
329 and the PAL firmware version in use.
330
331 To use this option, you have to ensure that the "/proc file system
332 support" (CONFIG_PROC_FS) is enabled, too.
333
Fenghua Yue9ef08b2006-12-08 16:06:01 -0800334config IA64_MC_ERR_INJECT
335 tristate "MC error injection support"
336 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200337 Adds support for MC error injection. If enabled, the kernel
338 will provide a sysfs interface for user applications to
339 call MC error injection PAL procedures to inject various errors.
Fenghua Yue9ef08b2006-12-08 16:06:01 -0800340 This is a useful tool for MCA testing.
341
342 If you're unsure, do not select this option.
343
David Mosberger-Tang2ab561a2006-06-21 11:19:22 -0700344config IA64_ESI
345 bool "ESI (Extensible SAL Interface) support"
346 help
347 If you say Y here, support is built into the kernel to
348 make ESI calls. ESI calls are used to support vendor-specific
349 firmware extensions, such as the ability to inject memory-errors
350 for test-purposes. If you're unsure, say N.
351
Bjorn Helgaas28eda5b2007-09-20 14:22:03 -0600352config IA64_HP_AML_NFW
353 bool "Support ACPI AML calls to native firmware"
354 help
355 This driver installs a global ACPI Operation Region handler for
356 region 0xA1. AML methods can use this OpRegion to call arbitrary
357 native firmware functions. The driver installs the OpRegion
358 handler if there is an HPQ5001 device or if the user supplies
359 the "force" module parameter, e.g., with the "aml_nfw.force"
360 kernel command line option.
361
Zou Nan haia79561132006-12-07 09:51:35 -0800362config KEXEC
Kees Cook48a92402012-10-02 11:16:29 -0700363 bool "kexec system call"
Christoph Hellwigfc5bad02019-08-13 09:25:03 +0200364 depends on !SMP || HOTPLUG_CPU
Dave Young2965faa2015-09-09 15:38:55 -0700365 select KEXEC_CORE
Zou Nan haia79561132006-12-07 09:51:35 -0800366 help
367 kexec is a system call that implements the ability to shutdown your
368 current kernel, and to start another kernel. It is like a reboot
David Sterba3dde6ad2007-05-09 07:12:20 +0200369 but it is independent of the system firmware. And like a reboot
Zou Nan haia79561132006-12-07 09:51:35 -0800370 you can start any kernel with it, not just Linux.
371
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200372 The name comes from the similarity to the exec system call.
Zou Nan haia79561132006-12-07 09:51:35 -0800373
374 It is an ongoing process to be certain the hardware in a machine
375 is properly shutdown, so do not be surprised if this code does not
Geert Uytterhoevenbf220692013-08-20 21:38:03 +0200376 initially work for you. As of this writing the exact hardware
377 interface is strongly in flux, so no good recommendation can be
378 made.
Zou Nan haia79561132006-12-07 09:51:35 -0800379
380config CRASH_DUMP
Bernhard Wallefb866112008-06-26 14:53:11 +0200381 bool "kernel crash dumps"
Christoph Hellwigfc5bad02019-08-13 09:25:03 +0200382 depends on IA64_MCA_RECOVERY && (!SMP || HOTPLUG_CPU)
Zou Nan haia79561132006-12-07 09:51:35 -0800383 help
384 Generate crash dump after being started by kexec.
385
Linus Torvalds1da177e2005-04-16 15:20:36 -0700386endmenu
387
Bjorn Helgaas1547a012008-11-06 10:53:54 -0600388menu "Power management and ACPI options"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700389
Len Browneb7b6b32005-08-25 12:08:25 -0400390source "kernel/power/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700391
392source "drivers/acpi/Kconfig"
393
Venkatesh Pallipadi4db86992005-07-29 16:15:00 -0700394if PM
Viresh Kumarab423e42013-04-04 12:54:20 +0000395menu "CPU Frequency scaling"
396source "drivers/cpufreq/Kconfig"
397endmenu
Venkatesh Pallipadi4db86992005-07-29 16:15:00 -0700398endif
399
Linus Torvalds1da177e2005-04-16 15:20:36 -0700400endmenu
401
Jes Sorensen1a4b0fc2006-11-10 12:27:49 -0800402config MSPEC
403 tristate "Memory special operations driver"
404 depends on IA64
405 select IA64_UNCACHED_ALLOCATOR
406 help
407 If you have an ia64 and you want to enable memory special
408 operations support (formerly known as fetchop), say Y here,
409 otherwise say N.