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