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