Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[pandora-kernel.git] / arch / x86 / Kconfig
index 237fc12..bf07b6f 100644 (file)
@@ -18,11 +18,18 @@ config X86_64
 ### Arch settings
 config X86
        def_bool y
+       select HAVE_UNSTABLE_SCHED_CLOCK
        select HAVE_IDE
        select HAVE_OPROFILE
        select HAVE_KPROBES
        select HAVE_KRETPROBES
        select HAVE_KVM if ((X86_32 && !X86_VOYAGER && !X86_VISWS && !X86_NUMAQ) || X86_64)
+       select HAVE_ARCH_KGDB if !X86_VOYAGER
+
+config ARCH_DEFCONFIG
+       string
+       default "arch/x86/configs/i386_defconfig" if X86_32
+       default "arch/x86/configs/x86_64_defconfig" if X86_64
 
 
 config GENERIC_LOCKBREAK
@@ -53,9 +60,6 @@ config STACKTRACE_SUPPORT
 config HAVE_LATENCYTOP_SUPPORT
        def_bool y
 
-config SEMAPHORE_SLEEPERS
-       def_bool y
-
 config FAST_CMPXCHG_LOCAL
        bool
        default y
@@ -88,9 +92,6 @@ config GENERIC_GPIO
 config ARCH_MAY_HAVE_PC_FDC
        def_bool y
 
-config DMI
-       def_bool y
-
 config RWSEM_GENERIC_SPINLOCK
        def_bool !X86_XADD
 
@@ -116,8 +117,14 @@ config GENERIC_TIME_VSYSCALL
 config ARCH_HAS_CPU_RELAX
        def_bool y
 
+config ARCH_HAS_CACHE_LINE_SIZE
+       def_bool y
+
 config HAVE_SETUP_PER_CPU_AREA
-       def_bool X86_64
+       def_bool X86_64 || (X86_SMP && !X86_VOYAGER)
+
+config HAVE_CPUMASK_OF_CPU_MAP
+       def_bool X86_64_SMP
 
 config ARCH_HIBERNATION_POSSIBLE
        def_bool y
@@ -141,6 +148,9 @@ config AUDIT_ARCH
 config ARCH_SUPPORTS_AOUT
        def_bool y
 
+config ARCH_SUPPORTS_OPTIMIZED_INLINING
+       def_bool y
+
 # Use the generic interrupt handling code in kernel/irq/:
 config GENERIC_HARDIRQS
        bool
@@ -171,17 +181,17 @@ config X86_64_SMP
 config X86_HT
        bool
        depends on SMP
-       depends on (X86_32 && !(X86_VISWS || X86_VOYAGER)) || (X86_64 && !MK8)
+       depends on (X86_32 && !(X86_VISWS || X86_VOYAGER)) || X86_64
        default y
 
 config X86_BIOS_REBOOT
        bool
-       depends on X86_32 && !(X86_VISWS || X86_VOYAGER)
+       depends on !X86_VISWS && !X86_VOYAGER
        default y
 
 config X86_TRAMPOLINE
        bool
-       depends on X86_SMP || (X86_VOYAGER && SMP)
+       depends on X86_SMP || (X86_VOYAGER && SMP) || (64BIT && ACPI_SLEEP)
        default y
 
 config KTIME_SCALAR
@@ -241,8 +251,7 @@ config X86_ELAN
 
 config X86_VOYAGER
        bool "Voyager (NCR)"
-       depends on X86_32
-       select SMP if !BROKEN
+       depends on X86_32 && (SMP || BROKEN)
        help
          Voyager is an MCA-based 32-way capable SMP architecture proprietary
          to NCR Corp.  Machine classes 345x/35xx/4100/51xx are Voyager-based.
@@ -254,9 +263,8 @@ config X86_VOYAGER
 
 config X86_NUMAQ
        bool "NUMAQ (IBM/Sequent)"
-       select SMP
+       depends on SMP && X86_32
        select NUMA
-       depends on X86_32
        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,
@@ -320,6 +328,7 @@ config X86_RDC321X
        select GENERIC_GPIO
        select LEDS_CLASS
        select LEDS_GPIO
+       select NEW_LEDS
        help
          This option is needed for RDC R-321x system-on-chip, also known
          as R-8610-(G).
@@ -327,8 +336,9 @@ config X86_RDC321X
 
 config X86_VSMP
        bool "Support for ScaleMP vSMP"
