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