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