-       depends on X86_64 && PCI
-        help
+       select PARAVIRT
+       depends on X86_64
+       help
          Support for ScaleMP vSMP systems.  Say 'Y' here if this kernel is
          supposed to run on these EM64T-based machines.  Only choose this option
          if you have one of these machines.
@@ -370,6 +380,26 @@ config VMI
          at the moment), by linking the kernel to a GPL-ed ROM module
          provided by the hypervisor.
 
+config KVM_CLOCK
+       bool "KVM paravirtualized clock"
+       select PARAVIRT
+       select PARAVIRT_CLOCK
+       depends on !(X86_VISWS || X86_VOYAGER)
+       help
+         Turning on this option will allow you to run a paravirtualized clock
+         when running over the KVM hypervisor. Instead of relying on a PIT
+         (or probably other) emulation by the underlying device model, the host
+         provides the guest with timing infrastructure such as time of day, and
+         system time
+
+config KVM_GUEST
+       bool "KVM Guest support"
+       select PARAVIRT
+       depends on !(X86_VISWS || X86_VOYAGER)
+       help
+        This option enables various optimizations for running under the KVM
+        hypervisor.
+
 source "arch/x86/lguest/Kconfig"
 
 config PARAVIRT
@@ -381,8 +411,41 @@ config PARAVIRT
          over full virtualization.  However, when run without a hypervisor
          the kernel is theoretically slower and slightly larger.
 
+config PARAVIRT_CLOCK
+       bool
+       default n
+
 endif
 
+config MEMTEST_BOOTPARAM
+       bool "Memtest boot parameter"
+       depends on X86_64
+       default y
+       help
+         This option adds a kernel parameter 'memtest', which allows memtest
+         to be disabled at boot.  If this option is selected, memtest
+         functionality can be disabled with memtest=0 on the kernel
+         command line.  The purpose of this option is to allow a single
+         kernel image to be distributed with memtest built in, but not
+         necessarily enabled.
+
+         If you are unsure how to answer this question, answer Y.
+
+config MEMTEST_BOOTPARAM_VALUE
+       int "Memtest boot parameter default value (0-4)"
+       depends on MEMTEST_BOOTPARAM
+       range 0 4
+       default 0
+       help
+         This option sets the default value for the kernel parameter
+         'memtest', which allows memtest to be disabled at boot.  If this
+         option is set to 0 (zero), the memtest kernel parameter will
+         default to 0, disabling memtest at bootup.  If this option is
+         set to 4, the memtest kernel parameter will default to 4,
+         enabling memtest at bootup, and use that as pattern number.
+
+         If you are unsure how to answer this question, answer 0.
+
 config ACPI_SRAT
        def_bool y
        depends on X86_32 && ACPI && NUMA && (X86_SUMMIT || X86_GENERICARCH)
@@ -431,6 +494,15 @@ config HPET_EMULATE_RTC
 
 # Mark as embedded because too many people got it wrong.
 # The code disables itself when not needed.
+config DMI
+       default y
+       bool "Enable DMI scanning" if EMBEDDED
+       help
+         Enabled scanning of DMI to identify machine quirks. Say Y
+         here unless you have verified that your setup is not
+         affected by entries in the DMI blacklist. Required by PNP
+         BIOS code.
+
 config GART_IOMMU
        bool "GART IOMMU support" if EMBEDDED
        default y
@@ -477,9 +549,6 @@ config CALGARY_IOMMU_ENABLED_BY_DEFAULT
          Calgary anyway, pass 'iommu=calgary' on the kernel command line.
          If unsure, say Y.
 
-config IOMMU_HELPER
-       def_bool (CALGARY_IOMMU || GART_IOMMU)
-
 # need this always selected by IOMMU for the VIA workaround
 config SWIOTLB
        bool
@@ -490,6 +559,8 @@ config SWIOTLB
          access 32-bits of memory can be used on systems with more than
          3 GB of memory. If unsure, say Y.
 
+config IOMMU_HELPER
+       def_bool (CALGARY_IOMMU || GART_IOMMU || SWIOTLB)
 
 config NR_CPUS
        int "Maximum number of CPUs (2-255)"
@@ -507,7 +578,7 @@ config NR_CPUS
 
 config SCHED_SMT
        bool "SMT (Hyperthreading) scheduler support"
-       depends on (X86_64 && SMP) || (X86_32 && X86_HT)
+       depends on X86_HT
        help
          SMT scheduler support improves the CPU scheduler's decision making
          when dealing with Intel Pentium 4 chips with HyperThreading at a
