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