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