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