1# 2# For a description of the syntax of this configuration file, 3# see Documentation/kbuild/kconfig-language.txt. 4# 5 6mainmenu "IA-64 Linux Kernel Configuration" 7 8source "init/Kconfig" 9 10menu "Processor type and features" 11 12config IA64 13 bool 14 select PCI if (!IA64_HP_SIM) 15 select ACPI if (!IA64_HP_SIM) 16 select PM if (!IA64_HP_SIM) 17 select ARCH_SUPPORTS_MSI 18 select HAVE_IDE 19 select HAVE_OPROFILE 20 select HAVE_KPROBES 21 select HAVE_KRETPROBES 22 select HAVE_DMA_ATTRS 23 select HAVE_KVM 24 default y 25 help 26 The Itanium Processor Family is Intel's 64-bit successor to 27 the 32-bit X86 line. The IA-64 Linux project has a home 28 page at <http://www.linuxia64.org/> and a mailing list at 29 <linux-ia64@vger.kernel.org>. 30 31config 64BIT 32 bool 33 select ATA_NONSTANDARD if ATA 34 default y 35 36config ZONE_DMA 37 def_bool y 38 depends on !IA64_SGI_SN2 39 40config QUICKLIST 41 bool 42 default y 43 44config MMU 45 bool 46 default y 47 48config SWIOTLB 49 bool 50 51config IOMMU_HELPER 52 bool 53 54config GENERIC_LOCKBREAK 55 bool 56 default y 57 depends on SMP && PREEMPT 58 59config RWSEM_XCHGADD_ALGORITHM 60 bool 61 default y 62 63config ARCH_HAS_ILOG2_U32 64 bool 65 default n 66 67config ARCH_HAS_ILOG2_U64 68 bool 69 default n 70 71config HUGETLB_PAGE_SIZE_VARIABLE 72 bool 73 depends on HUGETLB_PAGE 74 default y 75 76config GENERIC_FIND_NEXT_BIT 77 bool 78 default y 79 80config GENERIC_CALIBRATE_DELAY 81 bool 82 default y 83 84config GENERIC_TIME 85 bool 86 default y 87 88config GENERIC_TIME_VSYSCALL 89 bool 90 default y 91 92config HAVE_SETUP_PER_CPU_AREA 93 def_bool y 94 95config DMI 96 bool 97 default y 98 99config EFI 100 bool 101 default y 102 103config GENERIC_IOMAP 104 bool 105 default y 106 107config SCHED_NO_NO_OMIT_FRAME_POINTER 108 bool 109 default y 110 111config IA64_UNCACHED_ALLOCATOR 112 bool 113 select GENERIC_ALLOCATOR 114 115config AUDIT_ARCH 116 bool 117 default y 118 119choice 120 prompt "System type" 121 default IA64_GENERIC 122 123config IA64_GENERIC 124 bool "generic" 125 select NUMA 126 select ACPI_NUMA 127 select SWIOTLB 128 help 129 This selects the system type of your hardware. A "generic" kernel 130 will run on any supported IA-64 system. However, if you configure 131 a kernel for your specific system, it will be faster and smaller. 132 133 generic For any supported IA-64 system 134 DIG-compliant For DIG ("Developer's Interface Guide") compliant systems 135 HP-zx1/sx1000 For HP systems 136 HP-zx1/sx1000+swiotlb For HP systems with (broken) DMA-constrained devices. 137 SGI-SN2 For SGI Altix systems 138 SGI-UV For SGI UV systems 139 Ski-simulator For the HP simulator <http://www.hpl.hp.com/research/linux/ski/> 140 141 If you don't know what to do, choose "generic". 142 143config IA64_DIG 144 bool "DIG-compliant" 145 select SWIOTLB 146 147config IA64_HP_ZX1 148 bool "HP-zx1/sx1000" 149 help 150 Build a kernel that runs on HP zx1 and sx1000 systems. This adds 151 support for the HP I/O MMU. 152 153config IA64_HP_ZX1_SWIOTLB 154 bool "HP-zx1/sx1000 with software I/O TLB" 155 select SWIOTLB 156 help 157 Build a kernel that runs on HP zx1 and sx1000 systems even when they 158 have broken PCI devices which cannot DMA to full 32 bits. Apart 159 from support for the HP I/O MMU, this includes support for the software 160 I/O TLB, which allows supporting the broken devices at the expense of 161 wasting some kernel memory (about 2MB by default). 162 163config IA64_SGI_SN2 164 bool "SGI-SN2" 165 select NUMA 166 select ACPI_NUMA 167 help 168 Selecting this option will optimize the kernel for use on sn2 based 169 systems, but the resulting kernel binary will not run on other 170 types of ia64 systems. If you have an SGI Altix system, it's safe 171 to select this option. If in doubt, select ia64 generic support 172 instead. 173 174config IA64_SGI_UV` 175 bool "SGI-UV`" 176 select NUMA 177 select ACPI_NUMA 178 select SWIOTLB 179 help 180 Selecting this option will optimize the kernel for use on UV based 181 systems, but the resulting kernel binary will not run on other 182 types of ia64 systems. If you have an SGI UV system, it's safe 183 to select this option. If in doubt, select ia64 generic support 184 instead. 185 186config IA64_HP_SIM 187 bool "Ski-simulator" 188 select SWIOTLB 189 190endchoice 191 192choice 193 prompt "Processor type" 194 default ITANIUM 195 196config ITANIUM 197 bool "Itanium" 198 help 199 Select your IA-64 processor type. The default is Itanium. 200 This choice is safe for all IA-64 systems, but may not perform 201 optimally on systems with, say, Itanium 2 or newer processors. 202 203config MCKINLEY 204 bool "Itanium 2" 205 help 206 Select this to configure for an Itanium 2 (McKinley) processor. 207 208endchoice 209 210choice 211 prompt "Kernel page size" 212 default IA64_PAGE_SIZE_16KB 213 214config IA64_PAGE_SIZE_4KB 215 bool "4KB" 216 help 217 This lets you select the page size of the kernel. For best IA-64 218 performance, a page size of 8KB or 16KB is recommended. For best 219 IA-32 compatibility, a page size of 4KB should be selected (the vast 220 majority of IA-32 binaries work perfectly fine with a larger page 221 size). For Itanium 2 or newer systems, a page size of 64KB can also 222 be selected. 223 224 4KB For best IA-32 compatibility 225 8KB For best IA-64 performance 226 16KB For best IA-64 performance 227 64KB Requires Itanium 2 or newer processor. 228 229 If you don't know what to do, choose 16KB. 230 231config IA64_PAGE_SIZE_8KB 232 bool "8KB" 233 234config IA64_PAGE_SIZE_16KB 235 bool "16KB" 236 237config IA64_PAGE_SIZE_64KB 238 depends on !ITANIUM 239 bool "64KB" 240 241endchoice 242 243choice 244 prompt "Page Table Levels" 245 default PGTABLE_3 246 247config PGTABLE_3 248 bool "3 Levels" 249 250config PGTABLE_4 251 depends on !IA64_PAGE_SIZE_64KB 252 bool "4 Levels" 253 254endchoice 255 256if IA64_HP_SIM 257config HZ 258 default 32 259endif 260 261if !IA64_HP_SIM 262source kernel/Kconfig.hz 263endif 264 265config IA64_BRL_EMU 266 bool 267 depends on ITANIUM 268 default y 269 270# align cache-sensitive data to 128 bytes 271config IA64_L1_CACHE_SHIFT 272 int 273 default "7" if MCKINLEY 274 default "6" if ITANIUM 275 276config IA64_CYCLONE 277 bool "Cyclone (EXA) Time Source support" 278 help 279 Say Y here to enable support for IBM EXA Cyclone time source. 280 If you're unsure, answer N. 281 282config IOSAPIC 283 bool 284 depends on !IA64_HP_SIM 285 default y 286 287config FORCE_MAX_ZONEORDER 288 int "MAX_ORDER (11 - 17)" if !HUGETLB_PAGE 289 range 11 17 if !HUGETLB_PAGE 290 default "17" if HUGETLB_PAGE 291 default "11" 292 293config VIRT_CPU_ACCOUNTING 294 bool "Deterministic task and CPU time accounting" 295 default n 296 help 297 Select this option to enable more accurate task and CPU time 298 accounting. This is done by reading a CPU counter on each 299 kernel entry and exit and on transitions within the kernel 300 between system, softirq and hardirq state, so there is a 301 small performance impact. 302 If in doubt, say N here. 303 304config SMP 305 bool "Symmetric multi-processing support" 306 help 307 This enables support for systems with more than one CPU. If you have 308 a system with only one CPU, say N. If you have a system with more 309 than one CPU, say Y. 310 311 If you say N here, the kernel will run on single and multiprocessor 312 systems, but will use only one CPU of a multiprocessor system. If 313 you say Y here, the kernel will run on many, but not all, 314 single processor systems. On a single processor system, the kernel 315 will run faster if you say N here. 316 317 See also the SMP-HOWTO available at 318 <http://www.tldp.org/docs.html#howto>. 319 320 If you don't know what to do here, say N. 321 322config NR_CPUS 323 int "Maximum number of CPUs (2-1024)" 324 range 2 1024 325 depends on SMP 326 default "1024" 327 help 328 You should set this to the number of CPUs in your system, but 329 keep in mind that a kernel compiled for, e.g., 2 CPUs will boot but 330 only use 2 CPUs on a >2 CPU system. Setting this to a value larger 331 than 64 will cause the use of a CPU mask array, causing a small 332 performance hit. 333 334config HOTPLUG_CPU 335 bool "Support for hot-pluggable CPUs (EXPERIMENTAL)" 336 depends on SMP && EXPERIMENTAL 337 select HOTPLUG 338 default n 339 ---help--- 340 Say Y here to experiment with turning CPUs off and on. CPUs 341 can be controlled through /sys/devices/system/cpu/cpu#. 342 Say N if you want to disable CPU hotplug. 343 344config ARCH_ENABLE_MEMORY_HOTPLUG 345 def_bool y 346 347config ARCH_ENABLE_MEMORY_HOTREMOVE 348 def_bool y 349 350config SCHED_SMT 351 bool "SMT scheduler support" 352 depends on SMP 353 help 354 Improves the CPU scheduler's decision making when dealing with 355 Intel IA64 chips with MultiThreading at a cost of slightly increased 356 overhead in some places. If unsure say N here. 357 358config PERMIT_BSP_REMOVE 359 bool "Support removal of Bootstrap Processor" 360 depends on HOTPLUG_CPU 361 default n 362 ---help--- 363 Say Y here if your platform SAL will support removal of BSP with HOTPLUG_CPU 364 support. 365 366config FORCE_CPEI_RETARGET 367 bool "Force assumption that CPEI can be re-targetted" 368 depends on PERMIT_BSP_REMOVE 369 default n 370 ---help--- 371 Say Y if you need to force the assumption that CPEI can be re-targetted to 372 any cpu in the system. This hint is available via ACPI 3.0 specifications. 373 Tiger4 systems are capable of re-directing CPEI to any CPU other than BSP. 374 This option it useful to enable this feature on older BIOS's as well. 375 You can also enable this by using boot command line option force_cpei=1. 376 377source "kernel/Kconfig.preempt" 378 379source "mm/Kconfig" 380 381config ARCH_SELECT_MEMORY_MODEL 382 def_bool y 383 384config ARCH_DISCONTIGMEM_ENABLE 385 def_bool y 386 help 387 Say Y to support efficient handling of discontiguous physical memory, 388 for architectures which are either NUMA (Non-Uniform Memory Access) 389 or have huge holes in the physical address space for other reasons. 390 See <file:Documentation/vm/numa> for more. 391 392config ARCH_FLATMEM_ENABLE 393 def_bool y 394 395config ARCH_SPARSEMEM_ENABLE 396 def_bool y 397 depends on ARCH_DISCONTIGMEM_ENABLE 398 select SPARSEMEM_VMEMMAP_ENABLE 399 400config ARCH_DISCONTIGMEM_DEFAULT 401 def_bool y if (IA64_SGI_SN2 || IA64_GENERIC || IA64_HP_ZX1 || IA64_HP_ZX1_SWIOTLB) 402 depends on ARCH_DISCONTIGMEM_ENABLE 403 404config NUMA 405 bool "NUMA support" 406 depends on !IA64_HP_SIM && !FLATMEM 407 default y if IA64_SGI_SN2 408 select ACPI_NUMA if ACPI 409 help 410 Say Y to compile the kernel to support NUMA (Non-Uniform Memory 411 Access). This option is for configuring high-end multiprocessor 412 server systems. If in doubt, say N. 413 414config NODES_SHIFT 415 int "Max num nodes shift(3-10)" 416 range 3 10 417 default "10" 418 depends on NEED_MULTIPLE_NODES 419 help 420 This option specifies the maximum number of nodes in your SSI system. 421 MAX_NUMNODES will be 2^(This value). 422 If in doubt, use the default. 423 424config ARCH_POPULATES_NODE_MAP 425 def_bool y 426 427# VIRTUAL_MEM_MAP and FLAT_NODE_MEM_MAP are functionally equivalent. 428# VIRTUAL_MEM_MAP has been retained for historical reasons. 429config VIRTUAL_MEM_MAP 430 bool "Virtual mem map" 431 depends on !SPARSEMEM 432 default y if !IA64_HP_SIM 433 help 434 Say Y to compile the kernel with support for a virtual mem map. 435 This code also only takes effect if a memory hole of greater than 436 1 Gb is found during boot. You must turn this option on if you 437 require the DISCONTIGMEM option for your machine. If you are 438 unsure, say Y. 439 440config HOLES_IN_ZONE 441 bool 442 default y if VIRTUAL_MEM_MAP 443 444config HAVE_ARCH_EARLY_PFN_TO_NID 445 def_bool y 446 depends on NEED_MULTIPLE_NODES 447 448config HAVE_ARCH_NODEDATA_EXTENSION 449 def_bool y 450 depends on NUMA 451 452config IA32_SUPPORT 453 bool "Support for Linux/x86 binaries" 454 help 455 IA-64 processors can execute IA-32 (X86) instructions. By 456 saying Y here, the kernel will include IA-32 system call 457 emulation support which makes it possible to transparently 458 run IA-32 Linux binaries on an IA-64 Linux system. 459 If in doubt, say Y. 460 461config COMPAT 462 bool 463 depends on IA32_SUPPORT 464 default y 465 466config COMPAT_FOR_U64_ALIGNMENT 467 def_bool COMPAT 468 469config IA64_MCA_RECOVERY 470 tristate "MCA recovery from errors other than TLB." 471 472config PERFMON 473 bool "Performance monitor support" 474 help 475 Selects whether support for the IA-64 performance monitor hardware 476 is included in the kernel. This makes some kernel data-structures a 477 little bigger and slows down execution a bit, but it is generally 478 a good idea to turn this on. If you're unsure, say Y. 479 480config IA64_PALINFO 481 tristate "/proc/pal support" 482 help 483 If you say Y here, you are able to get PAL (Processor Abstraction 484 Layer) information in /proc/pal. This contains useful information 485 about the processors in your systems, such as cache and TLB sizes 486 and the PAL firmware version in use. 487 488 To use this option, you have to ensure that the "/proc file system 489 support" (CONFIG_PROC_FS) is enabled, too. 490 491config IA64_MC_ERR_INJECT 492 tristate "MC error injection support" 493 help 494 Adds support for MC error injection. If enabled, the kernel 495 will provide a sysfs interface for user applications to 496 call MC error injection PAL procedures to inject various errors. 497 This is a useful tool for MCA testing. 498 499 If you're unsure, do not select this option. 500 501config SGI_SN 502 def_bool y if (IA64_SGI_SN2 || IA64_GENERIC) 503 504config IA64_ESI 505 bool "ESI (Extensible SAL Interface) support" 506 help 507 If you say Y here, support is built into the kernel to 508 make ESI calls. ESI calls are used to support vendor-specific 509 firmware extensions, such as the ability to inject memory-errors 510 for test-purposes. If you're unsure, say N. 511 512config IA64_HP_AML_NFW 513 bool "Support ACPI AML calls to native firmware" 514 help 515 This driver installs a global ACPI Operation Region handler for 516 region 0xA1. AML methods can use this OpRegion to call arbitrary 517 native firmware functions. The driver installs the OpRegion 518 handler if there is an HPQ5001 device or if the user supplies 519 the "force" module parameter, e.g., with the "aml_nfw.force" 520 kernel command line option. 521 522source "drivers/sn/Kconfig" 523 524config KEXEC 525 bool "kexec system call (EXPERIMENTAL)" 526 depends on EXPERIMENTAL && !IA64_HP_SIM && (!SMP || HOTPLUG_CPU) 527 help 528 kexec is a system call that implements the ability to shutdown your 529 current kernel, and to start another kernel. It is like a reboot 530 but it is independent of the system firmware. And like a reboot 531 you can start any kernel with it, not just Linux. 532 533 The name comes from the similarity to the exec system call. 534 535 It is an ongoing process to be certain the hardware in a machine 536 is properly shutdown, so do not be surprised if this code does not 537 initially work for you. It may help to enable device hotplugging 538 support. As of this writing the exact hardware interface is 539 strongly in flux, so no good recommendation can be made. 540 541config CRASH_DUMP 542 bool "kernel crash dumps (EXPERIMENTAL)" 543 depends on EXPERIMENTAL && IA64_MCA_RECOVERY && !IA64_HP_SIM && (!SMP || HOTPLUG_CPU) 544 help 545 Generate crash dump after being started by kexec. 546 547source "drivers/firmware/Kconfig" 548 549source "fs/Kconfig.binfmt" 550 551endmenu 552 553menu "Power management and ACPI" 554 555source "kernel/power/Kconfig" 556 557source "drivers/acpi/Kconfig" 558 559if PM 560 561source "arch/ia64/kernel/cpufreq/Kconfig" 562 563endif 564 565endmenu 566 567if !IA64_HP_SIM 568 569menu "Bus options (PCI, PCMCIA)" 570 571config PCI 572 bool "PCI support" 573 help 574 Real IA-64 machines all have PCI/PCI-X/PCI Express busses. Say Y 575 here unless you are using a simulator without PCI support. 576 577config PCI_DOMAINS 578 def_bool PCI 579 580config PCI_SYSCALL 581 def_bool PCI 582 583source "drivers/pci/pcie/Kconfig" 584 585source "drivers/pci/Kconfig" 586 587source "drivers/pci/hotplug/Kconfig" 588 589source "drivers/pcmcia/Kconfig" 590 591endmenu 592 593endif 594 595source "net/Kconfig" 596 597source "drivers/Kconfig" 598 599config MSPEC 600 tristate "Memory special operations driver" 601 depends on IA64 602 select IA64_UNCACHED_ALLOCATOR 603 help 604 If you have an ia64 and you want to enable memory special 605 operations support (formerly known as fetchop), say Y here, 606 otherwise say N. 607 608source "fs/Kconfig" 609 610source "arch/ia64/kvm/Kconfig" 611 612source "lib/Kconfig" 613 614# 615# Use the generic interrupt handling code in kernel/irq/: 616# 617config GENERIC_HARDIRQS 618 bool 619 default y 620 621config GENERIC_IRQ_PROBE 622 bool 623 default y 624 625config GENERIC_PENDING_IRQ 626 bool 627 depends on GENERIC_HARDIRQS && SMP 628 default y 629 630config IRQ_PER_CPU 631 bool 632 default y 633 634config IOMMU_HELPER 635 def_bool (IA64_HP_ZX1 || IA64_HP_ZX1_SWIOTLB || IA64_GENERIC || SWIOTLB) 636 637source "arch/ia64/hp/sim/Kconfig" 638 639source "arch/ia64/Kconfig.debug" 640 641source "security/Kconfig" 642 643source "crypto/Kconfig" 644