| # | 
 | # For a description of the syntax of this configuration file, | 
 | # see Documentation/kbuild/kconfig-language.txt. | 
 | # | 
 |  | 
 | mainmenu "Linux Kernel Configuration" | 
 |  | 
 | config X86 | 
 | 	bool | 
 | 	default y | 
 | 	help | 
 | 	  This is Linux's home port.  Linux was originally native to the Intel | 
 | 	  386, and runs on all the later x86 processors including the Intel | 
 | 	  486, 586, Pentiums, and various instruction-set-compatible chips by | 
 | 	  AMD, Cyrix, and others. | 
 |  | 
 | config SEMAPHORE_SLEEPERS | 
 | 	bool | 
 | 	default y | 
 |  | 
 | config MMU | 
 | 	bool | 
 | 	default y | 
 |  | 
 | config SBUS | 
 | 	bool | 
 |  | 
 | config UID16 | 
 | 	bool | 
 | 	default y | 
 |  | 
 | config GENERIC_ISA_DMA | 
 | 	bool | 
 | 	default y | 
 |  | 
 | config GENERIC_IOMAP | 
 | 	bool | 
 | 	default y | 
 |  | 
 | config ARCH_MAY_HAVE_PC_FDC | 
 | 	bool | 
 | 	default y | 
 |  | 
 | source "init/Kconfig" | 
 |  | 
 | menu "Processor type and features" | 
 |  | 
 | choice | 
 | 	prompt "Subarchitecture Type" | 
 | 	default X86_PC | 
 |  | 
 | config X86_PC | 
 | 	bool "PC-compatible" | 
 | 	help | 
 | 	  Choose this option if your computer is a standard PC or compatible. | 
 |  | 
 | config X86_ELAN | 
 | 	bool "AMD Elan" | 
 | 	help | 
 | 	  Select this for an AMD Elan processor. | 
 |  | 
 | 	  Do not use this option for K6/Athlon/Opteron processors! | 
 |  | 
 | 	  If unsure, choose "PC-compatible" instead. | 
 |  | 
 | config X86_VOYAGER | 
 | 	bool "Voyager (NCR)" | 
 | 	help | 
 | 	  Voyager is an MCA-based 32-way capable SMP architecture proprietary | 
 | 	  to NCR Corp.  Machine classes 345x/35xx/4100/51xx are Voyager-based. | 
 |  | 
 | 	  *** WARNING *** | 
 |  | 
 | 	  If you do not specifically know you have a Voyager based machine, | 
 | 	  say N here, otherwise the kernel you build will not be bootable. | 
 |  | 
 | config X86_NUMAQ | 
 | 	bool "NUMAQ (IBM/Sequent)" | 
 | 	select NUMA | 
 | 	help | 
 | 	  This option is used for getting Linux to run on a (IBM/Sequent) NUMA | 
 | 	  multiquad box. This changes the way that processors are bootstrapped, | 
 | 	  and uses Clustered Logical APIC addressing mode instead of Flat Logical. | 
 | 	  You will need a new lynxer.elf file to flash your firmware with - send | 
 | 	  email to <Martin.Bligh@us.ibm.com>. | 
 |  | 
 | config X86_SUMMIT | 
 | 	bool "Summit/EXA (IBM x440)" | 
 | 	depends on SMP | 
 | 	help | 
 | 	  This option is needed for IBM systems that use the Summit/EXA chipset. | 
 | 	  In particular, it is needed for the x440. | 
 |  | 
 | 	  If you don't have one of these computers, you should say N here. | 
 |  | 
 | config X86_BIGSMP | 
 | 	bool "Support for other sub-arch SMP systems with more than 8 CPUs" | 
 | 	depends on SMP | 
 | 	help | 
 | 	  This option is needed for the systems that have more than 8 CPUs | 
 | 	  and if the system is not of any sub-arch type above. | 
 |  | 
 | 	  If you don't have such a system, you should say N here. | 
 |  | 
 | config X86_VISWS | 
 | 	bool "SGI 320/540 (Visual Workstation)" | 
 | 	help | 
 | 	  The SGI Visual Workstation series is an IA32-based workstation | 
 | 	  based on SGI systems chips with some legacy PC hardware attached. | 
 |  | 
 | 	  Say Y here to create a kernel to run on the SGI 320 or 540. | 
 |  | 
 | 	  A kernel compiled for the Visual Workstation will not run on PCs | 
 | 	  and vice versa. See <file:Documentation/sgi-visws.txt> for details. | 
 |  | 
 | config X86_GENERICARCH | 
 |        bool "Generic architecture (Summit, bigsmp, ES7000, default)" | 
 |        depends on SMP | 
 |        help | 
 |           This option compiles in the Summit, bigsmp, ES7000, default subarchitectures. | 
 | 	  It is intended for a generic binary kernel. | 
 |  | 
 | config X86_ES7000 | 
 | 	bool "Support for Unisys ES7000 IA32 series" | 
 | 	depends on SMP | 
 | 	help | 
 | 	  Support for Unisys ES7000 systems.  Say 'Y' here if this kernel is | 
 | 	  supposed to run on an IA32-based Unisys ES7000 system. | 
 | 	  Only choose this option if you have such a system, otherwise you | 
 | 	  should say N here. | 
 |  | 
 | endchoice | 
 |  | 
 | config ACPI_SRAT | 
 | 	bool | 
 | 	default y | 
 | 	depends on NUMA && (X86_SUMMIT || X86_GENERICARCH) | 
 |  | 
 | config X86_SUMMIT_NUMA | 
 | 	bool | 
 | 	default y | 
 | 	depends on NUMA && (X86_SUMMIT || X86_GENERICARCH) | 
 |  | 
 | config X86_CYCLONE_TIMER | 
 | 	bool | 
 | 	default y | 
 | 	depends on X86_SUMMIT || X86_GENERICARCH | 
 |  | 
 | config ES7000_CLUSTERED_APIC | 
 | 	bool | 
 | 	default y | 
 | 	depends on SMP && X86_ES7000 && MPENTIUMIII | 
 |  | 
 | if !X86_ELAN | 
 |  | 
 | choice | 
 | 	prompt "Processor family" | 
 | 	default M686 | 
 |  | 
 | config M386 | 
 | 	bool "386" | 
 | 	---help--- | 
 | 	  This is the processor type of your CPU. This information is used for | 
 | 	  optimizing purposes. In order to compile a kernel that can run on | 
 | 	  all x86 CPU types (albeit not optimally fast), you can specify | 
 | 	  "386" here. | 
 |  | 
 | 	  The kernel will not necessarily run on earlier architectures than | 
 | 	  the one you have chosen, e.g. a Pentium optimized kernel will run on | 
 | 	  a PPro, but not necessarily on a i486. | 
 |  | 
 | 	  Here are the settings recommended for greatest speed: | 
 | 	  - "386" for the AMD/Cyrix/Intel 386DX/DXL/SL/SLC/SX, Cyrix/TI | 
 | 	  486DLC/DLC2, UMC 486SX-S and NexGen Nx586.  Only "386" kernels | 
 | 	  will run on a 386 class machine. | 
 | 	  - "486" for the AMD/Cyrix/IBM/Intel 486DX/DX2/DX4 or | 
 | 	  SL/SLC/SLC2/SLC3/SX/SX2 and UMC U5D or U5S. | 
 | 	  - "586" for generic Pentium CPUs lacking the TSC | 
 | 	  (time stamp counter) register. | 
 | 	  - "Pentium-Classic" for the Intel Pentium. | 
 | 	  - "Pentium-MMX" for the Intel Pentium MMX. | 
 | 	  - "Pentium-Pro" for the Intel Pentium Pro. | 
 | 	  - "Pentium-II" for the Intel Pentium II or pre-Coppermine Celeron. | 
 | 	  - "Pentium-III" for the Intel Pentium III or Coppermine Celeron. | 
 | 	  - "Pentium-4" for the Intel Pentium 4 or P4-based Celeron. | 
 | 	  - "K6" for the AMD K6, K6-II and K6-III (aka K6-3D). | 
 | 	  - "Athlon" for the AMD K7 family (Athlon/Duron/Thunderbird). | 
 | 	  - "Crusoe" for the Transmeta Crusoe series. | 
 | 	  - "Efficeon" for the Transmeta Efficeon series. | 
 | 	  - "Winchip-C6" for original IDT Winchip. | 
 | 	  - "Winchip-2" for IDT Winchip 2. | 
 | 	  - "Winchip-2A" for IDT Winchips with 3dNow! capabilities. | 
 | 	  - "GeodeGX1" for Geode GX1 (Cyrix MediaGX). | 
 | 	  - "CyrixIII/VIA C3" for VIA Cyrix III or VIA C3. | 
 | 	  - "VIA C3-2 for VIA C3-2 "Nehemiah" (model 9 and above). | 
 |  | 
 | 	  If you don't know what to do, choose "386". | 
 |  | 
 | config M486 | 
 | 	bool "486" | 
 | 	help | 
 | 	  Select this for a 486 series processor, either Intel or one of the | 
 | 	  compatible processors from AMD, Cyrix, IBM, or Intel.  Includes DX, | 
 | 	  DX2, and DX4 variants; also SL/SLC/SLC2/SLC3/SX/SX2 and UMC U5D or | 
 | 	  U5S. | 
 |  | 
 | config M586 | 
 | 	bool "586/K5/5x86/6x86/6x86MX" | 
 | 	help | 
 | 	  Select this for an 586 or 686 series processor such as the AMD K5, | 
 | 	  the Cyrix 5x86, 6x86 and 6x86MX.  This choice does not | 
 | 	  assume the RDTSC (Read Time Stamp Counter) instruction. | 
 |  | 
 | config M586TSC | 
 | 	bool "Pentium-Classic" | 
 | 	help | 
 | 	  Select this for a Pentium Classic processor with the RDTSC (Read | 
 | 	  Time Stamp Counter) instruction for benchmarking. | 
 |  | 
 | config M586MMX | 
 | 	bool "Pentium-MMX" | 
 | 	help | 
 | 	  Select this for a Pentium with the MMX graphics/multimedia | 
 | 	  extended instructions. | 
 |  | 
 | config M686 | 
 | 	bool "Pentium-Pro" | 
 | 	help | 
 | 	  Select this for Intel Pentium Pro chips.  This enables the use of | 
 | 	  Pentium Pro extended instructions, and disables the init-time guard | 
 | 	  against the f00f bug found in earlier Pentiums. | 
 |  | 
 | config MPENTIUMII | 
 | 	bool "Pentium-II/Celeron(pre-Coppermine)" | 
 | 	help | 
 | 	  Select this for Intel chips based on the Pentium-II and | 
 | 	  pre-Coppermine Celeron core.  This option enables an unaligned | 
 | 	  copy optimization, compiles the kernel with optimization flags | 
 | 	  tailored for the chip, and applies any applicable Pentium Pro | 
 | 	  optimizations. | 
 |  | 
 | config MPENTIUMIII | 
 | 	bool "Pentium-III/Celeron(Coppermine)/Pentium-III Xeon" | 
 | 	help | 
 | 	  Select this for Intel chips based on the Pentium-III and | 
 | 	  Celeron-Coppermine core.  This option enables use of some | 
 | 	  extended prefetch instructions in addition to the Pentium II | 
 | 	  extensions. | 
 |  | 
 | config MPENTIUMM | 
 | 	bool "Pentium M" | 
 | 	help | 
 | 	  Select this for Intel Pentium M (not Pentium-4 M) | 
 | 	  notebook chips. | 
 |  | 
 | config MPENTIUM4 | 
 | 	bool "Pentium-4/Celeron(P4-based)/Pentium-4 M/Xeon" | 
 | 	help | 
 | 	  Select this for Intel Pentium 4 chips.  This includes the | 
 | 	  Pentium 4, P4-based Celeron and Xeon, and Pentium-4 M | 
 | 	  (not Pentium M) chips.  This option enables compile flags | 
 | 	  optimized for the chip, uses the correct cache shift, and | 
 | 	  applies any applicable Pentium III optimizations. | 
 |  | 
 | config MK6 | 
 | 	bool "K6/K6-II/K6-III" | 
 | 	help | 
 | 	  Select this for an AMD K6-family processor.  Enables use of | 
 | 	  some extended instructions, and passes appropriate optimization | 
 | 	  flags to GCC. | 
 |  | 
 | config MK7 | 
 | 	bool "Athlon/Duron/K7" | 
 | 	help | 
 | 	  Select this for an AMD Athlon K7-family processor.  Enables use of | 
 | 	  some extended instructions, and passes appropriate optimization | 
 | 	  flags to GCC. | 
 |  | 
 | config MK8 | 
 | 	bool "Opteron/Athlon64/Hammer/K8" | 
 | 	help | 
 | 	  Select this for an AMD Opteron or Athlon64 Hammer-family processor.  Enables | 
 | 	  use of some extended instructions, and passes appropriate optimization | 
 | 	  flags to GCC. | 
 |  | 
 | config MCRUSOE | 
 | 	bool "Crusoe" | 
 | 	help | 
 | 	  Select this for a Transmeta Crusoe processor.  Treats the processor | 
 | 	  like a 586 with TSC, and sets some GCC optimization flags (like a | 
 | 	  Pentium Pro with no alignment requirements). | 
 |  | 
 | config MEFFICEON | 
 | 	bool "Efficeon" | 
 | 	help | 
 | 	  Select this for a Transmeta Efficeon processor. | 
 |  | 
 | config MWINCHIPC6 | 
 | 	bool "Winchip-C6" | 
 | 	help | 
 | 	  Select this for an IDT Winchip C6 chip.  Linux and GCC | 
 | 	  treat this chip as a 586TSC with some extended instructions | 
 | 	  and alignment requirements. | 
 |  | 
 | config MWINCHIP2 | 
 | 	bool "Winchip-2" | 
 | 	help | 
 | 	  Select this for an IDT Winchip-2.  Linux and GCC | 
 | 	  treat this chip as a 586TSC with some extended instructions | 
 | 	  and alignment requirements. | 
 |  | 
 | config MWINCHIP3D | 
 | 	bool "Winchip-2A/Winchip-3" | 
 | 	help | 
 | 	  Select this for an IDT Winchip-2A or 3.  Linux and GCC | 
 | 	  treat this chip as a 586TSC with some extended instructions | 
 | 	  and alignment reqirements.  Also enable out of order memory | 
 | 	  stores for this CPU, which can increase performance of some | 
 | 	  operations. | 
 |  | 
 | config MGEODEGX1 | 
 | 	bool "GeodeGX1" | 
 | 	help | 
 | 	  Select this for a Geode GX1 (Cyrix MediaGX) chip. | 
 |  | 
 | config MCYRIXIII | 
 | 	bool "CyrixIII/VIA-C3" | 
 | 	help | 
 | 	  Select this for a Cyrix III or C3 chip.  Presently Linux and GCC | 
 | 	  treat this chip as a generic 586. Whilst the CPU is 686 class, | 
 | 	  it lacks the cmov extension which gcc assumes is present when | 
 | 	  generating 686 code. | 
 | 	  Note that Nehemiah (Model 9) and above will not boot with this | 
 | 	  kernel due to them lacking the 3DNow! instructions used in earlier | 
 | 	  incarnations of the CPU. | 
 |  | 
 | config MVIAC3_2 | 
 | 	bool "VIA C3-2 (Nehemiah)" | 
 | 	help | 
 | 	  Select this for a VIA C3 "Nehemiah". Selecting this enables usage | 
 | 	  of SSE and tells gcc to treat the CPU as a 686. | 
 | 	  Note, this kernel will not boot on older (pre model 9) C3s. | 
 |  | 
 | endchoice | 
 |  | 
 | config X86_GENERIC | 
 |        bool "Generic x86 support" | 
 |        help | 
 | 	  Instead of just including optimizations for the selected | 
 | 	  x86 variant (e.g. PII, Crusoe or Athlon), include some more | 
 | 	  generic optimizations as well. This will make the kernel | 
 | 	  perform better on x86 CPUs other than that selected. | 
 |  | 
 | 	  This is really intended for distributors who need more | 
 | 	  generic optimizations. | 
 |  | 
 | endif | 
 |  | 
 | # | 
 | # Define implied options from the CPU selection here | 
 | # | 
 | config X86_CMPXCHG | 
 | 	bool | 
 | 	depends on !M386 | 
 | 	default y | 
 |  | 
 | config X86_XADD | 
 | 	bool | 
 | 	depends on !M386 | 
 | 	default y | 
 |  | 
 | config X86_L1_CACHE_SHIFT | 
 | 	int | 
 | 	default "7" if MPENTIUM4 || X86_GENERIC | 
 | 	default "4" if X86_ELAN || M486 || M386 | 
 | 	default "5" if MWINCHIP3D || MWINCHIP2 || MWINCHIPC6 || MCRUSOE || MEFFICEON || MCYRIXIII || MK6 || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || M586 || MVIAC3_2 || MGEODEGX1 | 
 | 	default "6" if MK7 || MK8 || MPENTIUMM | 
 |  | 
 | config RWSEM_GENERIC_SPINLOCK | 
 | 	bool | 
 | 	depends on M386 | 
 | 	default y | 
 |  | 
 | config RWSEM_XCHGADD_ALGORITHM | 
 | 	bool | 
 | 	depends on !M386 | 
 | 	default y | 
 |  | 
 | config GENERIC_CALIBRATE_DELAY | 
 | 	bool | 
 | 	default y | 
 |  | 
 | config X86_PPRO_FENCE | 
 | 	bool | 
 | 	depends on M686 || M586MMX || M586TSC || M586 || M486 || M386 || MGEODEGX1 | 
 | 	default y | 
 |  | 
 | config X86_F00F_BUG | 
 | 	bool | 
 | 	depends on M586MMX || M586TSC || M586 || M486 || M386 | 
 | 	default y | 
 |  | 
 | config X86_WP_WORKS_OK | 
 | 	bool | 
 | 	depends on !M386 | 
 | 	default y | 
 |  | 
 | config X86_INVLPG | 
 | 	bool | 
 | 	depends on !M386 | 
 | 	default y | 
 |  | 
 | config X86_BSWAP | 
 | 	bool | 
 | 	depends on !M386 | 
 | 	default y | 
 |  | 
 | config X86_POPAD_OK | 
 | 	bool | 
 | 	depends on !M386 | 
 | 	default y | 
 |  | 
 | config X86_ALIGNMENT_16 | 
 | 	bool | 
 | 	depends on MWINCHIP3D || MWINCHIP2 || MWINCHIPC6 || MCYRIXIII || X86_ELAN || MK6 || M586MMX || M586TSC || M586 || M486 || MVIAC3_2 || MGEODEGX1 | 
 | 	default y | 
 |  | 
 | config X86_GOOD_APIC | 
 | 	bool | 
 | 	depends on MK7 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || MK8 || MEFFICEON | 
 | 	default y | 
 |  | 
 | config X86_INTEL_USERCOPY | 
 | 	bool | 
 | 	depends on MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M586MMX || X86_GENERIC || MK8 || MK7 || MEFFICEON | 
 | 	default y | 
 |  | 
 | config X86_USE_PPRO_CHECKSUM | 
 | 	bool | 
 | 	depends on MWINCHIP3D || MWINCHIP2 || MWINCHIPC6 || MCYRIXIII || MK7 || MK6 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || MK8 || MVIAC3_2 || MEFFICEON | 
 | 	default y | 
 |  | 
 | config X86_USE_3DNOW | 
 | 	bool | 
 | 	depends on MCYRIXIII || MK7 | 
 | 	default y | 
 |  | 
 | config X86_OOSTORE | 
 | 	bool | 
 | 	depends on (MWINCHIP3D || MWINCHIP2 || MWINCHIPC6) && MTRR | 
 | 	default y | 
 |  | 
 | config HPET_TIMER | 
 | 	bool "HPET Timer Support" | 
 | 	help | 
 | 	  This enables the use of the HPET for the kernel's internal timer. | 
 | 	  HPET is the next generation timer replacing legacy 8254s. | 
 | 	  You can safely choose Y here.  However, HPET will only be | 
 | 	  activated if the platform and the BIOS support this feature. | 
 | 	  Otherwise the 8254 will be used for timing services. | 
 |  | 
 | 	  Choose N to continue using the legacy 8254 timer. | 
 |  | 
 | config HPET_EMULATE_RTC | 
 | 	bool | 
 | 	depends on HPET_TIMER && RTC=y | 
 | 	default y | 
 |  | 
 | config SMP | 
 | 	bool "Symmetric multi-processing support" | 
 | 	---help--- | 
 | 	  This enables support for systems with more than one CPU. If you have | 
 | 	  a system with only one CPU, like most personal computers, say N. If | 
 | 	  you have a system with more than one CPU, say Y. | 
 |  | 
 | 	  If you say N here, the kernel will run on single and multiprocessor | 
 | 	  machines, but will use only one CPU of a multiprocessor machine. If | 
 | 	  you say Y here, the kernel will run on many, but not all, | 
 | 	  singleprocessor machines. On a singleprocessor machine, the kernel | 
 | 	  will run faster if you say N here. | 
 |  | 
 | 	  Note that if you say Y here and choose architecture "586" or | 
 | 	  "Pentium" under "Processor family", the kernel will not work on 486 | 
 | 	  architectures. Similarly, multiprocessor kernels for the "PPro" | 
 | 	  architecture may not work on all Pentium based boards. | 
 |  | 
 | 	  People using multiprocessor machines who say Y here should also say | 
 | 	  Y to "Enhanced Real Time Clock Support", below. The "Advanced Power | 
 | 	  Management" code will be disabled if you say Y here. | 
 |  | 
 | 	  See also the <file:Documentation/smp.txt>, | 
 | 	  <file:Documentation/i386/IO-APIC.txt>, | 
 | 	  <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at | 
 | 	  <http://www.tldp.org/docs.html#howto>. | 
 |  | 
 | 	  If you don't know what to do here, say N. | 
 |  | 
 | config NR_CPUS | 
 | 	int "Maximum number of CPUs (2-255)" | 
 | 	range 2 255 | 
 | 	depends on SMP | 
 | 	default "32" if X86_NUMAQ || X86_SUMMIT || X86_BIGSMP || X86_ES7000 | 
 | 	default "8" | 
 | 	help | 
 | 	  This allows you to specify the maximum number of CPUs which this | 
 | 	  kernel will support.  The maximum supported value is 255 and the | 
 | 	  minimum value which makes sense is 2. | 
 |  | 
 | 	  This is purely to save memory - each supported CPU adds | 
 | 	  approximately eight kilobytes to the kernel image. | 
 |  | 
 | config SCHED_SMT | 
 | 	bool "SMT (Hyperthreading) scheduler support" | 
 | 	depends on SMP | 
 | 	default off | 
 | 	help | 
 | 	  SMT scheduler support improves the CPU scheduler's decision making | 
 | 	  when dealing with Intel Pentium 4 chips with HyperThreading at a | 
 | 	  cost of slightly increased overhead in some places. If unsure say | 
 | 	  N here. | 
 |  | 
 | source "kernel/Kconfig.preempt" | 
 |  | 
 | config X86_UP_APIC | 
 | 	bool "Local APIC support on uniprocessors" | 
 | 	depends on !SMP && !(X86_VISWS || X86_VOYAGER) | 
 | 	help | 
 | 	  A local APIC (Advanced Programmable Interrupt Controller) is an | 
 | 	  integrated interrupt controller in the CPU. If you have a single-CPU | 
 | 	  system which has a processor with a local APIC, you can say Y here to | 
 | 	  enable and use it. If you say Y here even though your machine doesn't | 
 | 	  have a local APIC, then the kernel will still run with no slowdown at | 
 | 	  all. The local APIC supports CPU-generated self-interrupts (timer, | 
 | 	  performance counters), and the NMI watchdog which detects hard | 
 | 	  lockups. | 
 |  | 
 | config X86_UP_IOAPIC | 
 | 	bool "IO-APIC support on uniprocessors" | 
 | 	depends on X86_UP_APIC | 
 | 	help | 
 | 	  An IO-APIC (I/O Advanced Programmable Interrupt Controller) is an | 
 | 	  SMP-capable replacement for PC-style interrupt controllers. Most | 
 | 	  SMP systems and many recent uniprocessor systems have one. | 
 |  | 
 | 	  If you have a single-CPU system with an IO-APIC, you can say Y here | 
 | 	  to use it. If you say Y here even though your machine doesn't have | 
 | 	  an IO-APIC, then the kernel will still run with no slowdown at all. | 
 |  | 
 | config X86_LOCAL_APIC | 
 | 	bool | 
 | 	depends on X86_UP_APIC || ((X86_VISWS || SMP) && !X86_VOYAGER) | 
 | 	default y | 
 |  | 
 | config X86_IO_APIC | 
 | 	bool | 
 | 	depends on X86_UP_IOAPIC || (SMP && !(X86_VISWS || X86_VOYAGER)) | 
 | 	default y | 
 |  | 
 | config X86_VISWS_APIC | 
 | 	bool | 
 | 	depends on X86_VISWS | 
 | 	default y | 
 |  | 
 | config X86_TSC | 
 | 	bool | 
 | 	depends on (MWINCHIP3D || MWINCHIP2 || MCRUSOE || MEFFICEON || MCYRIXIII || MK7 || MK6 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || MK8 || MVIAC3_2 || MGEODEGX1) && !X86_NUMAQ | 
 | 	default y | 
 |  | 
 | config X86_MCE | 
 | 	bool "Machine Check Exception" | 
 | 	depends on !X86_VOYAGER | 
 | 	---help--- | 
 | 	  Machine Check Exception support allows the processor to notify the | 
 | 	  kernel if it detects a problem (e.g. overheating, component failure). | 
 | 	  The action the kernel takes depends on the severity of the problem, | 
 | 	  ranging from a warning message on the console, to halting the machine. | 
 | 	  Your processor must be a Pentium or newer to support this - check the | 
 | 	  flags in /proc/cpuinfo for mce.  Note that some older Pentium systems | 
 | 	  have a design flaw which leads to false MCE events - hence MCE is | 
 | 	  disabled on all P5 processors, unless explicitly enabled with "mce" | 
 | 	  as a boot argument.  Similarly, if MCE is built in and creates a | 
 | 	  problem on some new non-standard machine, you can boot with "nomce" | 
 | 	  to disable it.  MCE support simply ignores non-MCE processors like | 
 | 	  the 386 and 486, so nearly everyone can say Y here. | 
 |  | 
 | config X86_MCE_NONFATAL | 
 | 	tristate "Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 4" | 
 | 	depends on X86_MCE | 
 | 	help | 
 | 	  Enabling this feature starts a timer that triggers every 5 seconds which | 
 | 	  will look at the machine check registers to see if anything happened. | 
 | 	  Non-fatal problems automatically get corrected (but still logged). | 
 | 	  Disable this if you don't want to see these messages. | 
 | 	  Seeing the messages this option prints out may be indicative of dying hardware, | 
 | 	  or out-of-spec (ie, overclocked) hardware. | 
 | 	  This option only does something on certain CPUs. | 
 | 	  (AMD Athlon/Duron and Intel Pentium 4) | 
 |  | 
 | config X86_MCE_P4THERMAL | 
 | 	bool "check for P4 thermal throttling interrupt." | 
 | 	depends on X86_MCE && (X86_UP_APIC || SMP) && !X86_VISWS | 
 | 	help | 
 | 	  Enabling this feature will cause a message to be printed when the P4 | 
 | 	  enters thermal throttling. | 
 |  | 
 | config TOSHIBA | 
 | 	tristate "Toshiba Laptop support" | 
 | 	---help--- | 
 | 	  This adds a driver to safely access the System Management Mode of | 
 | 	  the CPU on Toshiba portables with a genuine Toshiba BIOS. It does | 
 | 	  not work on models with a Phoenix BIOS. The System Management Mode | 
 | 	  is used to set the BIOS and power saving options on Toshiba portables. | 
 |  | 
 | 	  For information on utilities to make use of this driver see the | 
 | 	  Toshiba Linux utilities web site at: | 
 | 	  <http://www.buzzard.org.uk/toshiba/>. | 
 |  | 
 | 	  Say Y if you intend to run this kernel on a Toshiba portable. | 
 | 	  Say N otherwise. | 
 |  | 
 | config I8K | 
 | 	tristate "Dell laptop support" | 
 | 	---help--- | 
 | 	  This adds a driver to safely access the System Management Mode | 
 | 	  of the CPU on the Dell Inspiron 8000. The System Management Mode | 
 | 	  is used to read cpu temperature and cooling fan status and to | 
 | 	  control the fans on the I8K portables. | 
 |  | 
 | 	  This driver has been tested only on the Inspiron 8000 but it may | 
 | 	  also work with other Dell laptops. You can force loading on other | 
 | 	  models by passing the parameter `force=1' to the module. Use at | 
 | 	  your own risk. | 
 |  | 
 | 	  For information on utilities to make use of this driver see the | 
 | 	  I8K Linux utilities web site at: | 
 | 	  <http://people.debian.org/~dz/i8k/> | 
 |  | 
 | 	  Say Y if you intend to run this kernel on a Dell Inspiron 8000. | 
 | 	  Say N otherwise. | 
 |  | 
 | config X86_REBOOTFIXUPS | 
 | 	bool "Enable X86 board specific fixups for reboot" | 
 | 	depends on X86 | 
 | 	default n | 
 | 	---help--- | 
 | 	  This enables chipset and/or board specific fixups to be done | 
 | 	  in order to get reboot to work correctly. This is only needed on | 
 | 	  some combinations of hardware and BIOS. The symptom, for which | 
 | 	  this config is intended, is when reboot ends with a stalled/hung | 
 | 	  system. | 
 |  | 
 | 	  Currently, the only fixup is for the Geode GX1/CS5530A/TROM2.1. | 
 | 	  combination. | 
 |  | 
 | 	  Say Y if you want to enable the fixup. Currently, it's safe to | 
 | 	  enable this option even if you don't need it. | 
 | 	  Say N otherwise. | 
 |  | 
 | config MICROCODE | 
 | 	tristate "/dev/cpu/microcode - Intel IA32 CPU microcode support" | 
 | 	---help--- | 
 | 	  If you say Y here and also to "/dev file system support" in the | 
 | 	  'File systems' section, you will be able to update the microcode on | 
 | 	  Intel processors in the IA32 family, e.g. Pentium Pro, Pentium II, | 
 | 	  Pentium III, Pentium 4, Xeon etc.  You will obviously need the | 
 | 	  actual microcode binary data itself which is not shipped with the | 
 | 	  Linux kernel. | 
 |  | 
 | 	  For latest news and information on obtaining all the required | 
 | 	  ingredients for this driver, check: | 
 | 	  <http://www.urbanmyth.org/microcode/>. | 
 |  | 
 | 	  To compile this driver as a module, choose M here: the | 
 | 	  module will be called microcode. | 
 |  | 
 | config X86_MSR | 
 | 	tristate "/dev/cpu/*/msr - Model-specific register support" | 
 | 	help | 
 | 	  This device gives privileged processes access to the x86 | 
 | 	  Model-Specific Registers (MSRs).  It is a character device with | 
 | 	  major 202 and minors 0 to 31 for /dev/cpu/0/msr to /dev/cpu/31/msr. | 
 | 	  MSR accesses are directed to a specific CPU on multi-processor | 
 | 	  systems. | 
 |  | 
 | config X86_CPUID | 
 | 	tristate "/dev/cpu/*/cpuid - CPU information support" | 
 | 	help | 
 | 	  This device gives processes access to the x86 CPUID instruction to | 
 | 	  be executed on a specific processor.  It is a character device | 
 | 	  with major 203 and minors 0 to 31 for /dev/cpu/0/cpuid to | 
 | 	  /dev/cpu/31/cpuid. | 
 |  | 
 | source "drivers/firmware/Kconfig" | 
 |  | 
 | choice | 
 | 	prompt "High Memory Support" | 
 | 	default NOHIGHMEM | 
 |  | 
 | config NOHIGHMEM | 
 | 	bool "off" | 
 | 	---help--- | 
 | 	  Linux can use up to 64 Gigabytes of physical memory on x86 systems. | 
 | 	  However, the address space of 32-bit x86 processors is only 4 | 
 | 	  Gigabytes large. That means that, if you have a large amount of | 
 | 	  physical memory, not all of it can be "permanently mapped" by the | 
 | 	  kernel. The physical memory that's not permanently mapped is called | 
 | 	  "high memory". | 
 |  | 
 | 	  If you are compiling a kernel which will never run on a machine with | 
 | 	  more than 1 Gigabyte total physical RAM, answer "off" here (default | 
 | 	  choice and suitable for most users). This will result in a "3GB/1GB" | 
 | 	  split: 3GB are mapped so that each process sees a 3GB virtual memory | 
 | 	  space and the remaining part of the 4GB virtual memory space is used | 
 | 	  by the kernel to permanently map as much physical memory as | 
 | 	  possible. | 
 |  | 
 | 	  If the machine has between 1 and 4 Gigabytes physical RAM, then | 
 | 	  answer "4GB" here. | 
 |  | 
 | 	  If more than 4 Gigabytes is used then answer "64GB" here. This | 
 | 	  selection turns Intel PAE (Physical Address Extension) mode on. | 
 | 	  PAE implements 3-level paging on IA32 processors. PAE is fully | 
 | 	  supported by Linux, PAE mode is implemented on all recent Intel | 
 | 	  processors (Pentium Pro and better). NOTE: If you say "64GB" here, | 
 | 	  then the kernel will not boot on CPUs that don't support PAE! | 
 |  | 
 | 	  The actual amount of total physical memory will either be | 
 | 	  auto detected or can be forced by using a kernel command line option | 
 | 	  such as "mem=256M". (Try "man bootparam" or see the documentation of | 
 | 	  your boot loader (lilo or loadlin) about how to pass options to the | 
 | 	  kernel at boot time.) | 
 |  | 
 | 	  If unsure, say "off". | 
 |  | 
 | config HIGHMEM4G | 
 | 	bool "4GB" | 
 | 	help | 
 | 	  Select this if you have a 32-bit processor and between 1 and 4 | 
 | 	  gigabytes of physical RAM. | 
 |  | 
 | config HIGHMEM64G | 
 | 	bool "64GB" | 
 | 	help | 
 | 	  Select this if you have a 32-bit processor and more than 4 | 
 | 	  gigabytes of physical RAM. | 
 |  | 
 | endchoice | 
 |  | 
 | config HIGHMEM | 
 | 	bool | 
 | 	depends on HIGHMEM64G || HIGHMEM4G | 
 | 	default y | 
 |  | 
 | config X86_PAE | 
 | 	bool | 
 | 	depends on HIGHMEM64G | 
 | 	default y | 
 |  | 
 | # Common NUMA Features | 
 | config NUMA | 
 | 	bool "Numa Memory Allocation and Scheduler Support" | 
 | 	depends on SMP && HIGHMEM64G && (X86_NUMAQ || X86_GENERICARCH || (X86_SUMMIT && ACPI)) | 
 | 	default n if X86_PC | 
 | 	default y if (X86_NUMAQ || X86_SUMMIT) | 
 | 	select SPARSEMEM_STATIC | 
 |  | 
 | # Need comments to help the hapless user trying to turn on NUMA support | 
 | comment "NUMA (NUMA-Q) requires SMP, 64GB highmem support" | 
 | 	depends on X86_NUMAQ && (!HIGHMEM64G || !SMP) | 
 |  | 
 | comment "NUMA (Summit) requires SMP, 64GB highmem support, ACPI" | 
 | 	depends on X86_SUMMIT && (!HIGHMEM64G || !ACPI) | 
 |  | 
 | config HAVE_ARCH_BOOTMEM_NODE | 
 | 	bool | 
 | 	depends on NUMA | 
 | 	default y | 
 |  | 
 | config ARCH_HAVE_MEMORY_PRESENT | 
 | 	bool | 
 | 	depends on DISCONTIGMEM | 
 | 	default y | 
 |  | 
 | config NEED_NODE_MEMMAP_SIZE | 
 | 	bool | 
 | 	depends on DISCONTIGMEM || SPARSEMEM | 
 | 	default y | 
 |  | 
 | config HAVE_ARCH_ALLOC_REMAP | 
 | 	bool | 
 | 	depends on NUMA | 
 | 	default y | 
 |  | 
 | config ARCH_DISCONTIGMEM_ENABLE | 
 | 	def_bool y | 
 | 	depends on NUMA | 
 |  | 
 | config ARCH_DISCONTIGMEM_DEFAULT | 
 | 	def_bool y | 
 | 	depends on NUMA | 
 |  | 
 | config ARCH_SPARSEMEM_ENABLE | 
 | 	def_bool y | 
 | 	depends on NUMA | 
 |  | 
 | config ARCH_SELECT_MEMORY_MODEL | 
 | 	def_bool y | 
 | 	depends on ARCH_SPARSEMEM_ENABLE | 
 |  | 
 | source "mm/Kconfig" | 
 |  | 
 | config HAVE_ARCH_EARLY_PFN_TO_NID | 
 | 	bool | 
 | 	default y | 
 | 	depends on NUMA | 
 |  | 
 | config HIGHPTE | 
 | 	bool "Allocate 3rd-level pagetables from highmem" | 
 | 	depends on HIGHMEM4G || HIGHMEM64G | 
 | 	help | 
 | 	  The VM uses one page table entry for each page of physical memory. | 
 | 	  For systems with a lot of RAM, this can be wasteful of precious | 
 | 	  low memory.  Setting this option will put user-space page table | 
 | 	  entries in high memory. | 
 |  | 
 | config MATH_EMULATION | 
 | 	bool "Math emulation" | 
 | 	---help--- | 
 | 	  Linux can emulate a math coprocessor (used for floating point | 
 | 	  operations) if you don't have one. 486DX and Pentium processors have | 
 | 	  a math coprocessor built in, 486SX and 386 do not, unless you added | 
 | 	  a 487DX or 387, respectively. (The messages during boot time can | 
 | 	  give you some hints here ["man dmesg"].) Everyone needs either a | 
 | 	  coprocessor or this emulation. | 
 |  | 
 | 	  If you don't have a math coprocessor, you need to say Y here; if you | 
 | 	  say Y here even though you have a coprocessor, the coprocessor will | 
 | 	  be used nevertheless. (This behavior can be changed with the kernel | 
 | 	  command line option "no387", which comes handy if your coprocessor | 
 | 	  is broken. Try "man bootparam" or see the documentation of your boot | 
 | 	  loader (lilo or loadlin) about how to pass options to the kernel at | 
 | 	  boot time.) This means that it is a good idea to say Y here if you | 
 | 	  intend to use this kernel on different machines. | 
 |  | 
 | 	  More information about the internals of the Linux math coprocessor | 
 | 	  emulation can be found in <file:arch/i386/math-emu/README>. | 
 |  | 
 | 	  If you are not sure, say Y; apart from resulting in a 66 KB bigger | 
 | 	  kernel, it won't hurt. | 
 |  | 
 | config MTRR | 
 | 	bool "MTRR (Memory Type Range Register) support" | 
 | 	---help--- | 
 | 	  On Intel P6 family processors (Pentium Pro, Pentium II and later) | 
 | 	  the Memory Type Range Registers (MTRRs) may be used to control | 
 | 	  processor access to memory ranges. This is most useful if you have | 
 | 	  a video (VGA) card on a PCI or AGP bus. Enabling write-combining | 
 | 	  allows bus write transfers to be combined into a larger transfer | 
 | 	  before bursting over the PCI/AGP bus. This can increase performance | 
 | 	  of image write operations 2.5 times or more. Saying Y here creates a | 
 | 	  /proc/mtrr file which may be used to manipulate your processor's | 
 | 	  MTRRs. Typically the X server should use this. | 
 |  | 
 | 	  This code has a reasonably generic interface so that similar | 
 | 	  control registers on other processors can be easily supported | 
 | 	  as well: | 
 |  | 
 | 	  The Cyrix 6x86, 6x86MX and M II processors have Address Range | 
 | 	  Registers (ARRs) which provide a similar functionality to MTRRs. For | 
 | 	  these, the ARRs are used to emulate the MTRRs. | 
 | 	  The AMD K6-2 (stepping 8 and above) and K6-3 processors have two | 
 | 	  MTRRs. The Centaur C6 (WinChip) has 8 MCRs, allowing | 
 | 	  write-combining. All of these processors are supported by this code | 
 | 	  and it makes sense to say Y here if you have one of them. | 
 |  | 
 | 	  Saying Y here also fixes a problem with buggy SMP BIOSes which only | 
 | 	  set the MTRRs for the boot CPU and not for the secondary CPUs. This | 
 | 	  can lead to all sorts of problems, so it's good to say Y here. | 
 |  | 
 | 	  You can safely say Y even if your machine doesn't have MTRRs, you'll | 
 | 	  just add about 9 KB to your kernel. | 
 |  | 
 | 	  See <file:Documentation/mtrr.txt> for more information. | 
 |  | 
 | config EFI | 
 | 	bool "Boot from EFI support (EXPERIMENTAL)" | 
 | 	depends on ACPI | 
 | 	default n | 
 | 	---help--- | 
 | 	This enables the the kernel to boot on EFI platforms using | 
 | 	system configuration information passed to it from the firmware. | 
 | 	This also enables the kernel to use any EFI runtime services that are | 
 | 	available (such as the EFI variable services). | 
 |  | 
 | 	This option is only useful on systems that have EFI firmware | 
 | 	and will result in a kernel image that is ~8k larger.  In addition, | 
 | 	you must use the latest ELILO loader available at | 
 | 	<http://elilo.sourceforge.net> in order to take advantage of | 
 | 	kernel initialization using EFI information (neither GRUB nor LILO know | 
 | 	anything about EFI).  However, even with this option, the resultant | 
 | 	kernel should continue to boot on existing non-EFI platforms. | 
 |  | 
 | config IRQBALANCE | 
 |  	bool "Enable kernel irq balancing" | 
 | 	depends on SMP && X86_IO_APIC | 
 | 	default y | 
 | 	help | 
 |  	  The default yes will allow the kernel to do irq load balancing. | 
 | 	  Saying no will keep the kernel from doing irq load balancing. | 
 |  | 
 | config HAVE_DEC_LOCK | 
 | 	bool | 
 | 	depends on (SMP || PREEMPT) && X86_CMPXCHG | 
 | 	default y | 
 |  | 
 | # turning this on wastes a bunch of space. | 
 | # Summit needs it only when NUMA is on | 
 | config BOOT_IOREMAP | 
 | 	bool | 
 | 	depends on (((X86_SUMMIT || X86_GENERICARCH) && NUMA) || (X86 && EFI)) | 
 | 	default y | 
 |  | 
 | config REGPARM | 
 | 	bool "Use register arguments (EXPERIMENTAL)" | 
 | 	depends on EXPERIMENTAL | 
 | 	default n | 
 | 	help | 
 | 	Compile the kernel with -mregparm=3. This uses a different ABI | 
 | 	and passes the first three arguments of a function call in registers. | 
 | 	This will probably break binary only modules. | 
 |  | 
 | 	This feature is only enabled for gcc-3.0 and later - earlier compilers | 
 | 	generate incorrect output with certain kernel constructs when | 
 | 	-mregparm=3 is used. | 
 |  | 
 | config SECCOMP | 
 | 	bool "Enable seccomp to safely compute untrusted bytecode" | 
 | 	depends on PROC_FS | 
 | 	default y | 
 | 	help | 
 | 	  This kernel feature is useful for number crunching applications | 
 | 	  that may need to compute untrusted bytecode during their | 
 | 	  execution. By using pipes or other transports made available to | 
 | 	  the process as file descriptors supporting the read/write | 
 | 	  syscalls, it's possible to isolate those applications in | 
 | 	  their own address space using seccomp. Once seccomp is | 
 | 	  enabled via /proc/<pid>/seccomp, it cannot be disabled | 
 | 	  and the task is only allowed to execute a few safe syscalls | 
 | 	  defined by each seccomp mode. | 
 |  | 
 | 	  If unsure, say Y. Only embedded should say N here. | 
 |  | 
 | source kernel/Kconfig.hz | 
 |  | 
 | config PHYSICAL_START | 
 | 	hex "Physical address where the kernel is loaded" if EMBEDDED | 
 | 	default "0x100000" | 
 | 	help | 
 | 	  This gives the physical address where the kernel is loaded. | 
 | 	  Primarily used in the case of kexec on panic where the | 
 | 	  fail safe kernel needs to run at a different address than | 
 | 	  the panic-ed kernel. | 
 |  | 
 | 	  Don't change this unless you know what you are doing. | 
 |  | 
 | config KEXEC | 
 | 	bool "kexec system call (EXPERIMENTAL)" | 
 | 	depends on EXPERIMENTAL | 
 | 	help | 
 | 	  kexec is a system call that implements the ability to shutdown your | 
 | 	  current kernel, and to start another kernel.  It is like a reboot | 
 | 	  but it is indepedent of the system firmware.   And like a reboot | 
 | 	  you can start any kernel with it, not just Linux. | 
 |  | 
 | 	  The name comes from the similiarity to the exec system call. | 
 |  | 
 | 	  It is an ongoing process to be certain the hardware in a machine | 
 | 	  is properly shutdown, so do not be surprised if this code does not | 
 | 	  initially work for you.  It may help to enable device hotplugging | 
 | 	  support.  As of this writing the exact hardware interface is | 
 | 	  strongly in flux, so no good recommendation can be made. | 
 |  | 
 | config CRASH_DUMP | 
 | 	bool "kernel crash dumps (EXPERIMENTAL)" | 
 | 	depends on EMBEDDED | 
 | 	depends on EXPERIMENTAL | 
 | 	depends on HIGHMEM | 
 | 	help | 
 | 	  Generate crash dump after being started by kexec. | 
 | endmenu | 
 |  | 
 |  | 
 | menu "Power management options (ACPI, APM)" | 
 | 	depends on !X86_VOYAGER | 
 |  | 
 | source kernel/power/Kconfig | 
 |  | 
 | source "drivers/acpi/Kconfig" | 
 |  | 
 | menu "APM (Advanced Power Management) BIOS Support" | 
 | depends on PM && !X86_VISWS | 
 |  | 
 | config APM | 
 | 	tristate "APM (Advanced Power Management) BIOS support" | 
 | 	depends on PM | 
 | 	---help--- | 
 | 	  APM is a BIOS specification for saving power using several different | 
 | 	  techniques. This is mostly useful for battery powered laptops with | 
 | 	  APM compliant BIOSes. If you say Y here, the system time will be | 
 | 	  reset after a RESUME operation, the /proc/apm device will provide | 
 | 	  battery status information, and user-space programs will receive | 
 | 	  notification of APM "events" (e.g. battery status change). | 
 |  | 
 | 	  If you select "Y" here, you can disable actual use of the APM | 
 | 	  BIOS by passing the "apm=off" option to the kernel at boot time. | 
 |  | 
 | 	  Note that the APM support is almost completely disabled for | 
 | 	  machines with more than one CPU. | 
 |  | 
 | 	  In order to use APM, you will need supporting software. For location | 
 | 	  and more information, read <file:Documentation/pm.txt> and the | 
 | 	  Battery Powered Linux mini-HOWTO, available from | 
 | 	  <http://www.tldp.org/docs.html#howto>. | 
 |  | 
 | 	  This driver does not spin down disk drives (see the hdparm(8) | 
 | 	  manpage ("man 8 hdparm") for that), and it doesn't turn off | 
 | 	  VESA-compliant "green" monitors. | 
 |  | 
 | 	  This driver does not support the TI 4000M TravelMate and the ACER | 
 | 	  486/DX4/75 because they don't have compliant BIOSes. Many "green" | 
 | 	  desktop machines also don't have compliant BIOSes, and this driver | 
 | 	  may cause those machines to panic during the boot phase. | 
 |  | 
 | 	  Generally, if you don't have a battery in your machine, there isn't | 
 | 	  much point in using this driver and you should say N. If you get | 
 | 	  random kernel OOPSes or reboots that don't seem to be related to | 
 | 	  anything, try disabling/enabling this option (or disabling/enabling | 
 | 	  APM in your BIOS). | 
 |  | 
 | 	  Some other things you should try when experiencing seemingly random, | 
 | 	  "weird" problems: | 
 |  | 
 | 	  1) make sure that you have enough swap space and that it is | 
 | 	  enabled. | 
 | 	  2) pass the "no-hlt" option to the kernel | 
 | 	  3) switch on floating point emulation in the kernel and pass | 
 | 	  the "no387" option to the kernel | 
 | 	  4) pass the "floppy=nodma" option to the kernel | 
 | 	  5) pass the "mem=4M" option to the kernel (thereby disabling | 
 | 	  all but the first 4 MB of RAM) | 
 | 	  6) make sure that the CPU is not over clocked. | 
 | 	  7) read the sig11 FAQ at <http://www.bitwizard.nl/sig11/> | 
 | 	  8) disable the cache from your BIOS settings | 
 | 	  9) install a fan for the video card or exchange video RAM | 
 | 	  10) install a better fan for the CPU | 
 | 	  11) exchange RAM chips | 
 | 	  12) exchange the motherboard. | 
 |  | 
 | 	  To compile this driver as a module, choose M here: the | 
 | 	  module will be called apm. | 
 |  | 
 | config APM_IGNORE_USER_SUSPEND | 
 | 	bool "Ignore USER SUSPEND" | 
 | 	depends on APM | 
 | 	help | 
 | 	  This option will ignore USER SUSPEND requests. On machines with a | 
 | 	  compliant APM BIOS, you want to say N. However, on the NEC Versa M | 
 | 	  series notebooks, it is necessary to say Y because of a BIOS bug. | 
 |  | 
 | config APM_DO_ENABLE | 
 | 	bool "Enable PM at boot time" | 
 | 	depends on APM | 
 | 	---help--- | 
 | 	  Enable APM features at boot time. From page 36 of the APM BIOS | 
 | 	  specification: "When disabled, the APM BIOS does not automatically | 
 | 	  power manage devices, enter the Standby State, enter the Suspend | 
 | 	  State, or take power saving steps in response to CPU Idle calls." | 
 | 	  This driver will make CPU Idle calls when Linux is idle (unless this | 
 | 	  feature is turned off -- see "Do CPU IDLE calls", below). This | 
 | 	  should always save battery power, but more complicated APM features | 
 | 	  will be dependent on your BIOS implementation. You may need to turn | 
 | 	  this option off if your computer hangs at boot time when using APM | 
 | 	  support, or if it beeps continuously instead of suspending. Turn | 
 | 	  this off if you have a NEC UltraLite Versa 33/C or a Toshiba | 
 | 	  T400CDT. This is off by default since most machines do fine without | 
 | 	  this feature. | 
 |  | 
 | config APM_CPU_IDLE | 
 | 	bool "Make CPU Idle calls when idle" | 
 | 	depends on APM | 
 | 	help | 
 | 	  Enable calls to APM CPU Idle/CPU Busy inside the kernel's idle loop. | 
 | 	  On some machines, this can activate improved power savings, such as | 
 | 	  a slowed CPU clock rate, when the machine is idle. These idle calls | 
 | 	  are made after the idle loop has run for some length of time (e.g., | 
 | 	  333 mS). On some machines, this will cause a hang at boot time or | 
 | 	  whenever the CPU becomes idle. (On machines with more than one CPU, | 
 | 	  this option does nothing.) | 
 |  | 
 | config APM_DISPLAY_BLANK | 
 | 	bool "Enable console blanking using APM" | 
 | 	depends on APM | 
 | 	help | 
 | 	  Enable console blanking using the APM. Some laptops can use this to | 
 | 	  turn off the LCD backlight when the screen blanker of the Linux | 
 | 	  virtual console blanks the screen. Note that this is only used by | 
 | 	  the virtual console screen blanker, and won't turn off the backlight | 
 | 	  when using the X Window system. This also doesn't have anything to | 
 | 	  do with your VESA-compliant power-saving monitor. Further, this | 
 | 	  option doesn't work for all laptops -- it might not turn off your | 
 | 	  backlight at all, or it might print a lot of errors to the console, | 
 | 	  especially if you are using gpm. | 
 |  | 
 | config APM_RTC_IS_GMT | 
 | 	bool "RTC stores time in GMT" | 
 | 	depends on APM | 
 | 	help | 
 | 	  Say Y here if your RTC (Real Time Clock a.k.a. hardware clock) | 
 | 	  stores the time in GMT (Greenwich Mean Time). Say N if your RTC | 
 | 	  stores localtime. | 
 |  | 
 | 	  It is in fact recommended to store GMT in your RTC, because then you | 
 | 	  don't have to worry about daylight savings time changes. The only | 
 | 	  reason not to use GMT in your RTC is if you also run a broken OS | 
 | 	  that doesn't understand GMT. | 
 |  | 
 | config APM_ALLOW_INTS | 
 | 	bool "Allow interrupts during APM BIOS calls" | 
 | 	depends on APM | 
 | 	help | 
 | 	  Normally we disable external interrupts while we are making calls to | 
 | 	  the APM BIOS as a measure to lessen the effects of a badly behaving | 
 | 	  BIOS implementation.  The BIOS should reenable interrupts if it | 
 | 	  needs to.  Unfortunately, some BIOSes do not -- especially those in | 
 | 	  many of the newer IBM Thinkpads.  If you experience hangs when you | 
 | 	  suspend, try setting this to Y.  Otherwise, say N. | 
 |  | 
 | config APM_REAL_MODE_POWER_OFF | 
 | 	bool "Use real mode APM BIOS call to power off" | 
 | 	depends on APM | 
 | 	help | 
 | 	  Use real mode APM BIOS calls to switch off the computer. This is | 
 | 	  a work-around for a number of buggy BIOSes. Switch this option on if | 
 | 	  your computer crashes instead of powering off properly. | 
 |  | 
 | endmenu | 
 |  | 
 | source "arch/i386/kernel/cpu/cpufreq/Kconfig" | 
 |  | 
 | endmenu | 
 |  | 
 | menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)" | 
 |  | 
 | config PCI | 
 | 	bool "PCI support" if !X86_VISWS | 
 | 	depends on !X86_VOYAGER | 
 | 	default y if X86_VISWS | 
 | 	help | 
 | 	  Find out whether you have a PCI motherboard. PCI is the name of a | 
 | 	  bus system, i.e. the way the CPU talks to the other stuff inside | 
 | 	  your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or | 
 | 	  VESA. If you have PCI, say Y, otherwise N. | 
 |  | 
 | 	  The PCI-HOWTO, available from | 
 | 	  <http://www.tldp.org/docs.html#howto>, contains valuable | 
 | 	  information about which PCI hardware does work under Linux and which | 
 | 	  doesn't. | 
 |  | 
 | choice | 
 | 	prompt "PCI access mode" | 
 | 	depends on PCI && !X86_VISWS | 
 | 	default PCI_GOANY | 
 | 	---help--- | 
 | 	  On PCI systems, the BIOS can be used to detect the PCI devices and | 
 | 	  determine their configuration. However, some old PCI motherboards | 
 | 	  have BIOS bugs and may crash if this is done. Also, some embedded | 
 | 	  PCI-based systems don't have any BIOS at all. Linux can also try to | 
 | 	  detect the PCI hardware directly without using the BIOS. | 
 |  | 
 | 	  With this option, you can specify how Linux should detect the | 
 | 	  PCI devices. If you choose "BIOS", the BIOS will be used, | 
 | 	  if you choose "Direct", the BIOS won't be used, and if you | 
 | 	  choose "MMConfig", then PCI Express MMCONFIG will be used. | 
 | 	  If you choose "Any", the kernel will try MMCONFIG, then the | 
 | 	  direct access method and falls back to the BIOS if that doesn't | 
 | 	  work. If unsure, go with the default, which is "Any". | 
 |  | 
 | config PCI_GOBIOS | 
 | 	bool "BIOS" | 
 |  | 
 | config PCI_GOMMCONFIG | 
 | 	bool "MMConfig" | 
 |  | 
 | config PCI_GODIRECT | 
 | 	bool "Direct" | 
 |  | 
 | config PCI_GOANY | 
 | 	bool "Any" | 
 |  | 
 | endchoice | 
 |  | 
 | config PCI_BIOS | 
 | 	bool | 
 | 	depends on !X86_VISWS && PCI && (PCI_GOBIOS || PCI_GOANY) | 
 | 	default y | 
 |  | 
 | config PCI_DIRECT | 
 | 	bool | 
 |  	depends on PCI && ((PCI_GODIRECT || PCI_GOANY) || X86_VISWS) | 
 | 	default y | 
 |  | 
 | config PCI_MMCONFIG | 
 | 	bool | 
 | 	depends on PCI && ACPI && (PCI_GOMMCONFIG || PCI_GOANY) | 
 | 	select ACPI_BOOT | 
 | 	default y | 
 |  | 
 | source "drivers/pci/pcie/Kconfig" | 
 |  | 
 | source "drivers/pci/Kconfig" | 
 |  | 
 | config ISA_DMA_API | 
 | 	bool | 
 | 	default y | 
 |  | 
 | config ISA | 
 | 	bool "ISA support" | 
 | 	depends on !(X86_VOYAGER || X86_VISWS) | 
 | 	help | 
 | 	  Find out whether you have ISA slots on your motherboard.  ISA is the | 
 | 	  name of a bus system, i.e. the way the CPU talks to the other stuff | 
 | 	  inside your box.  Other bus systems are PCI, EISA, MicroChannel | 
 | 	  (MCA) or VESA.  ISA is an older system, now being displaced by PCI; | 
 | 	  newer boards don't support it.  If you have ISA, say Y, otherwise N. | 
 |  | 
 | config EISA | 
 | 	bool "EISA support" | 
 | 	depends on ISA | 
 | 	---help--- | 
 | 	  The Extended Industry Standard Architecture (EISA) bus was | 
 | 	  developed as an open alternative to the IBM MicroChannel bus. | 
 |  | 
 | 	  The EISA bus provided some of the features of the IBM MicroChannel | 
 | 	  bus while maintaining backward compatibility with cards made for | 
 | 	  the older ISA bus.  The EISA bus saw limited use between 1988 and | 
 | 	  1995 when it was made obsolete by the PCI bus. | 
 |  | 
 | 	  Say Y here if you are building a kernel for an EISA-based machine. | 
 |  | 
 | 	  Otherwise, say N. | 
 |  | 
 | source "drivers/eisa/Kconfig" | 
 |  | 
 | config MCA | 
 | 	bool "MCA support" if !(X86_VISWS || X86_VOYAGER) | 
 | 	default y if X86_VOYAGER | 
 | 	help | 
 | 	  MicroChannel Architecture is found in some IBM PS/2 machines and | 
 | 	  laptops.  It is a bus system similar to PCI or ISA. See | 
 | 	  <file:Documentation/mca.txt> (and especially the web page given | 
 | 	  there) before attempting to build an MCA bus kernel. | 
 |  | 
 | source "drivers/mca/Kconfig" | 
 |  | 
 | config SCx200 | 
 | 	tristate "NatSemi SCx200 support" | 
 | 	depends on !X86_VOYAGER | 
 | 	help | 
 | 	  This provides basic support for the National Semiconductor SCx200 | 
 | 	  processor.  Right now this is just a driver for the GPIO pins. | 
 |  | 
 | 	  If you don't know what to do here, say N. | 
 |  | 
 | 	  This support is also available as a module.  If compiled as a | 
 | 	  module, it will be called scx200. | 
 |  | 
 | config HOTPLUG_CPU | 
 | 	bool "Support for hot-pluggable CPUs (EXPERIMENTAL)" | 
 | 	depends on SMP && HOTPLUG && EXPERIMENTAL | 
 | 	---help--- | 
 | 	  Say Y here to experiment with turning CPUs off and on.  CPUs | 
 | 	  can be controlled through /sys/devices/system/cpu. | 
 |  | 
 | 	  Say N. | 
 |  | 
 | source "drivers/pcmcia/Kconfig" | 
 |  | 
 | source "drivers/pci/hotplug/Kconfig" | 
 |  | 
 | endmenu | 
 |  | 
 | menu "Executable file formats" | 
 |  | 
 | source "fs/Kconfig.binfmt" | 
 |  | 
 | endmenu | 
 |  | 
 | source "net/Kconfig" | 
 |  | 
 | source "drivers/Kconfig" | 
 |  | 
 | source "fs/Kconfig" | 
 |  | 
 | source "arch/i386/oprofile/Kconfig" | 
 |  | 
 | source "arch/i386/Kconfig.debug" | 
 |  | 
 | source "security/Kconfig" | 
 |  | 
 | source "crypto/Kconfig" | 
 |  | 
 | source "lib/Kconfig" | 
 |  | 
 | # | 
 | # Use the generic interrupt handling code in kernel/irq/: | 
 | # | 
 | config GENERIC_HARDIRQS | 
 | 	bool | 
 | 	default y | 
 |  | 
 | config GENERIC_IRQ_PROBE | 
 | 	bool | 
 | 	default y | 
 |  | 
 | config GENERIC_PENDING_IRQ | 
 | 	bool | 
 | 	depends on GENERIC_HARDIRQS && SMP | 
 | 	default y | 
 |  | 
 | config X86_SMP | 
 | 	bool | 
 | 	depends on SMP && !X86_VOYAGER | 
 | 	default y | 
 |  | 
 | config X86_HT | 
 | 	bool | 
 | 	depends on SMP && !(X86_VISWS || X86_VOYAGER) | 
 | 	default y | 
 |  | 
 | config X86_BIOS_REBOOT | 
 | 	bool | 
 | 	depends on !(X86_VISWS || X86_VOYAGER) | 
 | 	default y | 
 |  | 
 | config X86_TRAMPOLINE | 
 | 	bool | 
 | 	depends on X86_SMP || (X86_VOYAGER && SMP) | 
 | 	default y | 
 |  | 
 | config PC | 
 | 	bool | 
 | 	depends on X86 && !EMBEDDED | 
 | 	default y |