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