linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / arch / i386 / Kconfig
index 9c714ef..20d835e 100644 (file)
@@ -14,19 +14,6 @@ config X86_32
          486, 586, Pentiums, and various instruction-set-compatible chips by
          AMD, Cyrix, and others.
 
-config GENERIC_TIME
-       bool
-       depends on !X86_XEN
-       default y
-
-config LOCKDEP_SUPPORT
-       bool
-       default y
-
-config STACKTRACE_SUPPORT
-       bool
-       default y
-
 config SEMAPHORE_SLEEPERS
        bool
        default y
@@ -50,10 +37,6 @@ config GENERIC_IOMAP
        bool
        default y
 
-config GENERIC_HWEIGHT
-       bool
-       default y
-
 config ARCH_MAY_HAVE_PC_FDC
        bool
        default y
@@ -66,35 +49,6 @@ source "init/Kconfig"
 
 menu "Processor type and features"
 
-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.
-
 choice
        prompt "Subarchitecture Type"
        default X86_PC
@@ -104,15 +58,6 @@ config X86_PC
        help
          Choose this option if your computer is a standard PC or compatible.
 
-config X86_XEN
-       bool "Xen-compatible"
-       select X86_UP_APIC if !SMP && XEN_PRIVILEGED_GUEST
-       select X86_UP_IOAPIC if !SMP && XEN_PRIVILEGED_GUEST
-       select SWIOTLB
-       help
-         Choose this option if you plan to run this kernel on top of the
-         Xen Hypervisor.
-
 config X86_ELAN
        bool "AMD Elan"
        help
@@ -135,7 +80,6 @@ config X86_VOYAGER
 
 config X86_NUMAQ
        bool "NUMAQ (IBM/Sequent)"
-       select SMP
        select NUMA
        help
          This option is used for getting Linux to run on a (IBM/Sequent) NUMA
@@ -152,7 +96,6 @@ config X86_SUMMIT
          In particular, it is needed for the x440.
 
          If you don't have one of these computers, you should say N here.
-         If you want to build a NUMA kernel, you must select ACPI.
 
 config X86_BIGSMP
        bool "Support for other sub-arch SMP systems with more than 8 CPUs"
@@ -180,7 +123,6 @@ config X86_GENERICARCH
        help
           This option compiles in the Summit, bigsmp, ES7000, default subarchitectures.
          It is intended for a generic binary kernel.
-         If you want a NUMA kernel, select ACPI.   We need SRAT for NUMA.
 
 config X86_ES7000
        bool "Support for Unisys ES7000 IA32 series"
@@ -196,13 +138,7 @@ endchoice
 config ACPI_SRAT
        bool
        default y
-       depends on ACPI && NUMA && (X86_SUMMIT || X86_GENERICARCH)
-       select ACPI_NUMA
-
-config HAVE_ARCH_PARSE_SRAT
-       bool
-       default y
-       depends on ACPI_SRAT
+       depends on NUMA && (X86_SUMMIT || X86_GENERICARCH)
 
 config X86_SUMMIT_NUMA
        bool
@@ -223,7 +159,6 @@ source "arch/i386/Kconfig.cpu"
 
 config HPET_TIMER
        bool "HPET Timer Support"
-       depends on !X86_XEN
        help
          This enables the use of the HPET for the kernel's internal timer.
          HPET is the next generation timer replacing legacy 8254s.
@@ -238,6 +173,35 @@ config HPET_EMULATE_RTC
        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
@@ -254,27 +218,19 @@ config NR_CPUS
 
 config SCHED_SMT
        bool "SMT (Hyperthreading) scheduler support"
-       depends on X86_HT
+       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.
 
-config SCHED_MC
-       bool "Multi-core scheduler support"
-       depends on X86_HT
-       default y
-       help
-         Multi-core scheduler support improves the CPU scheduler's decision
-         making when dealing with multi-core CPU chips 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 || XEN_UNPRIVILEGED_GUEST)
+       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
@@ -299,12 +255,12 @@ config X86_UP_IOAPIC
 
 config X86_LOCAL_APIC
        bool
-       depends on X86_UP_APIC || ((X86_VISWS || SMP) && !(X86_VOYAGER || XEN_UNPRIVILEGED_GUEST))
+       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 || XEN_UNPRIVILEGED_GUEST))
+       depends on X86_UP_IOAPIC || (SMP && !(X86_VISWS || X86_VOYAGER))
        default y
 
 config X86_VISWS_APIC
@@ -314,7 +270,7 @@ config X86_VISWS_APIC
 
 config X86_MCE
        bool "Machine Check Exception"
-       depends on !(X86_VOYAGER || X86_XEN)
+       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).
@@ -349,15 +305,6 @@ config X86_MCE_P4THERMAL
          Enabling this feature will cause a message to be printed when the P4
          enters thermal throttling.
 
