Commit | Line | Data |
---|---|---|
b2441318 | 1 | # SPDX-License-Identifier: GPL-2.0 |
4d66bcc7 KS |
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 | ||
1da177e4 LT |
7 | menu "Processor type and features" |
8 | ||
9 | config IA64 | |
10 | bool | |
468bcf08 | 11 | select ARCH_MIGHT_HAVE_PC_PARPORT |
bbc4e596 | 12 | select ARCH_MIGHT_HAVE_PC_SERIO |
fc5bad03 CH |
13 | select ACPI |
14 | select ARCH_SUPPORTS_ACPI | |
6e0a0ea1 | 15 | select ACPI_SYSTEM_POWER_STATES_SUPPORT if ACPI |
46ba51ea | 16 | select ARCH_MIGHT_HAVE_ACPI_PDC if ACPI |
fc5bad03 | 17 | select FORCE_PCI |
2eac9c2d | 18 | select PCI_DOMAINS if PCI |
20f1b79d | 19 | select PCI_SYSCALL if PCI |
0773a6cf | 20 | select HAVE_UNSTABLE_SCHED_CLOCK |
5f56a5df | 21 | select HAVE_EXIT_THREAD |
ec7748b5 | 22 | select HAVE_IDE |
42d4b839 | 23 | select HAVE_OPROFILE |
3f550096 | 24 | select HAVE_KPROBES |
9edddaa2 | 25 | select HAVE_KRETPROBES |
a14a07b8 SL |
26 | select HAVE_FTRACE_MCOUNT_RECORD |
27 | select HAVE_DYNAMIC_FTRACE if (!ITANIUM) | |
d3e75ff1 | 28 | select HAVE_FUNCTION_TRACER |
6035d9db | 29 | select TTY |
9690ad03 | 30 | select HAVE_ARCH_TRACEHOOK |
98e4ae8a | 31 | select HAVE_MEMBLOCK_NODE_MAP |
b952741c | 32 | select HAVE_VIRT_CPU_ACCOUNTING |
8ee94e3f | 33 | select ARCH_HAS_DMA_COHERENT_TO_PFN if SWIOTLB |
3fed6ae4 | 34 | select ARCH_HAS_SYNC_DMA_FOR_CPU if SWIOTLB |
4febd95a | 35 | select VIRT_TO_BUS |
c5e66129 TG |
36 | select GENERIC_IRQ_PROBE |
37 | select GENERIC_PENDING_IRQ if SMP | |
e3d78122 | 38 | select GENERIC_IRQ_SHOW |
4debd723 | 39 | select GENERIC_IRQ_LEGACY |
df013ffb | 40 | select ARCH_HAVE_NMI_SAFE_CMPXCHG |
4673ca8e | 41 | select GENERIC_IOMAP |
13583bf1 | 42 | select GENERIC_SMP_IDLE_THREAD |
0500871f | 43 | select ARCH_TASK_STRUCT_ON_STACK |
f5e10287 | 44 | select ARCH_TASK_STRUCT_ALLOCATOR |
b235beea | 45 | select ARCH_THREAD_STACK_ALLOCATOR |
21b19710 | 46 | select ARCH_CLOCKSOURCE_DATA |
d4d1fc61 | 47 | select GENERIC_TIME_VSYSCALL |
b6fca725 | 48 | select SYSCTL_ARCH_UNALIGN_NO_WARN |
786d35d4 DH |
49 | select HAVE_MOD_ARCH_SPECIFIC |
50 | select MODULES_USE_ELF_RELA | |
71c7356f | 51 | select ARCH_USE_CMPXCHG_LOCKREF |
7a017721 | 52 | select HAVE_ARCH_AUDITSYSCALL |
f616ab59 | 53 | select NEED_DMA_MAP_STATE |
86596f0a | 54 | select NEED_SG_DMA_LENGTH |
1da177e4 LT |
55 | default y |
56 | help | |
57 | The Itanium Processor Family is Intel's 64-bit successor to | |
58 | the 32-bit X86 line. The IA-64 Linux project has a home | |
59 | page at <http://www.linuxia64.org/> and a mailing list at | |
60 | <linux-ia64@vger.kernel.org>. | |
61 | ||
62 | config 64BIT | |
63 | bool | |
9f271d57 | 64 | select ATA_NONSTANDARD if ATA |
1da177e4 LT |
65 | default y |
66 | ||
d5c23ebf | 67 | config ZONE_DMA32 |
09ae1f58 | 68 | def_bool y |
66701b14 | 69 | |
2bd62a40 CL |
70 | config QUICKLIST |
71 | bool | |
72 | default y | |
73 | ||
1da177e4 LT |
74 | config MMU |
75 | bool | |
76 | default y | |
77 | ||
85718fae TL |
78 | config STACKTRACE_SUPPORT |
79 | def_bool y | |
80 | ||
95c354fe | 81 | config GENERIC_LOCKBREAK |
2c86963b | 82 | def_bool n |
95c354fe | 83 | |
d9c23400 MG |
84 | config HUGETLB_PAGE_SIZE_VARIABLE |
85 | bool | |
86 | depends on HUGETLB_PAGE | |
87 | default y | |
88 | ||
1da177e4 LT |
89 | config GENERIC_CALIBRATE_DELAY |
90 | bool | |
91 | default y | |
92 | ||
988c388a | 93 | config HAVE_SETUP_PER_CPU_AREA |
b32ef636 | 94 | def_bool y |
95 | ||
3ed3bce8 MD |
96 | config DMI |
97 | bool | |
98 | default y | |
cf074402 | 99 | select DMI_SCAN_MACHINE_NON_EFI_FALLBACK |
3ed3bce8 | 100 | |
1da177e4 LT |
101 | config EFI |
102 | bool | |
a614e192 | 103 | select UCS2_STRING |
1da177e4 LT |
104 | default y |
105 | ||
ae1e9130 | 106 | config SCHED_OMIT_FRAME_POINTER |
7d12e522 AB |
107 | bool |
108 | default y | |
109 | ||
f14f75b8 JS |
110 | config IA64_UNCACHED_ALLOCATOR |
111 | bool | |
112 | select GENERIC_ALLOCATOR | |
113 | ||
46cf98cd VP |
114 | config ARCH_USES_PG_UNCACHED |
115 | def_bool y | |
116 | depends on IA64_UNCACHED_ALLOCATOR | |
117 | ||
e65e1fc2 AV |
118 | config AUDIT_ARCH |
119 | bool | |
120 | default y | |
121 | ||
1da177e4 LT |
122 | choice |
123 | prompt "System type" | |
124 | default IA64_GENERIC | |
125 | ||
126 | config IA64_GENERIC | |
127 | bool "generic" | |
128 | select NUMA | |
129 | select ACPI_NUMA | |
d1598e05 | 130 | select SWIOTLB |
62fdd767 | 131 | select PCI_MSI |
1da177e4 LT |
132 | help |
133 | This selects the system type of your hardware. A "generic" kernel | |
134 | will run on any supported IA-64 system. However, if you configure | |
135 | a kernel for your specific system, it will be faster and smaller. | |
136 | ||
137 | generic For any supported IA-64 system | |
138 | DIG-compliant For DIG ("Developer's Interface Guide") compliant systems | |
62fdd767 | 139 | DIG+Intel+IOMMU For DIG systems with Intel IOMMU |
1da177e4 | 140 | HP-zx1/sx1000 For HP systems |
22246614 | 141 | SGI-UV For SGI UV systems |
1da177e4 LT |
142 | |
143 | If you don't know what to do, choose "generic". | |
144 | ||
145 | config IA64_DIG | |
146 | bool "DIG-compliant" | |
d1598e05 | 147 | select SWIOTLB |
1da177e4 LT |
148 | |
149 | config IA64_HP_ZX1 | |
150 | bool "HP-zx1/sx1000" | |
151 | help | |
152 | Build a kernel that runs on HP zx1 and sx1000 systems. This adds | |
153 | support for the HP I/O MMU. | |
154 | ||
3351ab9b JS |
155 | config IA64_SGI_UV |
156 | bool "SGI-UV" | |
22246614 JS |
157 | select NUMA |
158 | select ACPI_NUMA | |
159 | select SWIOTLB | |
160 | help | |
161 | Selecting this option will optimize the kernel for use on UV based | |
162 | systems, but the resulting kernel binary will not run on other | |
163 | types of ia64 systems. If you have an SGI UV system, it's safe | |
164 | to select this option. If in doubt, select ia64 generic support | |
165 | instead. | |
166 | ||
1da177e4 LT |
167 | endchoice |
168 | ||
169 | choice | |
170 | prompt "Processor type" | |
171 | default ITANIUM | |
172 | ||
173 | config ITANIUM | |
174 | bool "Itanium" | |
175 | help | |
176 | Select your IA-64 processor type. The default is Itanium. | |
177 | This choice is safe for all IA-64 systems, but may not perform | |
178 | optimally on systems with, say, Itanium 2 or newer processors. | |
179 | ||
180 | config MCKINLEY | |
181 | bool "Itanium 2" | |
182 | help | |
183 | Select this to configure for an Itanium 2 (McKinley) processor. | |
184 | ||
185 | endchoice | |
186 | ||
187 | choice | |
188 | prompt "Kernel page size" | |
189 | default IA64_PAGE_SIZE_16KB | |
190 | ||
191 | config IA64_PAGE_SIZE_4KB | |
192 | bool "4KB" | |
193 | help | |
194 | This lets you select the page size of the kernel. For best IA-64 | |
195 | performance, a page size of 8KB or 16KB is recommended. For best | |
196 | IA-32 compatibility, a page size of 4KB should be selected (the vast | |
197 | majority of IA-32 binaries work perfectly fine with a larger page | |
198 | size). For Itanium 2 or newer systems, a page size of 64KB can also | |
199 | be selected. | |
200 | ||
201 | 4KB For best IA-32 compatibility | |
202 | 8KB For best IA-64 performance | |
203 | 16KB For best IA-64 performance | |
204 | 64KB Requires Itanium 2 or newer processor. | |
205 | ||
206 | If you don't know what to do, choose 16KB. | |
207 | ||
208 | config IA64_PAGE_SIZE_8KB | |
209 | bool "8KB" | |
210 | ||
211 | config IA64_PAGE_SIZE_16KB | |
212 | bool "16KB" | |
213 | ||
214 | config IA64_PAGE_SIZE_64KB | |
215 | depends on !ITANIUM | |
216 | bool "64KB" | |
217 | ||
218 | endchoice | |
219 | ||
8636a1f9 | 220 | source "kernel/Kconfig.hz" |
b5d23e5b | 221 | |
1da177e4 LT |
222 | config IA64_BRL_EMU |
223 | bool | |
224 | depends on ITANIUM | |
225 | default y | |
226 | ||
227 | # align cache-sensitive data to 128 bytes | |
228 | config IA64_L1_CACHE_SHIFT | |
229 | int | |
230 | default "7" if MCKINLEY | |
231 | default "6" if ITANIUM | |
232 | ||
1da177e4 LT |
233 | config IA64_CYCLONE |
234 | bool "Cyclone (EXA) Time Source support" | |
235 | help | |
236 | Say Y here to enable support for IBM EXA Cyclone time source. | |
237 | If you're unsure, answer N. | |
238 | ||
1da177e4 | 239 | config FORCE_MAX_ZONEORDER |
da9577c5 BP |
240 | int "MAX_ORDER (11 - 17)" if !HUGETLB_PAGE |
241 | range 11 17 if !HUGETLB_PAGE | |
242 | default "17" if HUGETLB_PAGE | |
243 | default "11" | |
1da177e4 LT |
244 | |
245 | config SMP | |
246 | bool "Symmetric multi-processing support" | |
247 | help | |
248 | This enables support for systems with more than one CPU. If you have | |
249 | a system with only one CPU, say N. If you have a system with more | |
250 | than one CPU, say Y. | |
251 | ||
252 | If you say N here, the kernel will run on single and multiprocessor | |
253 | systems, but will use only one CPU of a multiprocessor system. If | |
254 | you say Y here, the kernel will run on many, but not all, | |
255 | single processor systems. On a single processor system, the kernel | |
256 | will run faster if you say N here. | |
257 | ||
03502faa AB |
258 | See also the SMP-HOWTO available at |
259 | <http://www.tldp.org/docs.html#howto>. | |
1da177e4 LT |
260 | |
261 | If you don't know what to do here, say N. | |
262 | ||
263 | config NR_CPUS | |
d1339df1 RH |
264 | int "Maximum number of CPUs (2-4096)" |
265 | range 2 4096 | |
1da177e4 | 266 | depends on SMP |
d1339df1 | 267 | default "4096" |
1da177e4 LT |
268 | help |
269 | You should set this to the number of CPUs in your system, but | |
270 | keep in mind that a kernel compiled for, e.g., 2 CPUs will boot but | |
271 | only use 2 CPUs on a >2 CPU system. Setting this to a value larger | |
272 | than 64 will cause the use of a CPU mask array, causing a small | |
273 | performance hit. | |
274 | ||
275 | config HOTPLUG_CPU | |
48a9240c KC |
276 | bool "Support for hot-pluggable CPUs" |
277 | depends on SMP | |
1da177e4 LT |
278 | default n |
279 | ---help--- | |
280 | Say Y here to experiment with turning CPUs off and on. CPUs | |
281 | can be controlled through /sys/devices/system/cpu/cpu#. | |
282 | Say N if you want to disable CPU hotplug. | |
283 | ||
cc57637b YG |
284 | config ARCH_ENABLE_MEMORY_HOTPLUG |
285 | def_bool y | |
286 | ||
0c0e6195 KH |
287 | config ARCH_ENABLE_MEMORY_HOTREMOVE |
288 | def_bool y | |
289 | ||
7a9bdd88 SS |
290 | config SCHED_SMT |
291 | bool "SMT scheduler support" | |
292 | depends on SMP | |
7a9bdd88 SS |
293 | help |
294 | Improves the CPU scheduler's decision making when dealing with | |
295 | Intel IA64 chips with MultiThreading at a cost of slightly increased | |
296 | overhead in some places. If unsure say N here. | |
297 | ||
ff741906 AR |
298 | config PERMIT_BSP_REMOVE |
299 | bool "Support removal of Bootstrap Processor" | |
300 | depends on HOTPLUG_CPU | |
301 | default n | |
302 | ---help--- | |
303 | Say Y here if your platform SAL will support removal of BSP with HOTPLUG_CPU | |
304 | support. | |
305 | ||
306 | config FORCE_CPEI_RETARGET | |
25985edc | 307 | bool "Force assumption that CPEI can be re-targeted" |
ff741906 AR |
308 | depends on PERMIT_BSP_REMOVE |
309 | default n | |
310 | ---help--- | |
25985edc | 311 | Say Y if you need to force the assumption that CPEI can be re-targeted to |
ff741906 AR |
312 | any cpu in the system. This hint is available via ACPI 3.0 specifications. |
313 | Tiger4 systems are capable of re-directing CPEI to any CPU other than BSP. | |
314 | This option it useful to enable this feature on older BIOS's as well. | |
315 | You can also enable this by using boot command line option force_cpei=1. | |
316 | ||
da9577c5 BP |
317 | config ARCH_SELECT_MEMORY_MODEL |
318 | def_bool y | |
319 | ||
320 | config ARCH_DISCONTIGMEM_ENABLE | |
321 | def_bool y | |
322 | help | |
323 | Say Y to support efficient handling of discontiguous physical memory, | |
324 | for architectures which are either NUMA (Non-Uniform Memory Access) | |
325 | or have huge holes in the physical address space for other reasons. | |
ad56b738 | 326 | See <file:Documentation/vm/numa.rst> for more. |
da9577c5 BP |
327 | |
328 | config ARCH_FLATMEM_ENABLE | |
329 | def_bool y | |
330 | ||
331 | config ARCH_SPARSEMEM_ENABLE | |
332 | def_bool y | |
333 | depends on ARCH_DISCONTIGMEM_ENABLE | |
ef229c5a | 334 | select SPARSEMEM_VMEMMAP_ENABLE |
da9577c5 BP |
335 | |
336 | config ARCH_DISCONTIGMEM_DEFAULT | |
df43acac | 337 | def_bool y if (IA64_GENERIC || IA64_HP_ZX1) |
da9577c5 BP |
338 | depends on ARCH_DISCONTIGMEM_ENABLE |
339 | ||
340 | config NUMA | |
341 | bool "NUMA support" | |
fc5bad03 | 342 | depends on !FLATMEM |
6c33eb39 | 343 | select ACPI_NUMA if ACPI |
da9577c5 BP |
344 | help |
345 | Say Y to compile the kernel to support NUMA (Non-Uniform Memory | |
346 | Access). This option is for configuring high-end multiprocessor | |
347 | server systems. If in doubt, say N. | |
348 | ||
c80d79d7 YG |
349 | config NODES_SHIFT |
350 | int "Max num nodes shift(3-10)" | |
351 | range 3 10 | |
c57d68ca | 352 | default "10" |
c80d79d7 YG |
353 | depends on NEED_MULTIPLE_NODES |
354 | help | |
355 | This option specifies the maximum number of nodes in your SSI system. | |
356 | MAX_NUMNODES will be 2^(This value). | |
357 | If in doubt, use the default. | |
358 | ||
da9577c5 BP |
359 | # VIRTUAL_MEM_MAP and FLAT_NODE_MEM_MAP are functionally equivalent. |
360 | # VIRTUAL_MEM_MAP has been retained for historical reasons. | |
361 | config VIRTUAL_MEM_MAP | |
362 | bool "Virtual mem map" | |
363 | depends on !SPARSEMEM | |
fc5bad03 | 364 | default y |
da9577c5 BP |
365 | help |
366 | Say Y to compile the kernel with support for a virtual mem map. | |
367 | This code also only takes effect if a memory hole of greater than | |
368 | 1 Gb is found during boot. You must turn this option on if you | |
369 | require the DISCONTIGMEM option for your machine. If you are | |
370 | unsure, say Y. | |
371 | ||
372 | config HOLES_IN_ZONE | |
373 | bool | |
374 | default y if VIRTUAL_MEM_MAP | |
375 | ||
376 | config HAVE_ARCH_EARLY_PFN_TO_NID | |
334f85b6 | 377 | def_bool NUMA && SPARSEMEM |
da9577c5 | 378 | |
10ad400b YG |
379 | config HAVE_ARCH_NODEDATA_EXTENSION |
380 | def_bool y | |
381 | depends on NUMA | |
382 | ||
3bccd996 LS |
383 | config USE_PERCPU_NUMA_NODE_ID |
384 | def_bool y | |
385 | depends on NUMA | |
386 | ||
fd1197f1 | 387 | config HAVE_MEMORYLESS_NODES |
25106000 | 388 | def_bool NUMA |
fd1197f1 | 389 | |
9492587c KH |
390 | config ARCH_PROC_KCORE_TEXT |
391 | def_bool y | |
392 | depends on PROC_KCORE | |
393 | ||
1da177e4 LT |
394 | config IA64_MCA_RECOVERY |
395 | tristate "MCA recovery from errors other than TLB." | |
396 | ||
397 | config PERFMON | |
398 | bool "Performance monitor support" | |
d2b2250c | 399 | depends on BROKEN |
1da177e4 LT |
400 | help |
401 | Selects whether support for the IA-64 performance monitor hardware | |
402 | is included in the kernel. This makes some kernel data-structures a | |
403 | little bigger and slows down execution a bit, but it is generally | |
404 | a good idea to turn this on. If you're unsure, say Y. | |
405 | ||
406 | config IA64_PALINFO | |
407 | tristate "/proc/pal support" | |
408 | help | |
409 | If you say Y here, you are able to get PAL (Processor Abstraction | |
410 | Layer) information in /proc/pal. This contains useful information | |
411 | about the processors in your systems, such as cache and TLB sizes | |
412 | and the PAL firmware version in use. | |
413 | ||
414 | To use this option, you have to ensure that the "/proc file system | |
415 | support" (CONFIG_PROC_FS) is enabled, too. | |
416 | ||
e9ef08bd FY |
417 | config IA64_MC_ERR_INJECT |
418 | tristate "MC error injection support" | |
419 | help | |
01dd2fbf ML |
420 | Adds support for MC error injection. If enabled, the kernel |
421 | will provide a sysfs interface for user applications to | |
422 | call MC error injection PAL procedures to inject various errors. | |
e9ef08bd FY |
423 | This is a useful tool for MCA testing. |
424 | ||
425 | If you're unsure, do not select this option. | |
426 | ||
2ab561a1 DMT |
427 | config IA64_ESI |
428 | bool "ESI (Extensible SAL Interface) support" | |
429 | help | |
430 | If you say Y here, support is built into the kernel to | |
431 | make ESI calls. ESI calls are used to support vendor-specific | |
432 | firmware extensions, such as the ability to inject memory-errors | |
433 | for test-purposes. If you're unsure, say N. | |
434 | ||
28eda5b8 BH |
435 | config IA64_HP_AML_NFW |
436 | bool "Support ACPI AML calls to native firmware" | |
437 | help | |
438 | This driver installs a global ACPI Operation Region handler for | |
439 | region 0xA1. AML methods can use this OpRegion to call arbitrary | |
440 | native firmware functions. The driver installs the OpRegion | |
441 | handler if there is an HPQ5001 device or if the user supplies | |
442 | the "force" module parameter, e.g., with the "aml_nfw.force" | |
443 | kernel command line option. | |
444 | ||
a7956113 | 445 | config KEXEC |
48a9240c | 446 | bool "kexec system call" |
fc5bad03 | 447 | depends on !SMP || HOTPLUG_CPU |
2965faa5 | 448 | select KEXEC_CORE |
a7956113 ZN |
449 | help |
450 | kexec is a system call that implements the ability to shutdown your | |
451 | current kernel, and to start another kernel. It is like a reboot | |
3dde6ad8 | 452 | but it is independent of the system firmware. And like a reboot |
a7956113 ZN |
453 | you can start any kernel with it, not just Linux. |
454 | ||
01dd2fbf | 455 | The name comes from the similarity to the exec system call. |
a7956113 ZN |
456 | |
457 | It is an ongoing process to be certain the hardware in a machine | |
458 | is properly shutdown, so do not be surprised if this code does not | |
bf220695 GU |
459 | initially work for you. As of this writing the exact hardware |
460 | interface is strongly in flux, so no good recommendation can be | |
461 | made. | |
a7956113 ZN |
462 | |
463 | config CRASH_DUMP | |
fb86611f | 464 | bool "kernel crash dumps" |
fc5bad03 | 465 | depends on IA64_MCA_RECOVERY && (!SMP || HOTPLUG_CPU) |
a7956113 ZN |
466 | help |
467 | Generate crash dump after being started by kexec. | |
468 | ||
1da177e4 LT |
469 | source "drivers/firmware/Kconfig" |
470 | ||
1da177e4 LT |
471 | endmenu |
472 | ||
1547a012 | 473 | menu "Power management and ACPI options" |
1da177e4 | 474 | |
eb7b6b32 | 475 | source "kernel/power/Kconfig" |
1da177e4 LT |
476 | |
477 | source "drivers/acpi/Kconfig" | |
478 | ||
4db8699b | 479 | if PM |
ab423e43 VK |
480 | menu "CPU Frequency scaling" |
481 | source "drivers/cpufreq/Kconfig" | |
482 | endmenu | |
4db8699b VP |
483 | endif |
484 | ||
1da177e4 LT |
485 | endmenu |
486 | ||
1a4b0fc5 JS |
487 | config MSPEC |
488 | tristate "Memory special operations driver" | |
489 | depends on IA64 | |
490 | select IA64_UNCACHED_ALLOCATOR | |
491 | help | |
492 | If you have an ia64 and you want to enable memory special | |
493 | operations support (formerly known as fetchop), say Y here, | |
494 | otherwise say N. |