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