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