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