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