1# x86 configuration 2mainmenu "Linux Kernel Configuration for x86" 3 4# Select 32 or 64 bit 5config 64BIT 6 bool "64-bit kernel" if ARCH = "x86" 7 default ARCH = "x86_64" 8 help 9 Say yes to build a 64-bit kernel - formerly known as x86_64 10 Say no to build a 32-bit kernel - formerly known as i386 11 12config X86_32 13 def_bool !64BIT 14 15config X86_64 16 def_bool 64BIT 17 18### Arch settings 19config X86 20 def_bool y 21 select HAVE_AOUT if X86_32 22 select HAVE_READQ 23 select HAVE_WRITEQ 24 select HAVE_UNSTABLE_SCHED_CLOCK 25 select HAVE_IDE 26 select HAVE_OPROFILE 27 select HAVE_IOREMAP_PROT 28 select HAVE_KPROBES 29 select ARCH_WANT_OPTIONAL_GPIOLIB 30 select ARCH_WANT_FRAME_POINTERS 31 select HAVE_KRETPROBES 32 select HAVE_FTRACE_MCOUNT_RECORD 33 select HAVE_DYNAMIC_FTRACE 34 select HAVE_FUNCTION_TRACER 35 select HAVE_FUNCTION_GRAPH_TRACER 36 select HAVE_FUNCTION_TRACE_MCOUNT_TEST 37 select HAVE_KVM if ((X86_32 && !X86_VOYAGER && !X86_VISWS && !X86_NUMAQ) || X86_64) 38 select HAVE_ARCH_KGDB if !X86_VOYAGER 39 select HAVE_ARCH_TRACEHOOK 40 select HAVE_GENERIC_DMA_COHERENT if X86_32 41 select HAVE_EFFICIENT_UNALIGNED_ACCESS 42 select USER_STACKTRACE_SUPPORT 43 44config ARCH_DEFCONFIG 45 string 46 default "arch/x86/configs/i386_defconfig" if X86_32 47 default "arch/x86/configs/x86_64_defconfig" if X86_64 48 49config GENERIC_TIME 50 def_bool y 51 52config GENERIC_CMOS_UPDATE 53 def_bool y 54 55config CLOCKSOURCE_WATCHDOG 56 def_bool y 57 58config GENERIC_CLOCKEVENTS 59 def_bool y 60 61config GENERIC_CLOCKEVENTS_BROADCAST 62 def_bool y 63 depends on X86_64 || (X86_32 && X86_LOCAL_APIC) 64 65config LOCKDEP_SUPPORT 66 def_bool y 67 68config STACKTRACE_SUPPORT 69 def_bool y 70 71config HAVE_LATENCYTOP_SUPPORT 72 def_bool y 73 74config FAST_CMPXCHG_LOCAL 75 bool 76 default y 77 78config MMU 79 def_bool y 80 81config ZONE_DMA 82 def_bool y 83 84config SBUS 85 bool 86 87config GENERIC_ISA_DMA 88 def_bool y 89 90config GENERIC_IOMAP 91 def_bool y 92 93config GENERIC_BUG 94 def_bool y 95 depends on BUG 96 select GENERIC_BUG_RELATIVE_POINTERS if X86_64 97 98config GENERIC_BUG_RELATIVE_POINTERS 99 bool 100 101config GENERIC_HWEIGHT 102 def_bool y 103 104config GENERIC_GPIO 105 bool 106 107config ARCH_MAY_HAVE_PC_FDC 108 def_bool y 109 110config RWSEM_GENERIC_SPINLOCK 111 def_bool !X86_XADD 112 113config RWSEM_XCHGADD_ALGORITHM 114 def_bool X86_XADD 115 116config ARCH_HAS_CPU_IDLE_WAIT 117 def_bool y 118 119config GENERIC_CALIBRATE_DELAY 120 def_bool y 121 122config GENERIC_TIME_VSYSCALL 123 bool 124 default X86_64 125 126config ARCH_HAS_CPU_RELAX 127 def_bool y 128 129config ARCH_HAS_DEFAULT_IDLE 130 def_bool y 131 132config ARCH_HAS_CACHE_LINE_SIZE 133 def_bool y 134 135config HAVE_SETUP_PER_CPU_AREA 136 def_bool X86_64_SMP || (X86_SMP && !X86_VOYAGER) 137 138config HAVE_CPUMASK_OF_CPU_MAP 139 def_bool X86_64_SMP 140 141config ARCH_HIBERNATION_POSSIBLE 142 def_bool y 143 depends on !SMP || !X86_VOYAGER 144 145config ARCH_SUSPEND_POSSIBLE 146 def_bool y 147 depends on !X86_VOYAGER 148 149config ZONE_DMA32 150 bool 151 default X86_64 152 153config ARCH_POPULATES_NODE_MAP 154 def_bool y 155 156config AUDIT_ARCH 157 bool 158 default X86_64 159 160config ARCH_SUPPORTS_OPTIMIZED_INLINING 161 def_bool y 162 163# Use the generic interrupt handling code in kernel/irq/: 164config GENERIC_HARDIRQS 165 bool 166 default y 167 168config GENERIC_IRQ_PROBE 169 bool 170 default y 171 172config GENERIC_PENDING_IRQ 173 bool 174 depends on GENERIC_HARDIRQS && SMP 175 default y 176 177config X86_SMP 178 bool 179 depends on SMP && ((X86_32 && !X86_VOYAGER) || X86_64) 180 default y 181 182config USE_GENERIC_SMP_HELPERS 183 def_bool y 184 depends on SMP 185 186config X86_32_SMP 187 def_bool y 188 depends on X86_32 && SMP 189 190config X86_64_SMP 191 def_bool y 192 depends on X86_64 && SMP 193 194config X86_HT 195 bool 196 depends on SMP 197 depends on (X86_32 && !X86_VOYAGER) || X86_64 198 default y 199 200config X86_BIOS_REBOOT 201 bool 202 depends on !X86_VOYAGER 203 default y 204 205config X86_TRAMPOLINE 206 bool 207 depends on X86_SMP || (X86_VOYAGER && SMP) || (64BIT && ACPI_SLEEP) 208 default y 209 210config KTIME_SCALAR 211 def_bool X86_32 212source "init/Kconfig" 213source "kernel/Kconfig.freezer" 214 215menu "Processor type and features" 216 217source "kernel/time/Kconfig" 218 219config SMP 220 bool "Symmetric multi-processing support" 221 ---help--- 222 This enables support for systems with more than one CPU. If you have 223 a system with only one CPU, like most personal computers, say N. If 224 you have a system with more than one CPU, say Y. 225 226 If you say N here, the kernel will run on single and multiprocessor 227 machines, but will use only one CPU of a multiprocessor machine. If 228 you say Y here, the kernel will run on many, but not all, 229 singleprocessor machines. On a singleprocessor machine, the kernel 230 will run faster if you say N here. 231 232 Note that if you say Y here and choose architecture "586" or 233 "Pentium" under "Processor family", the kernel will not work on 486 234 architectures. Similarly, multiprocessor kernels for the "PPro" 235 architecture may not work on all Pentium based boards. 236 237 People using multiprocessor machines who say Y here should also say 238 Y to "Enhanced Real Time Clock Support", below. The "Advanced Power 239 Management" code will be disabled if you say Y here. 240 241 See also <file:Documentation/i386/IO-APIC.txt>, 242 <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at 243 <http://www.tldp.org/docs.html#howto>. 244 245 If you don't know what to do here, say N. 246 247config X86_HAS_BOOT_CPU_ID 248 def_bool y 249 depends on X86_VOYAGER 250 251config SPARSE_IRQ 252 bool "Support sparse irq numbering" 253 depends on PCI_MSI || HT_IRQ 254 help 255 This enables support for sparse irqs. This is useful for distro 256 kernels that want to define a high CONFIG_NR_CPUS value but still 257 want to have low kernel memory footprint on smaller machines. 258 259 ( Sparse IRQs can also be beneficial on NUMA boxes, as they spread 260 out the irq_desc[] array in a more NUMA-friendly way. ) 261 262 If you don't know what to do here, say N. 263 264config NUMA_MIGRATE_IRQ_DESC 265 bool "Move irq desc when changing irq smp_affinity" 266 depends on SPARSE_IRQ && NUMA 267 default n 268 help 269 This enables moving irq_desc to cpu/node that irq will use handled. 270 271 If you don't know what to do here, say N. 272 273config X86_FIND_SMP_CONFIG 274 def_bool y 275 depends on X86_MPPARSE || X86_VOYAGER 276 277config X86_MPPARSE 278 bool "Enable MPS table" if ACPI 279 default y 280 depends on X86_LOCAL_APIC 281 help 282 For old smp systems that do not have proper acpi support. Newer systems 283 (esp with 64bit cpus) with acpi support, MADT and DSDT will override it 284 285config ARCH_GOLDFISH 286 def_bool y 287 depends on X86_GOLDFISH 288 289choice 290 prompt "Subarchitecture Type" 291 default X86_PC 292 293config X86_PC 294 bool "PC-compatible" 295 help 296 Choose this option if your computer is a standard PC or compatible. 297 298config X86_GOLDFISH 299 bool "Goldfish (Virtual Platform)" 300 depends on X86_32 301 help 302 This option would make Goldfish virtual platform available. 303 304config X86_ELAN 305 bool "AMD Elan" 306 depends on X86_32 307 help 308 Select this for an AMD Elan processor. 309 310 Do not use this option for K6/Athlon/Opteron processors! 311 312 If unsure, choose "PC-compatible" instead. 313 314config X86_VOYAGER 315 bool "Voyager (NCR)" 316 depends on X86_32 && (SMP || BROKEN) && !PCI 317 help 318 Voyager is an MCA-based 32-way capable SMP architecture proprietary 319 to NCR Corp. Machine classes 345x/35xx/4100/51xx are Voyager-based. 320 321 *** WARNING *** 322 323 If you do not specifically know you have a Voyager based machine, 324 say N here, otherwise the kernel you build will not be bootable. 325 326config X86_GENERICARCH 327 bool "Generic architecture" 328 depends on X86_32 329 help 330 This option compiles in the NUMAQ, Summit, bigsmp, ES7000, default 331 subarchitectures. It is intended for a generic binary kernel. 332 if you select them all, kernel will probe it one by one. and will 333 fallback to default. 334 335if X86_GENERICARCH 336 337config X86_NUMAQ 338 bool "NUMAQ (IBM/Sequent)" 339 depends on SMP && X86_32 && PCI && X86_MPPARSE 340 select NUMA 341 help 342 This option is used for getting Linux to run on a NUMAQ (IBM/Sequent) 343 NUMA multiquad box. This changes the way that processors are 344 bootstrapped, and uses Clustered Logical APIC addressing mode instead 345 of Flat Logical. You will need a new lynxer.elf file to flash your 346 firmware with - send email to <Martin.Bligh@us.ibm.com>. 347 348config X86_SUMMIT 349 bool "Summit/EXA (IBM x440)" 350 depends on X86_32 && SMP 351 help 352 This option is needed for IBM systems that use the Summit/EXA chipset. 353 In particular, it is needed for the x440. 354 355config X86_ES7000 356 bool "Support for Unisys ES7000 IA32 series" 357 depends on X86_32 && SMP 358 help 359 Support for Unisys ES7000 systems. Say 'Y' here if this kernel is 360 supposed to run on an IA32-based Unisys ES7000 system. 361 362config X86_BIGSMP 363 bool "Support for big SMP systems with more than 8 CPUs" 364 depends on X86_32 && SMP 365 help 366 This option is needed for the systems that have more than 8 CPUs 367 and if the system is not of any sub-arch type above. 368 369endif 370 371config X86_VSMP 372 bool "Support for ScaleMP vSMP" 373 select PARAVIRT 374 depends on X86_64 && PCI 375 help 376 Support for ScaleMP vSMP systems. Say 'Y' here if this kernel is 377 supposed to run on these EM64T-based machines. Only choose this option 378 if you have one of these machines. 379 380endchoice 381 382config X86_VISWS 383 bool "SGI 320/540 (Visual Workstation)" 384 depends on X86_32 && PCI && !X86_VOYAGER && X86_MPPARSE && PCI_GODIRECT 385 help 386 The SGI Visual Workstation series is an IA32-based workstation 387 based on SGI systems chips with some legacy PC hardware attached. 388 389 Say Y here to create a kernel to run on the SGI 320 or 540. 390 391 A kernel compiled for the Visual Workstation will run on general 392 PCs as well. See <file:Documentation/sgi-visws.txt> for details. 393 394config X86_RDC321X 395 bool "RDC R-321x SoC" 396 depends on X86_32 397 select M486 398 select X86_REBOOTFIXUPS 399 help 400 This option is needed for RDC R-321x system-on-chip, also known 401 as R-8610-(G). 402 If you don't have one of these chips, you should say N here. 403 404config SCHED_OMIT_FRAME_POINTER 405 def_bool y 406 prompt "Single-depth WCHAN output" 407 depends on X86 408 help 409 Calculate simpler /proc/<PID>/wchan values. If this option 410 is disabled then wchan values will recurse back to the 411 caller function. This provides more accurate wchan values, 412 at the expense of slightly more scheduling overhead. 413 414 If in doubt, say "Y". 415 416menuconfig PARAVIRT_GUEST 417 bool "Paravirtualized guest support" 418 help 419 Say Y here to get to see options related to running Linux under 420 various hypervisors. This option alone does not add any kernel code. 421 422 If you say N, all options in this submenu will be skipped and disabled. 423 424if PARAVIRT_GUEST 425 426source "arch/x86/xen/Kconfig" 427 428config VMI 429 bool "VMI Guest support" 430 select PARAVIRT 431 depends on X86_32 432 depends on !X86_VOYAGER 433 help 434 VMI provides a paravirtualized interface to the VMware ESX server 435 (it could be used by other hypervisors in theory too, but is not 436 at the moment), by linking the kernel to a GPL-ed ROM module 437 provided by the hypervisor. 438 439config KVM_CLOCK 440 bool "KVM paravirtualized clock" 441 select PARAVIRT 442 select PARAVIRT_CLOCK 443 depends on !X86_VOYAGER 444 help 445 Turning on this option will allow you to run a paravirtualized clock 446 when running over the KVM hypervisor. Instead of relying on a PIT 447 (or probably other) emulation by the underlying device model, the host 448 provides the guest with timing infrastructure such as time of day, and 449 system time 450 451config KVM_GUEST 452 bool "KVM Guest support" 453 select PARAVIRT 454 depends on !X86_VOYAGER 455 help 456 This option enables various optimizations for running under the KVM 457 hypervisor. 458 459source "arch/x86/lguest/Kconfig" 460 461config PARAVIRT 462 bool "Enable paravirtualization code" 463 depends on !X86_VOYAGER 464 help 465 This changes the kernel so it can modify itself when it is run 466 under a hypervisor, potentially improving performance significantly 467 over full virtualization. However, when run without a hypervisor 468 the kernel is theoretically slower and slightly larger. 469 470config PARAVIRT_CLOCK 471 bool 472 default n 473 474endif 475 476config PARAVIRT_DEBUG 477 bool "paravirt-ops debugging" 478 depends on PARAVIRT && DEBUG_KERNEL 479 help 480 Enable to debug paravirt_ops internals. Specifically, BUG if 481 a paravirt_op is missing when it is called. 482 483config MEMTEST 484 bool "Memtest" 485 help 486 This option adds a kernel parameter 'memtest', which allows memtest 487 to be set. 488 memtest=0, mean disabled; -- default 489 memtest=1, mean do 1 test pattern; 490 ... 491 memtest=4, mean do 4 test patterns. 492 If you are unsure how to answer this question, answer N. 493 494config X86_SUMMIT_NUMA 495 def_bool y 496 depends on X86_32 && NUMA && X86_GENERICARCH 497 498config X86_CYCLONE_TIMER 499 def_bool y 500 depends on X86_GENERICARCH 501 502source "arch/x86/Kconfig.cpu" 503 504config HPET_TIMER 505 def_bool X86_64 506 prompt "HPET Timer Support" if X86_32 507 help 508 Use the IA-PC HPET (High Precision Event Timer) to manage 509 time in preference to the PIT and RTC, if a HPET is 510 present. 511 HPET is the next generation timer replacing legacy 8254s. 512 The HPET provides a stable time base on SMP 513 systems, unlike the TSC, but it is more expensive to access, 514 as it is off-chip. You can find the HPET spec at 515 <http://www.intel.com/hardwaredesign/hpetspec_1.pdf>. 516 517 You can safely choose Y here. However, HPET will only be 518 activated if the platform and the BIOS support this feature. 519 Otherwise the 8254 will be used for timing services. 520 521 Choose N to continue using the legacy 8254 timer. 522 523config HPET_EMULATE_RTC 524 def_bool y 525 depends on HPET_TIMER && (RTC=y || RTC=m || RTC_DRV_CMOS=m || RTC_DRV_CMOS=y) 526 527# Mark as embedded because too many people got it wrong. 528# The code disables itself when not needed. 529config DMI 530 default y 531 bool "Enable DMI scanning" if EMBEDDED 532 help 533 Enabled scanning of DMI to identify machine quirks. Say Y 534 here unless you have verified that your setup is not 535 affected by entries in the DMI blacklist. Required by PNP 536 BIOS code. 537 538config GART_IOMMU 539 bool "GART IOMMU support" if EMBEDDED 540 default y 541 select SWIOTLB 542 select AGP 543 depends on X86_64 && PCI 544 help 545 Support for full DMA access of devices with 32bit memory access only 546 on systems with more than 3GB. This is usually needed for USB, 547 sound, many IDE/SATA chipsets and some other devices. 548 Provides a driver for the AMD Athlon64/Opteron/Turion/Sempron GART 549 based hardware IOMMU and a software bounce buffer based IOMMU used 550 on Intel systems and as fallback. 551 The code is only active when needed (enough memory and limited 552 device) unless CONFIG_IOMMU_DEBUG or iommu=force is specified 553 too. 554 555config CALGARY_IOMMU 556 bool "IBM Calgary IOMMU support" 557 select SWIOTLB 558 depends on X86_64 && PCI && EXPERIMENTAL 559 help 560 Support for hardware IOMMUs in IBM's xSeries x366 and x460 561 systems. Needed to run systems with more than 3GB of memory 562 properly with 32-bit PCI devices that do not support DAC 563 (Double Address Cycle). Calgary also supports bus level 564 isolation, where all DMAs pass through the IOMMU. This 565 prevents them from going anywhere except their intended 566 destination. This catches hard-to-find kernel bugs and 567 mis-behaving drivers and devices that do not use the DMA-API 568 properly to set up their DMA buffers. The IOMMU can be 569 turned off at boot time with the iommu=off parameter. 570 Normally the kernel will make the right choice by itself. 571 If unsure, say Y. 572 573config CALGARY_IOMMU_ENABLED_BY_DEFAULT 574 def_bool y 575 prompt "Should Calgary be enabled by default?" 576 depends on CALGARY_IOMMU 577 help 578 Should Calgary be enabled by default? if you choose 'y', Calgary 579 will be used (if it exists). If you choose 'n', Calgary will not be 580 used even if it exists. If you choose 'n' and would like to use 581 Calgary anyway, pass 'iommu=calgary' on the kernel command line. 582 If unsure, say Y. 583 584config AMD_IOMMU 585 bool "AMD IOMMU support" 586 select SWIOTLB 587 select PCI_MSI 588 depends on X86_64 && PCI && ACPI 589 help 590 With this option you can enable support for AMD IOMMU hardware in 591 your system. An IOMMU is a hardware component which provides 592 remapping of DMA memory accesses from devices. With an AMD IOMMU you 593 can isolate the the DMA memory of different devices and protect the 594 system from misbehaving device drivers or hardware. 595 596 You can find out if your system has an AMD IOMMU if you look into 597 your BIOS for an option to enable it or if you have an IVRS ACPI 598 table. 599 600config AMD_IOMMU_STATS 601 bool "Export AMD IOMMU statistics to debugfs" 602 depends on AMD_IOMMU 603 select DEBUG_FS 604 help 605 This option enables code in the AMD IOMMU driver to collect various 606 statistics about whats happening in the driver and exports that 607 information to userspace via debugfs. 608 If unsure, say N. 609 610# need this always selected by IOMMU for the VIA workaround 611config SWIOTLB 612 def_bool y if X86_64 613 help 614 Support for software bounce buffers used on x86-64 systems 615 which don't have a hardware IOMMU (e.g. the current generation 616 of Intel's x86-64 CPUs). Using this PCI devices which can only 617 access 32-bits of memory can be used on systems with more than 618 3 GB of memory. If unsure, say Y. 619 620config IOMMU_HELPER 621 def_bool (CALGARY_IOMMU || GART_IOMMU || SWIOTLB || AMD_IOMMU) 622 623config IOMMU_API 624 def_bool (AMD_IOMMU || DMAR) 625 626config MAXSMP 627 bool "Configure Maximum number of SMP Processors and NUMA Nodes" 628 depends on X86_64 && SMP && DEBUG_KERNEL && EXPERIMENTAL 629 select CPUMASK_OFFSTACK 630 default n 631 help 632 Configure maximum number of CPUS and NUMA Nodes for this architecture. 633 If unsure, say N. 634 635config NR_CPUS 636 int "Maximum number of CPUs" if SMP && !MAXSMP 637 range 2 512 if SMP && !MAXSMP 638 default "1" if !SMP 639 default "4096" if MAXSMP 640 default "32" if SMP && (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP || X86_ES7000) 641 default "8" if SMP 642 help 643 This allows you to specify the maximum number of CPUs which this 644 kernel will support. The maximum supported value is 512 and the 645 minimum value which makes sense is 2. 646 647 This is purely to save memory - each supported CPU adds 648 approximately eight kilobytes to the kernel image. 649 650config SCHED_SMT 651 bool "SMT (Hyperthreading) scheduler support" 652 depends on X86_HT 653 help 654 SMT scheduler support improves the CPU scheduler's decision making 655 when dealing with Intel Pentium 4 chips with HyperThreading at a 656 cost of slightly increased overhead in some places. If unsure say 657 N here. 658 659config SCHED_MC 660 def_bool y 661 prompt "Multi-core scheduler support" 662 depends on X86_HT 663 help 664 Multi-core scheduler support improves the CPU scheduler's decision 665 making when dealing with multi-core CPU chips at a cost of slightly 666 increased overhead in some places. If unsure say N here. 667 668source "kernel/Kconfig.preempt" 669 670config X86_UP_APIC 671 bool "Local APIC support on uniprocessors" 672 depends on X86_32 && !SMP && !(X86_VOYAGER || X86_GENERICARCH) 673 help 674 A local APIC (Advanced Programmable Interrupt Controller) is an 675 integrated interrupt controller in the CPU. If you have a single-CPU 676 system which has a processor with a local APIC, you can say Y here to 677 enable and use it. If you say Y here even though your machine doesn't 678 have a local APIC, then the kernel will still run with no slowdown at 679 all. The local APIC supports CPU-generated self-interrupts (timer, 680 performance counters), and the NMI watchdog which detects hard 681 lockups. 682 683config X86_UP_IOAPIC 684 bool "IO-APIC support on uniprocessors" 685 depends on X86_UP_APIC 686 help 687 An IO-APIC (I/O Advanced Programmable Interrupt Controller) is an 688 SMP-capable replacement for PC-style interrupt controllers. Most 689 SMP systems and many recent uniprocessor systems have one. 690 691 If you have a single-CPU system with an IO-APIC, you can say Y here 692 to use it. If you say Y here even though your machine doesn't have 693 an IO-APIC, then the kernel will still run with no slowdown at all. 694 695config X86_LOCAL_APIC 696 def_bool y 697 depends on X86_64 || (X86_32 && (X86_UP_APIC || (SMP && !X86_VOYAGER) || X86_GENERICARCH)) 698 699config X86_IO_APIC 700 def_bool y 701 depends on X86_64 || (X86_32 && (X86_UP_IOAPIC || (SMP && !X86_VOYAGER) || X86_GENERICARCH)) 702 703config X86_VISWS_APIC 704 def_bool y 705 depends on X86_32 && X86_VISWS 706 707config X86_REROUTE_FOR_BROKEN_BOOT_IRQS 708 bool "Reroute for broken boot IRQs" 709 default n 710 depends on X86_IO_APIC 711 help 712 This option enables a workaround that fixes a source of 713 spurious interrupts. This is recommended when threaded 714 interrupt handling is used on systems where the generation of 715 superfluous "boot interrupts" cannot be disabled. 716 717 Some chipsets generate a legacy INTx "boot IRQ" when the IRQ 718 entry in the chipset's IO-APIC is masked (as, e.g. the RT 719 kernel does during interrupt handling). On chipsets where this 720 boot IRQ generation cannot be disabled, this workaround keeps 721 the original IRQ line masked so that only the equivalent "boot 722 IRQ" is delivered to the CPUs. The workaround also tells the 723 kernel to set up the IRQ handler on the boot IRQ line. In this 724 way only one interrupt is delivered to the kernel. Otherwise 725 the spurious second interrupt may cause the kernel to bring 726 down (vital) interrupt lines. 727 728 Only affects "broken" chipsets. Interrupt sharing may be 729 increased on these systems. 730 731config X86_MCE 732 bool "Machine Check Exception" 733 depends on !X86_VOYAGER 734 ---help--- 735 Machine Check Exception support allows the processor to notify the 736 kernel if it detects a problem (e.g. overheating, component failure). 737 The action the kernel takes depends on the severity of the problem, 738 ranging from a warning message on the console, to halting the machine. 739 Your processor must be a Pentium or newer to support this - check the 740 flags in /proc/cpuinfo for mce. Note that some older Pentium systems 741 have a design flaw which leads to false MCE events - hence MCE is 742 disabled on all P5 processors, unless explicitly enabled with "mce" 743 as a boot argument. Similarly, if MCE is built in and creates a 744 problem on some new non-standard machine, you can boot with "nomce" 745 to disable it. MCE support simply ignores non-MCE processors like 746 the 386 and 486, so nearly everyone can say Y here. 747 748config X86_MCE_INTEL 749 def_bool y 750 prompt "Intel MCE features" 751 depends on X86_64 && X86_MCE && X86_LOCAL_APIC 752 help 753 Additional support for intel specific MCE features such as 754 the thermal monitor. 755 756config X86_MCE_AMD 757 def_bool y 758 prompt "AMD MCE features" 759 depends on X86_64 && X86_MCE && X86_LOCAL_APIC 760 help 761 Additional support for AMD specific MCE features such as 762 the DRAM Error Threshold. 763 764config X86_MCE_NONFATAL 765 tristate "Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 4" 766 depends on X86_32 && X86_MCE 767 help 768 Enabling this feature starts a timer that triggers every 5 seconds which 769 will look at the machine check registers to see if anything happened. 770 Non-fatal problems automatically get corrected (but still logged). 771 Disable this if you don't want to see these messages. 772 Seeing the messages this option prints out may be indicative of dying 773 or out-of-spec (ie, overclocked) hardware. 774 This option only does something on certain CPUs. 775 (AMD Athlon/Duron and Intel Pentium 4) 776 777config X86_MCE_P4THERMAL 778 bool "check for P4 thermal throttling interrupt." 779 depends on X86_32 && X86_MCE && (X86_UP_APIC || SMP) 780 help 781 Enabling this feature will cause a message to be printed when the P4 782 enters thermal throttling. 783 784config VM86 785 bool "Enable VM86 support" if EMBEDDED 786 default y 787 depends on X86_32 788 help 789 This option is required by programs like DOSEMU to run 16-bit legacy 790 code on X86 processors. It also may be needed by software like 791 XFree86 to initialize some video cards via BIOS. Disabling this 792 option saves about 6k. 793 794config TOSHIBA 795 tristate "Toshiba Laptop support" 796 depends on X86_32 797 ---help--- 798 This adds a driver to safely access the System Management Mode of 799 the CPU on Toshiba portables with a genuine Toshiba BIOS. It does 800 not work on models with a Phoenix BIOS. The System Management Mode 801 is used to set the BIOS and power saving options on Toshiba portables. 802 803 For information on utilities to make use of this driver see the 804 Toshiba Linux utilities web site at: 805 <http://www.buzzard.org.uk/toshiba/>. 806 807 Say Y if you intend to run this kernel on a Toshiba portable. 808 Say N otherwise. 809 810config I8K 811 tristate "Dell laptop support" 812 ---help--- 813 This adds a driver to safely access the System Management Mode 814 of the CPU on the Dell Inspiron 8000. The System Management Mode 815 is used to read cpu temperature and cooling fan status and to 816 control the fans on the I8K portables. 817 818 This driver has been tested only on the Inspiron 8000 but it may 819 also work with other Dell laptops. You can force loading on other 820 models by passing the parameter `force=1' to the module. Use at 821 your own risk. 822 823 For information on utilities to make use of this driver see the 824 I8K Linux utilities web site at: 825 <http://people.debian.org/~dz/i8k/> 826 827 Say Y if you intend to run this kernel on a Dell Inspiron 8000. 828 Say N otherwise. 829 830config X86_REBOOTFIXUPS 831 bool "Enable X86 board specific fixups for reboot" 832 depends on X86_32 833 ---help--- 834 This enables chipset and/or board specific fixups to be done 835 in order to get reboot to work correctly. This is only needed on 836 some combinations of hardware and BIOS. The symptom, for which 837 this config is intended, is when reboot ends with a stalled/hung 838 system. 839 840 Currently, the only fixup is for the Geode machines using 841 CS5530A and CS5536 chipsets and the RDC R-321x SoC. 842 843 Say Y if you want to enable the fixup. Currently, it's safe to 844 enable this option even if you don't need it. 845 Say N otherwise. 846 847config MICROCODE 848 tristate "/dev/cpu/microcode - microcode support" 849 select FW_LOADER 850 ---help--- 851 If you say Y here, you will be able to update the microcode on 852 certain Intel and AMD processors. The Intel support is for the 853 IA32 family, e.g. Pentium Pro, Pentium II, Pentium III, 854 Pentium 4, Xeon etc. The AMD support is for family 0x10 and 855 0x11 processors, e.g. Opteron, Phenom and Turion 64 Ultra. 856 You will obviously need the actual microcode binary data itself 857 which is not shipped with the Linux kernel. 858 859 This option selects the general module only, you need to select 860 at least one vendor specific module as well. 861 862 To compile this driver as a module, choose M here: the 863 module will be called microcode. 864 865config MICROCODE_INTEL 866 bool "Intel microcode patch loading support" 867 depends on MICROCODE 868 default MICROCODE 869 select FW_LOADER 870 --help--- 871 This options enables microcode patch loading support for Intel 872 processors. 873 874 For latest news and information on obtaining all the required 875 Intel ingredients for this driver, check: 876 <http://www.urbanmyth.org/microcode/>. 877 878config MICROCODE_AMD 879 bool "AMD microcode patch loading support" 880 depends on MICROCODE 881 select FW_LOADER 882 --help--- 883 If you select this option, microcode patch loading support for AMD 884 processors will be enabled. 885 886 config MICROCODE_OLD_INTERFACE 887 def_bool y 888 depends on MICROCODE 889 890config X86_MSR 891 tristate "/dev/cpu/*/msr - Model-specific register support" 892 help 893 This device gives privileged processes access to the x86 894 Model-Specific Registers (MSRs). It is a character device with 895 major 202 and minors 0 to 31 for /dev/cpu/0/msr to /dev/cpu/31/msr. 896 MSR accesses are directed to a specific CPU on multi-processor 897 systems. 898 899config X86_CPUID 900 tristate "/dev/cpu/*/cpuid - CPU information support" 901 help 902 This device gives processes access to the x86 CPUID instruction to 903 be executed on a specific processor. It is a character device 904 with major 203 and minors 0 to 31 for /dev/cpu/0/cpuid to 905 /dev/cpu/31/cpuid. 906 907choice 908 prompt "High Memory Support" 909 default HIGHMEM4G if !X86_NUMAQ 910 default HIGHMEM64G if X86_NUMAQ 911 depends on X86_32 912 913config NOHIGHMEM 914 bool "off" 915 depends on !X86_NUMAQ 916 ---help--- 917 Linux can use up to 64 Gigabytes of physical memory on x86 systems. 918 However, the address space of 32-bit x86 processors is only 4 919 Gigabytes large. That means that, if you have a large amount of 920 physical memory, not all of it can be "permanently mapped" by the 921 kernel. The physical memory that's not permanently mapped is called 922 "high memory". 923 924 If you are compiling a kernel which will never run on a machine with 925 more than 1 Gigabyte total physical RAM, answer "off" here (default 926 choice and suitable for most users). This will result in a "3GB/1GB" 927 split: 3GB are mapped so that each process sees a 3GB virtual memory 928 space and the remaining part of the 4GB virtual memory space is used 929 by the kernel to permanently map as much physical memory as 930 possible. 931 932 If the machine has between 1 and 4 Gigabytes physical RAM, then 933 answer "4GB" here. 934 935 If more than 4 Gigabytes is used then answer "64GB" here. This 936 selection turns Intel PAE (Physical Address Extension) mode on. 937 PAE implements 3-level paging on IA32 processors. PAE is fully 938 supported by Linux, PAE mode is implemented on all recent Intel 939 processors (Pentium Pro and better). NOTE: If you say "64GB" here, 940 then the kernel will not boot on CPUs that don't support PAE! 941 942 The actual amount of total physical memory will either be 943 auto detected or can be forced by using a kernel command line option 944 such as "mem=256M". (Try "man bootparam" or see the documentation of 945 your boot loader (lilo or loadlin) about how to pass options to the 946 kernel at boot time.) 947 948 If unsure, say "off". 949 950config HIGHMEM4G 951 bool "4GB" 952 depends on !X86_NUMAQ 953 help 954 Select this if you have a 32-bit processor and between 1 and 4 955 gigabytes of physical RAM. 956 957config HIGHMEM64G 958 bool "64GB" 959 depends on !M386 && !M486 960 select X86_PAE 961 help 962 Select this if you have a 32-bit processor and more than 4 963 gigabytes of physical RAM. 964 965endchoice 966 967choice 968 depends on EXPERIMENTAL 969 prompt "Memory split" if EMBEDDED 970 default VMSPLIT_3G 971 depends on X86_32 972 help 973 Select the desired split between kernel and user memory. 974 975 If the address range available to the kernel is less than the 976 physical memory installed, the remaining memory will be available 977 as "high memory". Accessing high memory is a little more costly 978 than low memory, as it needs to be mapped into the kernel first. 979 Note that increasing the kernel address space limits the range 980 available to user programs, making the address space there 981 tighter. Selecting anything other than the default 3G/1G split 982 will also likely make your kernel incompatible with binary-only 983 kernel modules. 984 985 If you are not absolutely sure what you are doing, leave this 986 option alone! 987 988 config VMSPLIT_3G 989 bool "3G/1G user/kernel split" 990 config VMSPLIT_3G_OPT 991 depends on !X86_PAE 992 bool "3G/1G user/kernel split (for full 1G low memory)" 993 config VMSPLIT_2G 994 bool "2G/2G user/kernel split" 995 config VMSPLIT_2G_OPT 996 depends on !X86_PAE 997 bool "2G/2G user/kernel split (for full 2G low memory)" 998 config VMSPLIT_1G 999 bool "1G/3G user/kernel split" 1000endchoice 1001 1002config PAGE_OFFSET 1003 hex 1004 default 0xB0000000 if VMSPLIT_3G_OPT 1005 default 0x80000000 if VMSPLIT_2G 1006 default 0x78000000 if VMSPLIT_2G_OPT 1007 default 0x40000000 if VMSPLIT_1G 1008 default 0xC0000000 1009 depends on X86_32 1010 1011config HIGHMEM 1012 def_bool y 1013 depends on X86_32 && (HIGHMEM64G || HIGHMEM4G) 1014 1015config X86_PAE 1016 bool "PAE (Physical Address Extension) Support" 1017 depends on X86_32 && !HIGHMEM4G 1018 help 1019 PAE is required for NX support, and furthermore enables 1020 larger swapspace support for non-overcommit purposes. It 1021 has the cost of more pagetable lookup overhead, and also 1022 consumes more pagetable space per process. 1023 1024config ARCH_PHYS_ADDR_T_64BIT 1025 def_bool X86_64 || X86_PAE 1026 1027config DIRECT_GBPAGES 1028 bool "Enable 1GB pages for kernel pagetables" if EMBEDDED 1029 default y 1030 depends on X86_64 1031 help 1032 Allow the kernel linear mapping to use 1GB pages on CPUs that 1033 support it. This can improve the kernel's performance a tiny bit by 1034 reducing TLB pressure. If in doubt, say "Y". 1035 1036# Common NUMA Features 1037config NUMA 1038 bool "Numa Memory Allocation and Scheduler Support" 1039 depends on SMP 1040 depends on X86_64 || (X86_32 && HIGHMEM64G && (X86_NUMAQ || X86_BIGSMP || X86_SUMMIT && ACPI) && EXPERIMENTAL) 1041 default n if X86_PC 1042 default y if (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP) 1043 help 1044 Enable NUMA (Non Uniform Memory Access) support. 1045 1046 The kernel will try to allocate memory used by a CPU on the 1047 local memory controller of the CPU and add some more 1048 NUMA awareness to the kernel. 1049 1050 For 64-bit this is recommended if the system is Intel Core i7 1051 (or later), AMD Opteron, or EM64T NUMA. 1052 1053 For 32-bit this is only needed on (rare) 32-bit-only platforms 1054 that support NUMA topologies, such as NUMAQ / Summit, or if you 1055 boot a 32-bit kernel on a 64-bit NUMA platform. 1056 1057 Otherwise, you should say N. 1058 1059comment "NUMA (Summit) requires SMP, 64GB highmem support, ACPI" 1060 depends on X86_32 && X86_SUMMIT && (!HIGHMEM64G || !ACPI) 1061 1062config K8_NUMA 1063 def_bool y 1064 prompt "Old style AMD Opteron NUMA detection" 1065 depends on X86_64 && NUMA && PCI 1066 help 1067 Enable K8 NUMA node topology detection. You should say Y here if 1068 you have a multi processor AMD K8 system. This uses an old 1069 method to read the NUMA configuration directly from the builtin 1070 Northbridge of Opteron. It is recommended to use X86_64_ACPI_NUMA 1071 instead, which also takes priority if both are compiled in. 1072 1073config X86_64_ACPI_NUMA 1074 def_bool y 1075 prompt "ACPI NUMA detection" 1076 depends on X86_64 && NUMA && ACPI && PCI 1077 select ACPI_NUMA 1078 help 1079 Enable ACPI SRAT based node topology detection. 1080 1081# Some NUMA nodes have memory ranges that span 1082# other nodes. Even though a pfn is valid and 1083# between a node's start and end pfns, it may not 1084# reside on that node. See memmap_init_zone() 1085# for details. 1086config NODES_SPAN_OTHER_NODES 1087 def_bool y 1088 depends on X86_64_ACPI_NUMA 1089 1090config NUMA_EMU 1091 bool "NUMA emulation" 1092 depends on X86_64 && NUMA 1093 help 1094 Enable NUMA emulation. A flat machine will be split 1095 into virtual nodes when booted with "numa=fake=N", where N is the 1096 number of nodes. This is only useful for debugging. 1097 1098config NODES_SHIFT 1099 int "Maximum NUMA Nodes (as a power of 2)" if !MAXSMP 1100 range 1 9 if X86_64 1101 default "9" if MAXSMP 1102 default "6" if X86_64 1103 default "4" if X86_NUMAQ 1104 default "3" 1105 depends on NEED_MULTIPLE_NODES 1106 help 1107 Specify the maximum number of NUMA Nodes available on the target 1108 system. Increases memory reserved to accomodate various tables. 1109 1110config HAVE_ARCH_BOOTMEM_NODE 1111 def_bool y 1112 depends on X86_32 && NUMA 1113 1114config ARCH_HAVE_MEMORY_PRESENT 1115 def_bool y 1116 depends on X86_32 && DISCONTIGMEM 1117 1118config NEED_NODE_MEMMAP_SIZE 1119 def_bool y 1120 depends on X86_32 && (DISCONTIGMEM || SPARSEMEM) 1121 1122config HAVE_ARCH_ALLOC_REMAP 1123 def_bool y 1124 depends on X86_32 && NUMA 1125 1126config ARCH_FLATMEM_ENABLE 1127 def_bool y 1128 depends on X86_32 && ARCH_SELECT_MEMORY_MODEL && !NUMA 1129 1130config ARCH_DISCONTIGMEM_ENABLE 1131 def_bool y 1132 depends on NUMA && X86_32 1133 1134config ARCH_DISCONTIGMEM_DEFAULT 1135 def_bool y 1136 depends on NUMA && X86_32 1137 1138config ARCH_SPARSEMEM_DEFAULT 1139 def_bool y 1140 depends on X86_64 1141 1142config ARCH_SPARSEMEM_ENABLE 1143 def_bool y 1144 depends on X86_64 || NUMA || (EXPERIMENTAL && X86_PC) || X86_GENERICARCH 1145 select SPARSEMEM_STATIC if X86_32 1146 select SPARSEMEM_VMEMMAP_ENABLE if X86_64 1147 1148config ARCH_SELECT_MEMORY_MODEL 1149 def_bool y 1150 depends on ARCH_SPARSEMEM_ENABLE 1151 1152config ARCH_MEMORY_PROBE 1153 def_bool X86_64 1154 depends on MEMORY_HOTPLUG 1155 1156source "mm/Kconfig" 1157 1158config HIGHPTE 1159 bool "Allocate 3rd-level pagetables from highmem" 1160 depends on X86_32 && (HIGHMEM4G || HIGHMEM64G) 1161 help 1162 The VM uses one page table entry for each page of physical memory. 1163 For systems with a lot of RAM, this can be wasteful of precious 1164 low memory. Setting this option will put user-space page table 1165 entries in high memory. 1166 1167config X86_CHECK_BIOS_CORRUPTION 1168 bool "Check for low memory corruption" 1169 help 1170 Periodically check for memory corruption in low memory, which 1171 is suspected to be caused by BIOS. Even when enabled in the 1172 configuration, it is disabled at runtime. Enable it by 1173 setting "memory_corruption_check=1" on the kernel command 1174 line. By default it scans the low 64k of memory every 60 1175 seconds; see the memory_corruption_check_size and 1176 memory_corruption_check_period parameters in 1177 Documentation/kernel-parameters.txt to adjust this. 1178 1179 When enabled with the default parameters, this option has 1180 almost no overhead, as it reserves a relatively small amount 1181 of memory and scans it infrequently. It both detects corruption 1182 and prevents it from affecting the running system. 1183 1184 It is, however, intended as a diagnostic tool; if repeatable 1185 BIOS-originated corruption always affects the same memory, 1186 you can use memmap= to prevent the kernel from using that 1187 memory. 1188 1189config X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK 1190 bool "Set the default setting of memory_corruption_check" 1191 depends on X86_CHECK_BIOS_CORRUPTION 1192 default y 1193 help 1194 Set whether the default state of memory_corruption_check is 1195 on or off. 1196 1197config X86_RESERVE_LOW_64K 1198 bool "Reserve low 64K of RAM on AMI/Phoenix BIOSen" 1199 default y 1200 help 1201 Reserve the first 64K of physical RAM on BIOSes that are known 1202 to potentially corrupt that memory range. A numbers of BIOSes are 1203 known to utilize this area during suspend/resume, so it must not 1204 be used by the kernel. 1205 1206 Set this to N if you are absolutely sure that you trust the BIOS 1207 to get all its memory reservations and usages right. 1208 1209 If you have doubts about the BIOS (e.g. suspend/resume does not 1210 work or there's kernel crashes after certain hardware hotplug 1211 events) and it's not AMI or Phoenix, then you might want to enable 1212 X86_CHECK_BIOS_CORRUPTION=y to allow the kernel to check typical 1213 corruption patterns. 1214 1215 Say Y if unsure. 1216 1217config MATH_EMULATION 1218 bool 1219 prompt "Math emulation" if X86_32 1220 ---help--- 1221 Linux can emulate a math coprocessor (used for floating point 1222 operations) if you don't have one. 486DX and Pentium processors have 1223 a math coprocessor built in, 486SX and 386 do not, unless you added 1224 a 487DX or 387, respectively. (The messages during boot time can 1225 give you some hints here ["man dmesg"].) Everyone needs either a 1226 coprocessor or this emulation. 1227 1228 If you don't have a math coprocessor, you need to say Y here; if you 1229 say Y here even though you have a coprocessor, the coprocessor will 1230 be used nevertheless. (This behavior can be changed with the kernel 1231 command line option "no387", which comes handy if your coprocessor 1232 is broken. Try "man bootparam" or see the documentation of your boot 1233 loader (lilo or loadlin) about how to pass options to the kernel at 1234 boot time.) This means that it is a good idea to say Y here if you 1235 intend to use this kernel on different machines. 1236 1237 More information about the internals of the Linux math coprocessor 1238 emulation can be found in <file:arch/x86/math-emu/README>. 1239 1240 If you are not sure, say Y; apart from resulting in a 66 KB bigger 1241 kernel, it won't hurt. 1242 1243config MTRR 1244 bool "MTRR (Memory Type Range Register) support" 1245 ---help--- 1246 On Intel P6 family processors (Pentium Pro, Pentium II and later) 1247 the Memory Type Range Registers (MTRRs) may be used to control 1248 processor access to memory ranges. This is most useful if you have 1249 a video (VGA) card on a PCI or AGP bus. Enabling write-combining 1250 allows bus write transfers to be combined into a larger transfer 1251 before bursting over the PCI/AGP bus. This can increase performance 1252 of image write operations 2.5 times or more. Saying Y here creates a 1253 /proc/mtrr file which may be used to manipulate your processor's 1254 MTRRs. Typically the X server should use this. 1255 1256 This code has a reasonably generic interface so that similar 1257 control registers on other processors can be easily supported 1258 as well: 1259 1260 The Cyrix 6x86, 6x86MX and M II processors have Address Range 1261 Registers (ARRs) which provide a similar functionality to MTRRs. For 1262 these, the ARRs are used to emulate the MTRRs. 1263 The AMD K6-2 (stepping 8 and above) and K6-3 processors have two 1264 MTRRs. The Centaur C6 (WinChip) has 8 MCRs, allowing 1265 write-combining. All of these processors are supported by this code 1266 and it makes sense to say Y here if you have one of them. 1267 1268 Saying Y here also fixes a problem with buggy SMP BIOSes which only 1269 set the MTRRs for the boot CPU and not for the secondary CPUs. This 1270 can lead to all sorts of problems, so it's good to say Y here. 1271 1272 You can safely say Y even if your machine doesn't have MTRRs, you'll 1273 just add about 9 KB to your kernel. 1274 1275 See <file:Documentation/x86/mtrr.txt> for more information. 1276 1277config MTRR_SANITIZER 1278 def_bool y 1279 prompt "MTRR cleanup support" 1280 depends on MTRR 1281 help 1282 Convert MTRR layout from continuous to discrete, so X drivers can 1283 add writeback entries. 1284 1285 Can be disabled with disable_mtrr_cleanup on the kernel command line. 1286 The largest mtrr entry size for a continous block can be set with 1287 mtrr_chunk_size. 1288 1289 If unsure, say Y. 1290 1291config MTRR_SANITIZER_ENABLE_DEFAULT 1292 int "MTRR cleanup enable value (0-1)" 1293 range 0 1 1294 default "0" 1295 depends on MTRR_SANITIZER 1296 help 1297 Enable mtrr cleanup default value 1298 1299config MTRR_SANITIZER_SPARE_REG_NR_DEFAULT 1300 int "MTRR cleanup spare reg num (0-7)" 1301 range 0 7 1302 default "1" 1303 depends on MTRR_SANITIZER 1304 help 1305 mtrr cleanup spare entries default, it can be changed via 1306 mtrr_spare_reg_nr=N on the kernel command line. 1307 1308config X86_PAT 1309 bool 1310 prompt "x86 PAT support" 1311 depends on MTRR 1312 help 1313 Use PAT attributes to setup page level cache control. 1314 1315 PATs are the modern equivalents of MTRRs and are much more 1316 flexible than MTRRs. 1317 1318 Say N here if you see bootup problems (boot crash, boot hang, 1319 spontaneous reboots) or a non-working video driver. 1320 1321 If unsure, say Y. 1322 1323config EFI 1324 bool "EFI runtime service support" 1325 depends on ACPI 1326 ---help--- 1327 This enables the kernel to use EFI runtime services that are 1328 available (such as the EFI variable services). 1329 1330 This option is only useful on systems that have EFI firmware. 1331 In addition, you should use the latest ELILO loader available 1332 at <http://elilo.sourceforge.net> in order to take advantage 1333 of EFI runtime services. However, even with this option, the 1334 resultant kernel should continue to boot on existing non-EFI 1335 platforms. 1336 1337config SECCOMP 1338 def_bool y 1339 prompt "Enable seccomp to safely compute untrusted bytecode" 1340 help 1341 This kernel feature is useful for number crunching applications 1342 that may need to compute untrusted bytecode during their 1343 execution. By using pipes or other transports made available to 1344 the process as file descriptors supporting the read/write 1345 syscalls, it's possible to isolate those applications in 1346 their own address space using seccomp. Once seccomp is 1347 enabled via prctl(PR_SET_SECCOMP), it cannot be disabled 1348 and the task is only allowed to execute a few safe syscalls 1349 defined by each seccomp mode. 1350 1351 If unsure, say Y. Only embedded should say N here. 1352 1353config CC_STACKPROTECTOR 1354 bool "Enable -fstack-protector buffer overflow detection (EXPERIMENTAL)" 1355 depends on X86_64 && EXPERIMENTAL && BROKEN 1356 help 1357 This option turns on the -fstack-protector GCC feature. This 1358 feature puts, at the beginning of critical functions, a canary 1359 value on the stack just before the return address, and validates 1360 the value just before actually returning. Stack based buffer 1361 overflows (that need to overwrite this return address) now also 1362 overwrite the canary, which gets detected and the attack is then 1363 neutralized via a kernel panic. 1364 1365 This feature requires gcc version 4.2 or above, or a distribution 1366 gcc with the feature backported. Older versions are automatically 1367 detected and for those versions, this configuration option is ignored. 1368 1369config CC_STACKPROTECTOR_ALL 1370 bool "Use stack-protector for all functions" 1371 depends on CC_STACKPROTECTOR 1372 help 1373 Normally, GCC only inserts the canary value protection for 1374 functions that use large-ish on-stack buffers. By enabling 1375 this option, GCC will be asked to do this for ALL functions. 1376 1377source kernel/Kconfig.hz 1378 1379config KEXEC 1380 bool "kexec system call" 1381 depends on X86_BIOS_REBOOT 1382 help 1383 kexec is a system call that implements the ability to shutdown your 1384 current kernel, and to start another kernel. It is like a reboot 1385 but it is independent of the system firmware. And like a reboot 1386 you can start any kernel with it, not just Linux. 1387 1388 The name comes from the similarity to the exec system call. 1389 1390 It is an ongoing process to be certain the hardware in a machine 1391 is properly shutdown, so do not be surprised if this code does not 1392 initially work for you. It may help to enable device hotplugging 1393 support. As of this writing the exact hardware interface is 1394 strongly in flux, so no good recommendation can be made. 1395 1396config CRASH_DUMP 1397 bool "kernel crash dumps" 1398 depends on X86_64 || (X86_32 && HIGHMEM) 1399 help 1400 Generate crash dump after being started by kexec. 1401 This should be normally only set in special crash dump kernels 1402 which are loaded in the main kernel with kexec-tools into 1403 a specially reserved region and then later executed after 1404 a crash by kdump/kexec. The crash dump kernel must be compiled 1405 to a memory address not used by the main kernel or BIOS using 1406 PHYSICAL_START, or it must be built as a relocatable image 1407 (CONFIG_RELOCATABLE=y). 1408 For more details see Documentation/kdump/kdump.txt 1409 1410config KEXEC_JUMP 1411 bool "kexec jump (EXPERIMENTAL)" 1412 depends on EXPERIMENTAL 1413 depends on KEXEC && HIBERNATION && X86_32 1414 help 1415 Jump between original kernel and kexeced kernel and invoke 1416 code in physical address mode via KEXEC 1417 1418config PHYSICAL_START 1419 hex "Physical address where the kernel is loaded" if (EMBEDDED || CRASH_DUMP) 1420 default "0x1000000" if X86_NUMAQ 1421 default "0x200000" if X86_64 1422 default "0x100000" 1423 help 1424 This gives the physical address where the kernel is loaded. 1425 1426 If kernel is a not relocatable (CONFIG_RELOCATABLE=n) then 1427 bzImage will decompress itself to above physical address and 1428 run from there. Otherwise, bzImage will run from the address where 1429 it has been loaded by the boot loader and will ignore above physical 1430 address. 1431 1432 In normal kdump cases one does not have to set/change this option 1433 as now bzImage can be compiled as a completely relocatable image 1434 (CONFIG_RELOCATABLE=y) and be used to load and run from a different 1435 address. This option is mainly useful for the folks who don't want 1436 to use a bzImage for capturing the crash dump and want to use a 1437 vmlinux instead. vmlinux is not relocatable hence a kernel needs 1438 to be specifically compiled to run from a specific memory area 1439 (normally a reserved region) and this option comes handy. 1440 1441 So if you are using bzImage for capturing the crash dump, leave 1442 the value here unchanged to 0x100000 and set CONFIG_RELOCATABLE=y. 1443 Otherwise if you plan to use vmlinux for capturing the crash dump 1444 change this value to start of the reserved region (Typically 16MB 1445 0x1000000). In other words, it can be set based on the "X" value as 1446 specified in the "crashkernel=YM@XM" command line boot parameter 1447 passed to the panic-ed kernel. Typically this parameter is set as 1448 crashkernel=64M@16M. Please take a look at 1449 Documentation/kdump/kdump.txt for more details about crash dumps. 1450 1451 Usage of bzImage for capturing the crash dump is recommended as 1452 one does not have to build two kernels. Same kernel can be used 1453 as production kernel and capture kernel. Above option should have 1454 gone away after relocatable bzImage support is introduced. But it 1455 is present because there are users out there who continue to use 1456 vmlinux for dump capture. This option should go away down the 1457 line. 1458 1459 Don't change this unless you know what you are doing. 1460 1461config RELOCATABLE 1462 bool "Build a relocatable kernel (EXPERIMENTAL)" 1463 depends on EXPERIMENTAL 1464 help 1465 This builds a kernel image that retains relocation information 1466 so it can be loaded someplace besides the default 1MB. 1467 The relocations tend to make the kernel binary about 10% larger, 1468 but are discarded at runtime. 1469 1470 One use is for the kexec on panic case where the recovery kernel 1471 must live at a different physical address than the primary 1472 kernel. 1473 1474 Note: If CONFIG_RELOCATABLE=y, then the kernel runs from the address 1475 it has been loaded at and the compile time physical address 1476 (CONFIG_PHYSICAL_START) is ignored. 1477 1478config PHYSICAL_ALIGN 1479 hex 1480 prompt "Alignment value to which kernel should be aligned" if X86_32 1481 default "0x100000" if X86_32 1482 default "0x200000" if X86_64 1483 range 0x2000 0x400000 1484 help 1485 This value puts the alignment restrictions on physical address 1486 where kernel is loaded and run from. Kernel is compiled for an 1487 address which meets above alignment restriction. 1488 1489 If bootloader loads the kernel at a non-aligned address and 1490 CONFIG_RELOCATABLE is set, kernel will move itself to nearest 1491 address aligned to above value and run from there. 1492 1493 If bootloader loads the kernel at a non-aligned address and 1494 CONFIG_RELOCATABLE is not set, kernel will ignore the run time 1495 load address and decompress itself to the address it has been 1496 compiled for and run from there. The address for which kernel is 1497 compiled already meets above alignment restrictions. Hence the 1498 end result is that kernel runs from a physical address meeting 1499 above alignment restrictions. 1500 1501 Don't change this unless you know what you are doing. 1502 1503config HOTPLUG_CPU 1504 bool "Support for hot-pluggable CPUs" 1505 depends on SMP && HOTPLUG && !X86_VOYAGER 1506 ---help--- 1507 Say Y here to allow turning CPUs off and on. CPUs can be 1508 controlled through /sys/devices/system/cpu. 1509 ( Note: power management support will enable this option 1510 automatically on SMP systems. ) 1511 Say N if you want to disable CPU hotplug. 1512 1513config COMPAT_VDSO 1514 def_bool y 1515 prompt "Compat VDSO support" 1516 depends on X86_32 || IA32_EMULATION 1517 help 1518 Map the 32-bit VDSO to the predictable old-style address too. 1519 ---help--- 1520 Say N here if you are running a sufficiently recent glibc 1521 version (2.3.3 or later), to remove the high-mapped 1522 VDSO mapping and to exclusively use the randomized VDSO. 1523 1524 If unsure, say Y. 1525 1526config CMDLINE_BOOL 1527 bool "Built-in kernel command line" 1528 default n 1529 help 1530 Allow for specifying boot arguments to the kernel at 1531 build time. On some systems (e.g. embedded ones), it is 1532 necessary or convenient to provide some or all of the 1533 kernel boot arguments with the kernel itself (that is, 1534 to not rely on the boot loader to provide them.) 1535 1536 To compile command line arguments into the kernel, 1537 set this option to 'Y', then fill in the 1538 the boot arguments in CONFIG_CMDLINE. 1539 1540 Systems with fully functional boot loaders (i.e. non-embedded) 1541 should leave this option set to 'N'. 1542 1543config CMDLINE 1544 string "Built-in kernel command string" 1545 depends on CMDLINE_BOOL 1546 default "" 1547 help 1548 Enter arguments here that should be compiled into the kernel 1549 image and used at boot time. If the boot loader provides a 1550 command line at boot time, it is appended to this string to 1551 form the full kernel command line, when the system boots. 1552 1553 However, you can use the CONFIG_CMDLINE_OVERRIDE option to 1554 change this behavior. 1555 1556 In most cases, the command line (whether built-in or provided 1557 by the boot loader) should specify the device for the root 1558 file system. 1559 1560config CMDLINE_OVERRIDE 1561 bool "Built-in command line overrides boot loader arguments" 1562 default n 1563 depends on CMDLINE_BOOL 1564 help 1565 Set this option to 'Y' to have the kernel ignore the boot loader 1566 command line, and use ONLY the built-in command line. 1567 1568 This is used to work around broken boot loaders. This should 1569 be set to 'N' under normal conditions. 1570 1571endmenu 1572 1573config ARCH_ENABLE_MEMORY_HOTPLUG 1574 def_bool y 1575 depends on X86_64 || (X86_32 && HIGHMEM) 1576 1577config ARCH_ENABLE_MEMORY_HOTREMOVE 1578 def_bool y 1579 depends on MEMORY_HOTPLUG 1580 1581config HAVE_ARCH_EARLY_PFN_TO_NID 1582 def_bool X86_64 1583 depends on NUMA 1584 1585menu "Power management and ACPI options" 1586 depends on !X86_VOYAGER 1587 1588config ARCH_HIBERNATION_HEADER 1589 def_bool y 1590 depends on X86_64 && HIBERNATION 1591 1592source "kernel/power/Kconfig" 1593 1594source "drivers/acpi/Kconfig" 1595 1596config X86_APM_BOOT 1597 bool 1598 default y 1599 depends on APM || APM_MODULE 1600 1601menuconfig APM 1602 tristate "APM (Advanced Power Management) BIOS support" 1603 depends on X86_32 && PM_SLEEP 1604 ---help--- 1605 APM is a BIOS specification for saving power using several different 1606 techniques. This is mostly useful for battery powered laptops with 1607 APM compliant BIOSes. If you say Y here, the system time will be 1608 reset after a RESUME operation, the /proc/apm device will provide 1609 battery status information, and user-space programs will receive 1610 notification of APM "events" (e.g. battery status change). 1611 1612 If you select "Y" here, you can disable actual use of the APM 1613 BIOS by passing the "apm=off" option to the kernel at boot time. 1614 1615 Note that the APM support is almost completely disabled for 1616 machines with more than one CPU. 1617 1618 In order to use APM, you will need supporting software. For location 1619 and more information, read <file:Documentation/power/pm.txt> and the 1620 Battery Powered Linux mini-HOWTO, available from 1621 <http://www.tldp.org/docs.html#howto>. 1622 1623 This driver does not spin down disk drives (see the hdparm(8) 1624 manpage ("man 8 hdparm") for that), and it doesn't turn off 1625 VESA-compliant "green" monitors. 1626 1627 This driver does not support the TI 4000M TravelMate and the ACER 1628 486/DX4/75 because they don't have compliant BIOSes. Many "green" 1629 desktop machines also don't have compliant BIOSes, and this driver 1630 may cause those machines to panic during the boot phase. 1631 1632 Generally, if you don't have a battery in your machine, there isn't 1633 much point in using this driver and you should say N. If you get 1634 random kernel OOPSes or reboots that don't seem to be related to 1635 anything, try disabling/enabling this option (or disabling/enabling 1636 APM in your BIOS). 1637 1638 Some other things you should try when experiencing seemingly random, 1639 "weird" problems: 1640 1641 1) make sure that you have enough swap space and that it is 1642 enabled. 1643 2) pass the "no-hlt" option to the kernel 1644 3) switch on floating point emulation in the kernel and pass 1645 the "no387" option to the kernel 1646 4) pass the "floppy=nodma" option to the kernel 1647 5) pass the "mem=4M" option to the kernel (thereby disabling 1648 all but the first 4 MB of RAM) 1649 6) make sure that the CPU is not over clocked. 1650 7) read the sig11 FAQ at <http://www.bitwizard.nl/sig11/> 1651 8) disable the cache from your BIOS settings 1652 9) install a fan for the video card or exchange video RAM 1653 10) install a better fan for the CPU 1654 11) exchange RAM chips 1655 12) exchange the motherboard. 1656 1657 To compile this driver as a module, choose M here: the 1658 module will be called apm. 1659 1660if APM 1661 1662config APM_IGNORE_USER_SUSPEND 1663 bool "Ignore USER SUSPEND" 1664 help 1665 This option will ignore USER SUSPEND requests. On machines with a 1666 compliant APM BIOS, you want to say N. However, on the NEC Versa M 1667 series notebooks, it is necessary to say Y because of a BIOS bug. 1668 1669config APM_DO_ENABLE 1670 bool "Enable PM at boot time" 1671 ---help--- 1672 Enable APM features at boot time. From page 36 of the APM BIOS 1673 specification: "When disabled, the APM BIOS does not automatically 1674 power manage devices, enter the Standby State, enter the Suspend 1675 State, or take power saving steps in response to CPU Idle calls." 1676 This driver will make CPU Idle calls when Linux is idle (unless this 1677 feature is turned off -- see "Do CPU IDLE calls", below). This 1678 should always save battery power, but more complicated APM features 1679 will be dependent on your BIOS implementation. You may need to turn 1680 this option off if your computer hangs at boot time when using APM 1681 support, or if it beeps continuously instead of suspending. Turn 1682 this off if you have a NEC UltraLite Versa 33/C or a Toshiba 1683 T400CDT. This is off by default since most machines do fine without 1684 this feature. 1685 1686config APM_CPU_IDLE 1687 bool "Make CPU Idle calls when idle" 1688 help 1689 Enable calls to APM CPU Idle/CPU Busy inside the kernel's idle loop. 1690 On some machines, this can activate improved power savings, such as 1691 a slowed CPU clock rate, when the machine is idle. These idle calls 1692 are made after the idle loop has run for some length of time (e.g., 1693 333 mS). On some machines, this will cause a hang at boot time or 1694 whenever the CPU becomes idle. (On machines with more than one CPU, 1695 this option does nothing.) 1696 1697config APM_DISPLAY_BLANK 1698 bool "Enable console blanking using APM" 1699 help 1700 Enable console blanking using the APM. Some laptops can use this to 1701 turn off the LCD backlight when the screen blanker of the Linux 1702 virtual console blanks the screen. Note that this is only used by 1703 the virtual console screen blanker, and won't turn off the backlight 1704 when using the X Window system. This also doesn't have anything to 1705 do with your VESA-compliant power-saving monitor. Further, this 1706 option doesn't work for all laptops -- it might not turn off your 1707 backlight at all, or it might print a lot of errors to the console, 1708 especially if you are using gpm. 1709 1710config APM_ALLOW_INTS 1711 bool "Allow interrupts during APM BIOS calls" 1712 help 1713 Normally we disable external interrupts while we are making calls to 1714 the APM BIOS as a measure to lessen the effects of a badly behaving 1715 BIOS implementation. The BIOS should reenable interrupts if it 1716 needs to. Unfortunately, some BIOSes do not -- especially those in 1717 many of the newer IBM Thinkpads. If you experience hangs when you 1718 suspend, try setting this to Y. Otherwise, say N. 1719 1720endif # APM 1721 1722source "arch/x86/kernel/cpu/cpufreq/Kconfig" 1723 1724source "drivers/cpuidle/Kconfig" 1725 1726source "drivers/idle/Kconfig" 1727 1728endmenu 1729 1730 1731menu "Bus options (PCI etc.)" 1732 1733config PCI 1734 bool "PCI support" 1735 default y 1736 select ARCH_SUPPORTS_MSI if (X86_LOCAL_APIC && X86_IO_APIC) 1737 help 1738 Find out whether you have a PCI motherboard. PCI is the name of a 1739 bus system, i.e. the way the CPU talks to the other stuff inside 1740 your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or 1741 VESA. If you have PCI, say Y, otherwise N. 1742 1743choice 1744 prompt "PCI access mode" 1745 depends on X86_32 && PCI 1746 default PCI_GOANY 1747 ---help--- 1748 On PCI systems, the BIOS can be used to detect the PCI devices and 1749 determine their configuration. However, some old PCI motherboards 1750 have BIOS bugs and may crash if this is done. Also, some embedded 1751 PCI-based systems don't have any BIOS at all. Linux can also try to 1752 detect the PCI hardware directly without using the BIOS. 1753 1754 With this option, you can specify how Linux should detect the 1755 PCI devices. If you choose "BIOS", the BIOS will be used, 1756 if you choose "Direct", the BIOS won't be used, and if you 1757 choose "MMConfig", then PCI Express MMCONFIG will be used. 1758 If you choose "Any", the kernel will try MMCONFIG, then the 1759 direct access method and falls back to the BIOS if that doesn't 1760 work. If unsure, go with the default, which is "Any". 1761 1762config PCI_GOBIOS 1763 bool "BIOS" 1764 1765config PCI_GOMMCONFIG 1766 bool "MMConfig" 1767 1768config PCI_GODIRECT 1769 bool "Direct" 1770 1771config PCI_GOOLPC 1772 bool "OLPC" 1773 depends on OLPC 1774 1775config PCI_GOANY 1776 bool "Any" 1777 1778endchoice 1779 1780config PCI_BIOS 1781 def_bool y 1782 depends on X86_32 && PCI && (PCI_GOBIOS || PCI_GOANY) 1783 1784# x86-64 doesn't support PCI BIOS access from long mode so always go direct. 1785config PCI_DIRECT 1786 def_bool y 1787 depends on PCI && (X86_64 || (PCI_GODIRECT || PCI_GOANY || PCI_GOOLPC)) 1788 1789config PCI_MMCONFIG 1790 def_bool y 1791 depends on X86_32 && PCI && ACPI && (PCI_GOMMCONFIG || PCI_GOANY) 1792 1793config PCI_OLPC 1794 def_bool y 1795 depends on PCI && OLPC && (PCI_GOOLPC || PCI_GOANY) 1796 1797config PCI_DOMAINS 1798 def_bool y 1799 depends on PCI 1800 1801config PCI_MMCONFIG 1802 bool "Support mmconfig PCI config space access" 1803 depends on X86_64 && PCI && ACPI 1804 1805config DMAR 1806 bool "Support for DMA Remapping Devices (EXPERIMENTAL)" 1807 depends on X86_64 && PCI_MSI && ACPI && EXPERIMENTAL 1808 help 1809 DMA remapping (DMAR) devices support enables independent address 1810 translations for Direct Memory Access (DMA) from devices. 1811 These DMA remapping devices are reported via ACPI tables 1812 and include PCI device scope covered by these DMA 1813 remapping devices. 1814 1815config DMAR_DEFAULT_ON 1816 def_bool y 1817 prompt "Enable DMA Remapping Devices by default" 1818 depends on DMAR 1819 help 1820 Selecting this option will enable a DMAR device at boot time if 1821 one is found. If this option is not selected, DMAR support can 1822 be enabled by passing intel_iommu=on to the kernel. It is 1823 recommended you say N here while the DMAR code remains 1824 experimental. 1825 1826config DMAR_GFX_WA 1827 def_bool y 1828 prompt "Support for Graphics workaround" 1829 depends on DMAR 1830 help 1831 Current Graphics drivers tend to use physical address 1832 for DMA and avoid using DMA APIs. Setting this config 1833 option permits the IOMMU driver to set a unity map for 1834 all the OS-visible memory. Hence the driver can continue 1835 to use physical addresses for DMA. 1836 1837config DMAR_FLOPPY_WA 1838 def_bool y 1839 depends on DMAR 1840 help 1841 Floppy disk drivers are know to bypass DMA API calls 1842 thereby failing to work when IOMMU is enabled. This 1843 workaround will setup a 1:1 mapping for the first 1844 16M to make floppy (an ISA device) work. 1845 1846config INTR_REMAP 1847 bool "Support for Interrupt Remapping (EXPERIMENTAL)" 1848 depends on X86_64 && X86_IO_APIC && PCI_MSI && ACPI && EXPERIMENTAL 1849 help 1850 Supports Interrupt remapping for IO-APIC and MSI devices. 1851 To use x2apic mode in the CPU's which support x2APIC enhancements or 1852 to support platforms with CPU's having > 8 bit APIC ID, say Y. 1853 1854source "drivers/pci/pcie/Kconfig" 1855 1856source "drivers/pci/Kconfig" 1857 1858# x86_64 have no ISA slots, but do have ISA-style DMA. 1859config ISA_DMA_API 1860 def_bool y 1861 1862if X86_32 1863 1864config ISA 1865 bool "ISA support" 1866 depends on !X86_VOYAGER 1867 help 1868 Find out whether you have ISA slots on your motherboard. ISA is the 1869 name of a bus system, i.e. the way the CPU talks to the other stuff 1870 inside your box. Other bus systems are PCI, EISA, MicroChannel 1871 (MCA) or VESA. ISA is an older system, now being displaced by PCI; 1872 newer boards don't support it. If you have ISA, say Y, otherwise N. 1873 1874config EISA 1875 bool "EISA support" 1876 depends on ISA 1877 ---help--- 1878 The Extended Industry Standard Architecture (EISA) bus was 1879 developed as an open alternative to the IBM MicroChannel bus. 1880 1881 The EISA bus provided some of the features of the IBM MicroChannel 1882 bus while maintaining backward compatibility with cards made for 1883 the older ISA bus. The EISA bus saw limited use between 1988 and 1884 1995 when it was made obsolete by the PCI bus. 1885 1886 Say Y here if you are building a kernel for an EISA-based machine. 1887 1888 Otherwise, say N. 1889 1890source "drivers/eisa/Kconfig" 1891 1892config MCA 1893 bool "MCA support" if !X86_VOYAGER 1894 default y if X86_VOYAGER 1895 help 1896 MicroChannel Architecture is found in some IBM PS/2 machines and 1897 laptops. It is a bus system similar to PCI or ISA. See 1898 <file:Documentation/mca.txt> (and especially the web page given 1899 there) before attempting to build an MCA bus kernel. 1900 1901source "drivers/mca/Kconfig" 1902 1903config SCx200 1904 tristate "NatSemi SCx200 support" 1905 depends on !X86_VOYAGER 1906 help 1907 This provides basic support for National Semiconductor's 1908 (now AMD's) Geode processors. The driver probes for the 1909 PCI-IDs of several on-chip devices, so its a good dependency 1910 for other scx200_* drivers. 1911 1912 If compiled as a module, the driver is named scx200. 1913 1914config SCx200HR_TIMER 1915 tristate "NatSemi SCx200 27MHz High-Resolution Timer Support" 1916 depends on SCx200 && GENERIC_TIME 1917 default y 1918 help 1919 This driver provides a clocksource built upon the on-chip 1920 27MHz high-resolution timer. Its also a workaround for 1921 NSC Geode SC-1100's buggy TSC, which loses time when the 1922 processor goes idle (as is done by the scheduler). The 1923 other workaround is idle=poll boot option. 1924 1925config GEODE_MFGPT_TIMER 1926 def_bool y 1927 prompt "Geode Multi-Function General Purpose Timer (MFGPT) events" 1928 depends on MGEODE_LX && GENERIC_TIME && GENERIC_CLOCKEVENTS 1929 help 1930 This driver provides a clock event source based on the MFGPT 1931 timer(s) in the CS5535 and CS5536 companion chip for the geode. 1932 MFGPTs have a better resolution and max interval than the 1933 generic PIT, and are suitable for use as high-res timers. 1934 1935config OLPC 1936 bool "One Laptop Per Child support" 1937 default n 1938 help 1939 Add support for detecting the unique features of the OLPC 1940 XO hardware. 1941 1942endif # X86_32 1943 1944config K8_NB 1945 def_bool y 1946 depends on AGP_AMD64 || (X86_64 && (GART_IOMMU || (PCI && NUMA))) 1947 1948source "drivers/pcmcia/Kconfig" 1949 1950source "drivers/pci/hotplug/Kconfig" 1951 1952endmenu 1953 1954 1955menu "Executable file formats / Emulations" 1956 1957source "fs/Kconfig.binfmt" 1958 1959config IA32_EMULATION 1960 bool "IA32 Emulation" 1961 depends on X86_64 1962 select COMPAT_BINFMT_ELF 1963 help 1964 Include code to run 32-bit programs under a 64-bit kernel. You should 1965 likely turn this on, unless you're 100% sure that you don't have any 1966 32-bit programs left. 1967 1968config IA32_AOUT 1969 tristate "IA32 a.out support" 1970 depends on IA32_EMULATION 1971 help 1972 Support old a.out binaries in the 32bit emulation. 1973 1974config COMPAT 1975 def_bool y 1976 depends on IA32_EMULATION 1977 1978config COMPAT_FOR_U64_ALIGNMENT 1979 def_bool COMPAT 1980 depends on X86_64 1981 1982config SYSVIPC_COMPAT 1983 def_bool y 1984 depends on COMPAT && SYSVIPC 1985 1986endmenu 1987 1988 1989config HAVE_ATOMIC_IOMAP 1990 def_bool y 1991 depends on X86_32 1992 1993source "net/Kconfig" 1994 1995source "drivers/Kconfig" 1996 1997source "drivers/firmware/Kconfig" 1998 1999source "fs/Kconfig" 2000 2001source "arch/x86/Kconfig.debug" 2002 2003source "security/Kconfig" 2004 2005source "crypto/Kconfig" 2006 2007source "arch/x86/kvm/Kconfig" 2008 2009source "lib/Kconfig" 2010