-config VM86
-       default y
-       bool "Enable VM86 support" if EMBEDDED
-       help
-          This option is required by programs like DOSEMU to run 16-bit legacy
-         code on X86 processors. It also may be needed by software like
-          XFree86 to initialize some video cards via BIOS. Disabling this
-          option saves about 6k.
-
 config TOSHIBA
        tristate "Toshiba Laptop support"
        ---help---
@@ -413,7 +360,6 @@ config X86_REBOOTFIXUPS
 
 config MICROCODE
        tristate "/dev/cpu/microcode - Intel IA32 CPU microcode support"
-       depends on !XEN_UNPRIVILEGED_GUEST
        ---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
@@ -431,7 +377,6 @@ config MICROCODE
 
 config X86_MSR
        tristate "/dev/cpu/*/msr - Model-specific register support"
-       depends on !X86_XEN
        help
          This device gives privileged processes access to the x86
          Model-Specific Registers (MSRs).  It is a character device with
@@ -447,10 +392,6 @@ config X86_CPUID
          with major 203 and minors 0 to 31 for /dev/cpu/0/cpuid to
          /dev/cpu/31/cpuid.
 
-config SWIOTLB
-       bool
-       default n
-
 source "drivers/firmware/Kconfig"
 
 choice
@@ -459,7 +400,6 @@ choice
 
 config NOHIGHMEM
        bool "off"
-       depends on !X86_NUMAQ
        ---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
@@ -496,7 +436,6 @@ config NOHIGHMEM
 
 config HIGHMEM4G
        bool "4GB"
-       depends on !X86_NUMAQ
        help
          Select this if you have a 32-bit processor and between 1 and 4
          gigabytes of physical RAM.
@@ -512,7 +451,7 @@ endchoice
 
 choice
        depends on EXPERIMENTAL && !X86_PAE
-       prompt "Memory split" if EMBEDDED
+       prompt "Memory split"
        default VMSPLIT_3G
        help
          Select the desired split between kernel and user memory.
@@ -527,23 +466,43 @@ choice
          will also likely make your kernel incompatible with binary-only
          kernel modules.
 
-         If you are not absolutely sure what you are doing, leave this
-         option alone!
-
        config VMSPLIT_3G
-               bool "3G/1G user/kernel split"
-       config VMSPLIT_3G_OPT
-               bool "3G/1G user/kernel split (for full 1G low memory)"
+               bool "3G/1G user/kernel split (Default)"
+               help
+                 This is the default split of 3GB userspace to 1GB kernel
+                 space, which will result in about 860MB of lowmem.
+
+       config VMSPLIT_25G
+               bool "2.5G/1.5G user/kernel split"
+               help
+                 This split provides 2.5GB userspace and 1.5GB kernel
+                 space, which will result in about 1370MB of lowmem.
+
        config VMSPLIT_2G
                bool "2G/2G user/kernel split"
+               help
+                 This split provides 2GB userspace and 2GB kernel
+                 space, which will result in about 1880MB of lowmem.
+
+       config VMSPLIT_15G
+               bool "1.5G/2.5G user/kernel split"
+               help
+                 This split provides 1.5GB userspace and 2.5GB kernel
+                 space, which will result in about 2390MB of lowmem.
+
        config VMSPLIT_1G
                bool "1G/3G user/kernel split"
+               help
+                 This split provides 1GB userspace and 3GB kernel
+                 space, which will result in about 2900MB of lowmem.
+
 endchoice
 
 config PAGE_OFFSET
        hex
-       default 0xB0000000 if VMSPLIT_3G_OPT
-       default 0x78000000 if VMSPLIT_2G
+       default 0xA0000000 if VMSPLIT_25G
+       default 0x80000000 if VMSPLIT_2G
+       default 0x60000000 if VMSPLIT_15G
        default 0x40000000 if VMSPLIT_1G
        default 0xC0000000
 
@@ -556,24 +515,21 @@ config X86_PAE
        bool
        depends on HIGHMEM64G
        default y
-       select RESOURCES_64BIT
 
 # Common NUMA Features
 config NUMA
        bool "Numa Memory Allocation and Scheduler Support"
-       depends on SMP && HIGHMEM64G && (X86_NUMAQ || (X86_SUMMIT || X86_GENERICARCH) && ACPI)
+       depends on SMP && HIGHMEM64G && (X86_NUMAQ || X86_GENERICARCH || (X86_SUMMIT && ACPI))
        default n if X86_PC
        default y if (X86_NUMAQ || X86_SUMMIT)
 
+# 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 NODES_SHIFT
-       int
-       default "4" if X86_NUMAQ
-       default "3"
-       depends on NEED_MULTIPLE_NODES
-
 config HAVE_ARCH_BOOTMEM_NODE
        bool
        depends on NUMA