@@ -517,7 +588,7 @@ config SCHED_SMT
 config SCHED_MC
        def_bool y
        prompt "Multi-core scheduler support"
-       depends on (X86_64 && SMP) || (X86_32 && X86_HT)
+       depends on X86_HT
        help
          Multi-core scheduler support improves the CPU scheduler's decision
          making when dealing with multi-core CPU chips at a cost of slightly
@@ -877,6 +948,15 @@ config X86_64_ACPI_NUMA
        help
          Enable ACPI SRAT based node topology detection.
 
+# Some NUMA nodes have memory ranges that span
+# other nodes.  Even though a pfn is valid and
+# between a node's start and end pfns, it may not
+# reside on that node.  See memmap_init_zone()
+# for details.
+config NODES_SPAN_OTHER_NODES
+       def_bool y
+       depends on X86_64_ACPI_NUMA
+
 config NUMA_EMU
        bool "NUMA emulation"
        depends on X86_64 && NUMA
@@ -886,8 +966,8 @@ config NUMA_EMU
          number of nodes. This is only useful for debugging.
 
 config NODES_SHIFT
-       int
-       range 1 15  if X86_64
+       int "Max num nodes shift(1-9)"
+       range 1 9  if X86_64
        default "6" if X86_64
        default "4" if X86_NUMAQ
        default "3"
@@ -1010,6 +1090,21 @@ config MTRR
 
          See <file:Documentation/mtrr.txt> for more information.
 
+config X86_PAT
+       bool
+       prompt "x86 PAT support"
+       depends on MTRR
+       help
+         Use PAT attributes to setup page level cache control.
+
+         PATs are the modern equivalents of MTRRs and are much more
+         flexible than MTRRs.
+
+         Say N here if you see bootup problems (boot crash, boot hang,
+         spontaneous reboots) or a non-working video driver.
+
+         If unsure, say Y.
+
 config EFI
        def_bool n
        prompt "EFI runtime service support"
@@ -1078,6 +1173,7 @@ source kernel/Kconfig.hz
 
 config KEXEC
        bool "kexec system call"
+       depends on X86_BIOS_REBOOT
        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
@@ -1259,7 +1355,7 @@ menuconfig APM
          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
+         and more information, read <file:Documentation/power/pm.txt> and the
          Battery Powered Linux mini-HOWTO, available from
          <http://www.tldp.org/docs.html#howto>.
 
@@ -1379,7 +1475,7 @@ endmenu
 menu "Bus options (PCI etc.)"
 
 config PCI
-       bool "PCI support" if !X86_VISWS
+       bool "PCI support" if !X86_VISWS && !X86_VSMP
        depends on !X86_VOYAGER
        default y
        select ARCH_SUPPORTS_MSI if (X86_LOCAL_APIC && X86_IO_APIC)
@@ -1417,6 +1513,10 @@ config PCI_GOMMCONFIG
 config PCI_GODIRECT
        bool "Direct"
 
+config PCI_GOOLPC
+       bool "OLPC"
+       depends on OLPC
+
 config PCI_GOANY
        bool "Any"
 
@@ -1429,12 +1529,16 @@ config PCI_BIOS
 # x86-64 doesn't support PCI BIOS access from long mode so always go direct.
 config PCI_DIRECT
        def_bool y
-       depends on PCI && (X86_64 || (PCI_GODIRECT || PCI_GOANY) || X86_VISWS)
+       depends on PCI && (X86_64 || (PCI_GODIRECT || PCI_GOANY || PCI_GOOLPC) || X86_VISWS)
 
 config PCI_MMCONFIG
        def_bool y
        depends on X86_32 && PCI && ACPI && (PCI_GOMMCONFIG || PCI_GOANY)
 
+config PCI_OLPC
+       def_bool y
+       depends on PCI && OLPC && (PCI_GOOLPC || PCI_GOANY)
+
 config PCI_DOMAINS
        def_bool y
        depends on PCI
@@ -1554,6 +1658,13 @@ config GEODE_MFGPT_TIMER
          MFGPTs have a better resolution and max interval than the
          generic PIT, and are suitable for use as high-res timers.
 
+config OLPC
+       bool "One Laptop Per Child support"
+       default n
+       help
+         Add support for detecting the unique features of the OLPC
+         XO hardware.
+
 endif # X86_32
 
 config K8_NB