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 default y 26 help 27 The Itanium Processor Family is Intel's 64-bit successor to 28 the 32-bit X86 line. The IA-64 Linux project has a home 29 page at <http://www.linuxia64.org/> and a mailing list at 30 <linux-ia64@vger.kernel.org>. 31 32config 64BIT 33 bool 34 select ATA_NONSTANDARD if ATA 35 default y 36 37config ZONE_DMA 38 def_bool y 39 depends on !IA64_SGI_SN2 40 41config QUICKLIST 42 bool 43 default y 44 45config MMU 46 bool 47 default y 48 49config NEED_DMA_MAP_STATE 50 def_bool y 51 52config NEED_SG_DMA_LENGTH 53 def_bool y 54 55config SWIOTLB 56 bool 57 58config GENERIC_LOCKBREAK 59 def_bool n 60 61config RWSEM_XCHGADD_ALGORITHM 62 bool 63 default y 64 65config HUGETLB_PAGE_SIZE_VARIABLE 66 bool 67 depends on HUGETLB_PAGE 68 default y 69 70config GENERIC_FIND_NEXT_BIT 71 bool 72 default y 73 74config GENERIC_CALIBRATE_DELAY 75 bool 76 default y 77 78config GENERIC_TIME 79 bool 80 default y 81 82config GENERIC_TIME_VSYSCALL 83 bool 84 default y 85 86config HAVE_SETUP_PER_CPU_AREA 87 def_bool y 88 89config DMI 90 bool 91 default y 92 93config EFI 94 bool 95 default y 96 97config GENERIC_IOMAP 98 bool 99 default y 100 101config SCHED_OMIT_FRAME_POINTER 102 bool 103 default y 104 105config IA64_UNCACHED_ALLOCATOR 106 bool 107 select GENERIC_ALLOCATOR 108 109config ARCH_USES_PG_UNCACHED 110 def_bool y 111 depends on IA64_UNCACHED_ALLOCATOR 112 113config AUDIT_ARCH 114 bool 115 default y 116 117menuconfig PARAVIRT_GUEST 118 bool "Paravirtualized guest support" 119 help 120 Say Y here to get to see options related to running Linux under 121 various hypervisors. This option alone does not add any kernel code. 122 123 If you say N, all options in this submenu will be skipped and disabled. 124 125if PARAVIRT_GUEST 126 127config PARAVIRT 128 bool "Enable paravirtualization code" 129 depends on PARAVIRT_GUEST 130 default y 131 bool 132 default y 133 help 134 This changes the kernel so it can modify itself when it is run 135 under a hypervisor, potentially improving performance significantly 136 over full virtualization. However, when run without a hypervisor 137 the kernel is theoretically slower and slightly larger. 138 139 140source "arch/ia64/xen/Kconfig" 141 142endif 143 144choice 145 prompt "System type" 146 default IA64_GENERIC 147 148config IA64_GENERIC 149 bool "generic" 150 select NUMA 151 select ACPI_NUMA 152 select SWIOTLB 153 select PCI_MSI 154 select DMAR 155 help 156 This selects the system type of your hardware. A "generic" kernel 157 will run on any supported IA-64 system. However, if you configure 158 a kernel for your specific system, it will be faster and smaller. 159 160 generic For any supported IA-64 system 161 DIG-compliant For DIG ("Developer's Interface Guide") compliant systems 162 DIG+Intel+IOMMU For DIG systems with Intel IOMMU 163 HP-zx1/sx1000 For HP systems 164 HP-zx1/sx1000+swiotlb For HP systems with (broken) DMA-constrained devices. 165 SGI-SN2 For SGI Altix systems 166 SGI-UV For SGI UV systems 167 Ski-simulator For the HP simulator <http://www.hpl.hp.com/research/linux/ski/> 168 Xen-domU For xen domU system 169 170 If you don't know what to do, choose "generic". 171 172config IA64_DIG 173 bool "DIG-compliant" 174 select SWIOTLB 175 176config IA64_DIG_VTD 177 bool "DIG+Intel+IOMMU" 178 select DMAR 179 select PCI_MSI 180 181config IA64_HP_ZX1 182 bool "HP-zx1/sx1000" 183 help 184 Build a kernel that runs on HP zx1 and sx1000 systems. This adds 185 support for the HP I/O MMU. 186 187config IA64_HP_ZX1_SWIOTLB 188 bool "HP-zx1/sx1000 with software I/O TLB" 189 select SWIOTLB 190 help 191 Build a kernel that runs on HP zx1 and sx1000 systems even when they 192 have broken PCI devices which cannot DMA to full 32 bits. Apart 193 from support for the HP I/O MMU, this includes support for the software 194 I/O TLB, which allows supporting the broken devices at the expense of 195 wasting some kernel memory (about 2MB by default). 196 197config IA64_SGI_SN2 198 bool "SGI-SN2" 199 select NUMA 200 select ACPI_NUMA 201 help 202 Selecting this option will optimize the kernel for use on sn2 based 203 systems, but the resulting kernel binary will not run on other 204 types of ia64 systems. If you have an SGI Altix system, it's safe 205 to select this option. If in doubt, select ia64 generic support 206 instead. 207 208config IA64_SGI_UV 209 bool "SGI-UV" 210 select NUMA 211 select ACPI_NUMA 212 select SWIOTLB 213 help 214 Selecting this option will optimize the kernel for use on UV based 215 systems, but the resulting kernel binary will not run on other 216 types of ia64 systems. If you have an SGI UV system, it's safe 217 to select this option. If in doubt, select ia64 generic support 218 instead. 219 220config IA64_HP_SIM 221 bool "Ski-simulator" 222 select SWIOTLB 223 224config IA64_XEN_GUEST 225 bool "Xen guest" 226 select SWIOTLB 227 depends on XEN 228 help 229 Build a kernel that runs on Xen guest domain. At this moment only 230 16KB page size in supported. 231 232endchoice 233 234choice 235 prompt "Processor type" 236 default ITANIUM 237 238config ITANIUM 239 bool "Itanium" 240 help 241 Select your IA-64 processor type. The default is Itanium. 242 This choice is safe for all IA-64 systems, but may not perform 243 optimally on systems with, say, Itanium 2 or newer processors. 244 245config MCKINLEY 246 bool "Itanium 2" 247 help 248 Select this to configure for an Itanium 2 (McKinley) processor. 249 250endchoice 251 252choice 253 prompt "Kernel page size" 254 default IA64_PAGE_SIZE_16KB 255 256config IA64_PAGE_SIZE_4KB 257 bool "4KB" 258 help 259 This lets you select the page size of the kernel. For best IA-64 260 performance, a page size of 8KB or 16KB is recommended. For best 261 IA-32 compatibility, a page size of 4KB should be selected (the vast 262 majority of IA-32 binaries work perfectly fine with a larger page 263 size). For Itanium 2 or newer systems, a page size of 64KB can also 264 be selected. 265 266 4KB For best IA-32 compatibility 267 8KB For best IA-64 performance 268 16KB For best IA-64 performance 269 64KB Requires Itanium 2 or newer processor. 270 271 If you don't know what to do, choose 16KB. 272 273config IA64_PAGE_SIZE_8KB 274 bool "8KB" 275 276config IA64_PAGE_SIZE_16KB 277 bool "16KB" 278 279config IA64_PAGE_SIZE_64KB 280 depends on !ITANIUM 281 bool "64KB" 282 283endchoice 284 285choice 286 prompt "Page Table Levels" 287 default PGTABLE_3 288 289config PGTABLE_3 290 bool "3 Levels" 291 292config PGTABLE_4 293 depends on !IA64_PAGE_SIZE_64KB 294 bool "4 Levels" 295 296endchoice 297 298if IA64_HP_SIM 299config HZ 300 default 32 301endif 302 303if !IA64_HP_SIM 304source kernel/Kconfig.hz 305endif 306 307config IA64_BRL_EMU 308 bool 309 depends on ITANIUM 310 default y 311 312# align cache-sensitive data to 128 bytes 313config IA64_L1_CACHE_SHIFT 314 int 315 default "7" if MCKINLEY 316 default "6" if ITANIUM 317 318config IA64_CYCLONE 319 bool "Cyclone (EXA) Time Source support" 320 help 321 Say Y here to enable support for IBM EXA Cyclone time source. 322 If you're unsure, answer N. 323 324config IOSAPIC 325 bool 326 depends on !IA64_HP_SIM 327 default y 328 329config FORCE_MAX_ZONEORDER 330 int "MAX_ORDER (11 - 17)" if !HUGETLB_PAGE 331 range 11 17 if !HUGETLB_PAGE 332 default "17" if HUGETLB_PAGE 333 default "11" 334 335config VIRT_CPU_ACCOUNTING 336 bool "Deterministic task and CPU time accounting" 337 default n 338 help 339 Select this option to enable more accurate task and CPU time 340 accounting. This is done by reading a CPU counter on each 341 kernel entry and exit and on transitions within the kernel 342 between system, softirq and hardirq state, so there is a 343 small performance impact. 344 If in doubt, say N here. 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-targetted" 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-targetted 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 467config ARCH_POPULATES_NODE_MAP 468 def_bool y 469 470# VIRTUAL_MEM_MAP and FLAT_NODE_MEM_MAP are functionally equivalent. 471# VIRTUAL_MEM_MAP has been retained for historical reasons. 472config VIRTUAL_MEM_MAP 473 bool "Virtual mem map" 474 depends on !SPARSEMEM 475 default y if !IA64_HP_SIM 476 help 477 Say Y to compile the kernel with support for a virtual mem map. 478 This code also only takes effect if a memory hole of greater than 479 1 Gb is found during boot. You must turn this option on if you 480 require the DISCONTIGMEM option for your machine. If you are 481 unsure, say Y. 482 483config HOLES_IN_ZONE 484 bool 485 default y if VIRTUAL_MEM_MAP 486 487config HAVE_ARCH_EARLY_PFN_TO_NID 488 def_bool NUMA && SPARSEMEM 489 490config HAVE_ARCH_NODEDATA_EXTENSION 491 def_bool y 492 depends on NUMA 493 494config USE_PERCPU_NUMA_NODE_ID 495 def_bool y 496 depends on NUMA 497 498config HAVE_MEMORYLESS_NODES 499 def_bool y 500 depends on NUMA 501 502config ARCH_PROC_KCORE_TEXT 503 def_bool y 504 depends on PROC_KCORE 505 506config IA64_MCA_RECOVERY 507 tristate "MCA recovery from errors other than TLB." 508 509config PERFMON 510 bool "Performance monitor support" 511 help 512 Selects whether support for the IA-64 performance monitor hardware 513 is included in the kernel. This makes some kernel data-structures a 514 little bigger and slows down execution a bit, but it is generally 515 a good idea to turn this on. If you're unsure, say Y. 516 517config IA64_PALINFO 518 tristate "/proc/pal support" 519 help 520 If you say Y here, you are able to get PAL (Processor Abstraction 521 Layer) information in /proc/pal. This contains useful information 522 about the processors in your systems, such as cache and TLB sizes 523 and the PAL firmware version in use. 524 525 To use this option, you have to ensure that the "/proc file system 526 support" (CONFIG_PROC_FS) is enabled, too. 527 528config IA64_MC_ERR_INJECT 529 tristate "MC error injection support" 530 help 531 Adds support for MC error injection. If enabled, the kernel 532 will provide a sysfs interface for user applications to 533 call MC error injection PAL procedures to inject various errors. 534 This is a useful tool for MCA testing. 535 536 If you're unsure, do not select this option. 537 538config SGI_SN 539 def_bool y if (IA64_SGI_SN2 || IA64_GENERIC) 540 541config IA64_ESI 542 bool "ESI (Extensible SAL Interface) support" 543 help 544 If you say Y here, support is built into the kernel to 545 make ESI calls. ESI calls are used to support vendor-specific 546 firmware extensions, such as the ability to inject memory-errors 547 for test-purposes. If you're unsure, say N. 548 549config IA64_HP_AML_NFW 550 bool "Support ACPI AML calls to native firmware" 551 help 552 This driver installs a global ACPI Operation Region handler for 553 region 0xA1. AML methods can use this OpRegion to call arbitrary 554 native firmware functions. The driver installs the OpRegion 555 handler if there is an HPQ5001 device or if the user supplies 556 the "force" module parameter, e.g., with the "aml_nfw.force" 557 kernel command line option. 558 559source "drivers/sn/Kconfig" 560 561config KEXEC 562 bool "kexec system call (EXPERIMENTAL)" 563 depends on EXPERIMENTAL && !IA64_HP_SIM && (!SMP || HOTPLUG_CPU) 564 help 565 kexec is a system call that implements the ability to shutdown your 566 current kernel, and to start another kernel. It is like a reboot 567 but it is independent of the system firmware. And like a reboot 568 you can start any kernel with it, not just Linux. 569 570 The name comes from the similarity to the exec system call. 571 572 It is an ongoing process to be certain the hardware in a machine 573 is properly shutdown, so do not be surprised if this code does not 574 initially work for you. It may help to enable device hotplugging 575 support. As of this writing the exact hardware interface is 576 strongly in flux, so no good recommendation can be made. 577 578config CRASH_DUMP 579 bool "kernel crash dumps" 580 depends on IA64_MCA_RECOVERY && !IA64_HP_SIM && (!SMP || HOTPLUG_CPU) 581 help 582 Generate crash dump after being started by kexec. 583 584source "drivers/firmware/Kconfig" 585 586source "fs/Kconfig.binfmt" 587 588endmenu 589 590menu "Power management and ACPI options" 591 592source "kernel/power/Kconfig" 593 594source "drivers/acpi/Kconfig" 595 596if PM 597 598source "arch/ia64/kernel/cpufreq/Kconfig" 599 600endif 601 602endmenu 603 604if !IA64_HP_SIM 605 606menu "Bus options (PCI, PCMCIA)" 607 608config PCI 609 bool "PCI support" 610 help 611 Real IA-64 machines all have PCI/PCI-X/PCI Express busses. Say Y 612 here unless you are using a simulator without PCI support. 613 614config PCI_DOMAINS 615 def_bool PCI 616 617config PCI_SYSCALL 618 def_bool PCI 619 620source "drivers/pci/pcie/Kconfig" 621 622source "drivers/pci/Kconfig" 623 624source "drivers/pci/hotplug/Kconfig" 625 626source "drivers/pcmcia/Kconfig" 627 628config DMAR 629 bool "Support for DMA Remapping Devices (EXPERIMENTAL)" 630 depends on IA64_GENERIC && ACPI && EXPERIMENTAL 631 help 632 DMA remapping (DMAR) devices support enables independent address 633 translations for Direct Memory Access (DMA) from devices. 634 These DMA remapping devices are reported via ACPI tables 635 and include PCI device scope covered by these DMA 636 remapping devices. 637 638config DMAR_DEFAULT_ON 639 def_bool y 640 prompt "Enable DMA Remapping Devices by default" 641 depends on DMAR 642 help 643 Selecting this option will enable a DMAR device at boot time if 644 one is found. If this option is not selected, DMAR support can 645 be enabled by passing intel_iommu=on to the kernel. It is 646 recommended you say N here while the DMAR code remains 647 experimental. 648 649endmenu 650 651endif 652 653source "net/Kconfig" 654 655source "drivers/Kconfig" 656 657source "arch/ia64/hp/sim/Kconfig" 658 659config MSPEC 660 tristate "Memory special operations driver" 661 depends on IA64 662 select IA64_UNCACHED_ALLOCATOR 663 help 664 If you have an ia64 and you want to enable memory special 665 operations support (formerly known as fetchop), say Y here, 666 otherwise say N. 667 668source "fs/Kconfig" 669 670source "arch/ia64/Kconfig.debug" 671 672source "security/Kconfig" 673 674source "crypto/Kconfig" 675 676source "arch/ia64/kvm/Kconfig" 677 678source "lib/Kconfig" 679 680# 681# Use the generic interrupt handling code in kernel/irq/: 682# 683config GENERIC_HARDIRQS 684 bool 685 default y 686 687config GENERIC_IRQ_PROBE 688 bool 689 default y 690 691config GENERIC_PENDING_IRQ 692 bool 693 depends on GENERIC_HARDIRQS && SMP 694 default y 695 696config IRQ_PER_CPU 697 bool 698 default y 699 700config IOMMU_HELPER 701 def_bool (IA64_HP_ZX1 || IA64_HP_ZX1_SWIOTLB || IA64_GENERIC || SWIOTLB) 702 703config IOMMU_API 704 def_bool (DMAR) 705