@@ -624,7 +580,7 @@ config HAVE_ARCH_EARLY_PFN_TO_NID
 
 config HIGHPTE
        bool "Allocate 3rd-level pagetables from highmem"
-       depends on (HIGHMEM4G || HIGHMEM64G) && !X86_XEN
+       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
@@ -633,7 +589,6 @@ config HIGHPTE
 
 config MATH_EMULATION
        bool "Math emulation"
-       depends on !X86_XEN
        ---help---
          Linux can emulate a math coprocessor (used for floating point
          operations) if you don't have one. 486DX and Pentium processors have
@@ -659,8 +614,6 @@ config MATH_EMULATION
 
 config MTRR
        bool "MTRR (Memory Type Range Register) support"
-       depends on !XEN_UNPRIVILEGED_GUEST
-       default y if X86_XEN
        ---help---
          On Intel P6 family processors (Pentium Pro, Pentium II and later)
          the Memory Type Range Registers (MTRRs) may be used to control
@@ -694,8 +647,8 @@ config MTRR
          See <file:Documentation/mtrr.txt> for more information.
 
 config EFI
-       bool "Boot from EFI support"
-       depends on ACPI && !X86_XEN
+       bool "Boot from EFI support (EXPERIMENTAL)"
+       depends on ACPI
        default n
        ---help---
        This enables the the kernel to boot on EFI platforms using
@@ -713,7 +666,7 @@ config EFI
 
 config IRQBALANCE
        bool "Enable kernel irq balancing"
-       depends on SMP && X86_IO_APIC && !X86_XEN
+       depends on SMP && X86_IO_APIC
        default y
        help
          The default yes will allow the kernel to do irq load balancing.
@@ -727,18 +680,13 @@ config BOOT_IOREMAP
        default y
 
 config REGPARM
-       bool "Use register arguments"
-       default y
+       bool "Use register arguments (EXPERIMENTAL)"
+       depends on EXPERIMENTAL
+       default n
        help
-       Compile the kernel with -mregparm=3. This instructs gcc to use
-       a more efficient function call ABI which passes the first three
-       arguments of a function call via registers, which results in denser
-       and faster code.
-
-       If this option is disabled, then the default ABI of passing
-       arguments via the stack is used.
-
-       If unsure, say Y.
+       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.
 
 config SECCOMP
        bool "Enable seccomp to safely compute untrusted bytecode"
@@ -761,14 +709,14 @@ source kernel/Kconfig.hz
 
 config KEXEC
        bool "kexec system call (EXPERIMENTAL)"
-       depends on EXPERIMENTAL && !X86_XEN
+       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 independent of the system firmware.   And 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 similarity to the exec system call.
+         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
@@ -784,7 +732,7 @@ config CRASH_DUMP
          Generate crash dump after being started by kexec.
 
 config PHYSICAL_START
-       hex "Physical address where the kernel is loaded"
+       hex "Physical address where the kernel is loaded" if (EMBEDDED || CRASH_DUMP)
 
        default "0x1000000" if CRASH_DUMP
        default "0x100000"
@@ -807,22 +755,19 @@ config HOTPLUG_CPU
        bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
        depends on SMP && HOTPLUG && EXPERIMENTAL && !X86_VOYAGER
        ---help---
-         Say Y here to experiment with turning CPUs off and on, and to
-         enable suspend on SMP systems. CPUs can be controlled through
-         /sys/devices/system/cpu.
+         Say Y here to experiment with turning CPUs off and on.  CPUs
+         can be controlled through /sys/devices/system/cpu.
 
-config COMPAT_VDSO
-       bool "Compat VDSO support"
+         Say N.
+
+config DOUBLEFAULT
        default y
-       depends on !X86_XEN
+       bool "Enable doublefault exception handler" if EMBEDDED
        help
-         Map the VDSO to the predictable old-style address too.
-       ---help---
-         Say N here if you are running a sufficiently recent glibc
-         version (2.3.3 or later), to remove the high-mapped
-         VDSO mapping and to exclusively use the randomized VDSO.
-
-         If unsure, say Y.
+          This option allows trapping of rare doublefault exceptions that
+          would otherwise cause a system to silently reboot. Disabling this
+          option saves about 4k and might cause you much additional grey
+          hair.
 
 endmenu
 
@@ -831,20 +776,18 @@ config ARCH_ENABLE_MEMORY_HOTPLUG
        depends on HIGHMEM
 
 menu "Power management options (ACPI, APM)"
-       depends on !(X86_VOYAGER || XEN_UNPRIVILEGED_GUEST)
+       depends on !X86_VOYAGER
 
-if !X86_XEN
 source kernel/power/Kconfig
