KVM: MMU: fix dirty bit setting when removing write permissions
[safe/jmp/linux-2.6] / arch / x86 / Kconfig
index e4b3886..e5790fe 100644 (file)
@@ -23,6 +23,7 @@ config X86
        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 GENERIC_LOCKBREAK
@@ -114,7 +115,10 @@ config ARCH_HAS_CPU_RELAX
        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
@@ -138,6 +142,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
@@ -168,7 +175,7 @@ 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
@@ -178,7 +185,7 @@ config X86_BIOS_REBOOT
 
 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
@@ -238,8 +245,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.
@@ -251,9 +257,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,
@@ -324,8 +329,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.
@@ -367,6 +373,25 @@ 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
+       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
@@ -380,6 +405,35 @@ config PARAVIRT
 
 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)
@@ -504,7 +558,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
@@ -514,7 +568,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
@@ -874,6 +928,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
@@ -883,7 +946,7 @@ config NUMA_EMU
          number of nodes. This is only useful for debugging.
 
 config NODES_SHIFT
-       int
+       int "Max num nodes shift(1-15)"
        range 1 15  if X86_64
        default "6" if X86_64
        default "4" if X86_NUMAQ
@@ -1007,6 +1070,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"
@@ -1075,6 +1153,7 @@ source kernel/Kconfig.hz
 
 config KEXEC
        bool "kexec system call"
+       depends on X86_64 || 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
@@ -1376,7 +1455,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)