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