-endif
 
 source "drivers/acpi/Kconfig"
 
 menu "APM (Advanced Power Management) BIOS Support"
-depends on PM && !(X86_VISWS || X86_XEN)
+depends on PM && !X86_VISWS
 
 config APM
        tristate "APM (Advanced Power Management) BIOS support"
-       depends on PM && PM_LEGACY
+       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
@@ -1029,7 +972,6 @@ choice
 
 config PCI_GOBIOS
        bool "BIOS"
-       depends on !X86_XEN
 
 config PCI_GOMMCONFIG
        bool "MMConfig"
@@ -1037,13 +979,6 @@ config PCI_GOMMCONFIG
 config PCI_GODIRECT
        bool "Direct"
 
-config PCI_GOXEN_FE
-       bool "Xen PCI Frontend"
-       depends on X86_XEN
-       help
-         The PCI device frontend driver allows the kernel to import arbitrary
-         PCI devices from a PCI backend to support PCI driver domains.
-
 config PCI_GOANY
        bool "Any"
 
@@ -1051,7 +986,7 @@ endchoice
 
 config PCI_BIOS
        bool
-       depends on !(X86_VISWS || X86_XEN) && PCI && (PCI_GOBIOS || PCI_GOANY)
+       depends on !X86_VISWS && PCI && (PCI_GOBIOS || PCI_GOANY)
        default y
 
 config PCI_DIRECT
@@ -1064,18 +999,6 @@ config PCI_MMCONFIG
        depends on PCI && ACPI && (PCI_GOMMCONFIG || PCI_GOANY)
        default y
 
-config XEN_PCIDEV_FRONTEND
-       bool
-       depends on PCI && X86_XEN && (PCI_GOXEN_FE || PCI_GOANY)
-       default y
-
-config XEN_PCIDEV_FE_DEBUG
-       bool "Xen PCI Frontend Debugging"
-       depends on XEN_PCIDEV_FRONTEND
-       default n
-       help
-         Enables some debug statements within the PCI Frontend.
-
 source "drivers/pci/pcie/Kconfig"
 
 source "drivers/pci/Kconfig"
@@ -1086,7 +1009,7 @@ config ISA_DMA_API
 
 config ISA
        bool "ISA support"
-       depends on !(X86_VOYAGER || X86_VISWS || X86_XEN)
+       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
@@ -1113,7 +1036,7 @@ config EISA
 source "drivers/eisa/Kconfig"
 
 config MCA
-       bool "MCA support" if !(X86_VISWS || X86_VOYAGER || X86_XEN)
+       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
@@ -1127,27 +1050,13 @@ config SCx200
        tristate "NatSemi SCx200 support"
        depends on !X86_VOYAGER
        help
-         This provides basic support for National Semiconductor's
-         (now AMD's) Geode processors.  The driver probes for the
-         PCI-IDs of several on-chip devices, so its a good dependency
-         for other scx200_* drivers.
-
-         If compiled as a module, the driver is named scx200.
+         This provides basic support for the National Semiconductor SCx200
+         processor.  Right now this is just a driver for the GPIO pins.
 
-config SCx200HR_TIMER
-       tristate "NatSemi SCx200 27MHz High-Resolution Timer Support"
-       depends on SCx200 && GENERIC_TIME
-       default y
-       help
-         This driver provides a clocksource built upon the on-chip
-         27MHz high-resolution timer.  Its also a workaround for
-         NSC Geode SC-1100's buggy TSC, which loses time when the
-         processor goes idle (as is done by the scheduler).  The
-         other workaround is idle=poll boot option.
+         If you don't know what to do here, say N.
 
-config K8_NB
-       def_bool y
-       depends on AGP_AMD64
+         This support is also available as a module.  If compiled as a
+         module, it will be called scx200.
 
 source "drivers/pcmcia/Kconfig"
 
@@ -1191,8 +1100,6 @@ source "security/Kconfig"
 
 source "crypto/Kconfig"
 
-source "drivers/xen/Kconfig"
-
 source "lib/Kconfig"
 
 #
@@ -1218,7 +1125,7 @@ config X86_SMP
 
 config X86_HT
        bool
-       depends on SMP && !(X86_VISWS || X86_VOYAGER || X86_XEN)
+       depends on SMP && !(X86_VISWS || X86_VOYAGER)
        default y
 
 config X86_BIOS_REBOOT
@@ -1231,16 +1138,6 @@ config X86_TRAMPOLINE
        depends on X86_SMP || (X86_VOYAGER && SMP)
        default y
 
-config X86_NO_TSS
-       bool
-       depends on X86_XEN
-       default y
-
-config X86_NO_IDT
-       bool
-       depends on X86_XEN
-       default y
-
 config KTIME_SCALAR
        bool
        default y