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