Merge branch 'mv-merge'
[sfrench/cifs-2.6.git] / arch / x86_64 / Kconfig
index dd2d116b9ab87985e2927e6cc598a4d7a09226b5..4310b4a311a55a79326169751c93b3362d348b6f 100644 (file)
@@ -45,6 +45,10 @@ config RWSEM_GENERIC_SPINLOCK
 config RWSEM_XCHGADD_ALGORITHM
        bool
 
+config GENERIC_HWEIGHT
+       bool
+       default y
+
 config GENERIC_CALIBRATE_DELAY
        bool
        default y
@@ -69,11 +73,33 @@ config ARCH_MAY_HAVE_PC_FDC
        bool
        default y
 
+config DMI
+       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_VSMP
+       bool "Support for ScaleMP vSMP"
+        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.
+
+endchoice
+
 choice
        prompt "Processor family"
        default MK8
@@ -224,6 +250,15 @@ config SCHED_SMT
          cost of slightly increased overhead in some places. If unsure say
          N here.
 
+config SCHED_MC
+       bool "Multi-core scheduler support"
+       depends on SMP
+       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 NUMA
@@ -283,7 +318,11 @@ config ARCH_DISCONTIGMEM_DEFAULT
 
 config ARCH_SPARSEMEM_ENABLE
        def_bool y
-       depends on NUMA
+       depends on (NUMA || EXPERIMENTAL)
+
+config ARCH_MEMORY_PROBE
+       def_bool y
+       depends on MEMORY_HOTPLUG
 
 config ARCH_FLATMEM_ENABLE
        def_bool y
@@ -293,10 +332,15 @@ source "mm/Kconfig"
 
 config HAVE_ARCH_EARLY_PFN_TO_NID
        def_bool y
+       depends on NUMA
+
+config OUT_OF_LINE_PFN_TO_PAGE
+       def_bool y
+       depends on DISCONTIGMEM
 
 config NR_CPUS
        int "Maximum number of CPUs (2-256)"
-       range 2 256
+       range 2 255
        depends on SMP
        default "8"
        help
@@ -327,52 +371,31 @@ config HPET_TIMER
          as it is off-chip.  You can find the HPET spec at
          <http://www.intel.com/hardwaredesign/hpetspec.htm>.
 
-config X86_PM_TIMER
-       bool "PM timer"
-       depends on ACPI
-       default y
-       help
-         Support the ACPI PM timer for time keeping. This is slow,
-         but is useful on some chipsets without HPET on systems with more
-         than one CPU. On a single processor or single socket multi core
-         system it is normally not required.
-         When the PM timer is active 64bit vsyscalls are disabled
-         and should not be enabled (/proc/sys/kernel/vsyscall64 should
-         not be changed).
-         The kernel selects the PM timer only as a last resort, so it is
-         useful to enable just in case.
-
 config HPET_EMULATE_RTC
        bool "Provide RTC interrupt"
        depends on HPET_TIMER && RTC=y
 
 config GART_IOMMU
-       bool "IOMMU support"
+       bool "K8 GART IOMMU support"
        default y
+       select SWIOTLB
        depends on PCI
        help
-         Support the IOMMU. Needed to run systems with more than 3GB of memory
-         properly with 32-bit PCI devices that do not support DAC (Double Address
-         Cycle). The IOMMU can be turned off at runtime with the iommu=off parameter.
-         Normally the kernel will take the right choice by itself.
-         This option includes a driver for the AMD Opteron/Athlon64 IOMMU
-         and a software emulation used on some other systems.
-         If unsure, say Y.
+         Support for hardware IOMMU in AMD's Opteron/Athlon64 Processors
+         and for the bounce buffering software IOMMU.
+         Needed to run systems with more than 3GB of memory properly with
+         32-bit PCI devices that do not support DAC (Double Address Cycle).
+         The IOMMU can be turned off at runtime with the iommu=off parameter.
+         Normally the kernel will take the right choice by itself.
+         This option includes a driver for the AMD Opteron/Athlon64 IOMMU
+         northbridge and a software emulation used on other systems without
+         hardware IOMMU.  If unsure, say Y.
 
 # need this always enabled with GART_IOMMU for the VIA workaround
 config SWIOTLB
-       bool
-       depends on GART_IOMMU
-       default y
-
-config DUMMY_IOMMU
        bool
-       depends on !GART_IOMMU && !SWIOTLB
        default y
-       help
-         Don't use IOMMU code. This will cause problems when you have more than 4GB
-         of memory and any 32-bit devices. Don't turn on unless you know what you
-         are doing.
+       depends on GART_IOMMU
 
 config X86_MCE
        bool "Machine check support" if EMBEDDED
@@ -399,17 +422,6 @@ config X86_MCE_AMD
           Additional support for AMD specific MCE features such as
           the DRAM Error Threshold.
 
-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
@@ -429,11 +441,29 @@ config KEXEC
 
 config CRASH_DUMP
        bool "kernel crash dumps (EXPERIMENTAL)"
-       depends on EMBEDDED
        depends on EXPERIMENTAL
        help
                Generate crash dump after being started by kexec.
 
+config PHYSICAL_START
+       hex "Physical address where the kernel is loaded" if (EMBEDDED || CRASH_DUMP)
+       default "0x1000000" if CRASH_DUMP
+       default "0x200000"
+       help
+         This gives the physical address where the kernel is loaded. Normally
+         for regular kernels this value is 0x200000 (2MB). But in the case
+         of kexec on panic the fail safe kernel needs to run at a different
+         address than the panic-ed kernel. This option is used to set the load
+         address for kernels used to capture crash dump on being kexec'ed
+         after panic. The default value for crash dump kernels is
+         0x1000000 (16MB). This can also be set based on the "X" value as
+         specified in the "crashkernel=YM@XM" command line boot parameter
+         passed to the panic-ed kernel. Typically this parameter is set as
+         crashkernel=64M@16M. Please take a look at
+         Documentation/kdump/kdump.txt for more details about crash dumps.
+
+         Don't change this unless you know what you are doing.
+
 config SECCOMP
        bool "Enable seccomp to safely compute untrusted bytecode"
        depends on PROC_FS
@@ -453,6 +483,14 @@ config SECCOMP
 
 source kernel/Kconfig.hz
 
+config REORDER
+       bool "Function reordering"
+       default n
+       help
+         This option enables the toolchain to reorder functions for a more 
+         optimal TLB usage. If you have pretty much any version of binutils, 
+        this can increase your kernel build time by roughly one minute.
+
 endmenu
 
 #
@@ -501,16 +539,6 @@ config PCI_MMCONFIG
        bool "Support mmconfig PCI config space access"
        depends on PCI && ACPI
 
-config UNORDERED_IO
-       bool "Unordered IO mapping access"
-       depends on EXPERIMENTAL
-       help
-         Use unordered stores to access IO memory mappings in device drivers.
-        Still very experimental. When a driver works on IA64/ppc64/pa-risc it should
-        work with this option, but it makes the drivers behave differently
-        from i386. Requires that the driver writer used memory barriers
-        properly.
-
 source "drivers/pci/pcie/Kconfig"
 
 source "drivers/pci/Kconfig"
@@ -566,6 +594,7 @@ source "arch/x86_64/oprofile/Kconfig"
 
 config KPROBES
        bool "Kprobes (EXPERIMENTAL)"
+       depends on EXPERIMENTAL && MODULES
        help
          Kprobes allows you to trap at almost any kernel address and
          execute a callback function.  register_kprobe() establishes