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