Merge branch 'linus' into core/generic-dma-coherent
[pandora-kernel.git] / arch / x86 / Kconfig
index 112afd3..18a58ec 100644 (file)
@@ -23,8 +23,11 @@ config X86
        select HAVE_OPROFILE
        select HAVE_KPROBES
        select HAVE_KRETPROBES
        select HAVE_OPROFILE
        select HAVE_KPROBES
        select HAVE_KRETPROBES
+       select HAVE_DYNAMIC_FTRACE
+       select HAVE_FTRACE
        select HAVE_KVM if ((X86_32 && !X86_VOYAGER && !X86_VISWS && !X86_NUMAQ) || X86_64)
        select HAVE_ARCH_KGDB if !X86_VOYAGER
        select HAVE_KVM if ((X86_32 && !X86_VOYAGER && !X86_VISWS && !X86_NUMAQ) || X86_64)
        select HAVE_ARCH_KGDB if !X86_VOYAGER
+       select HAVE_GENERIC_DMA_COHERENT if X86_32
 
 config ARCH_DEFCONFIG
        string
 
 config ARCH_DEFCONFIG
        string
@@ -168,6 +171,7 @@ config GENERIC_PENDING_IRQ
 config X86_SMP
        bool
        depends on SMP && ((X86_32 && !X86_VOYAGER) || X86_64)
 config X86_SMP
        bool
        depends on SMP && ((X86_32 && !X86_VOYAGER) || X86_64)
+       select USE_GENERIC_SMP_HELPERS
        default y
 
 config X86_32_SMP
        default y
 
 config X86_32_SMP
@@ -181,12 +185,12 @@ config X86_64_SMP
 config X86_HT
        bool
        depends on SMP
 config X86_HT
        bool
        depends on SMP
-       depends on (X86_32 && !(X86_VISWS || X86_VOYAGER)) || X86_64
+       depends on (X86_32 && !X86_VOYAGER) || X86_64
        default y
 
 config X86_BIOS_REBOOT
        bool
        default y
 
 config X86_BIOS_REBOOT
        bool
-       depends on !X86_VISWS && !X86_VOYAGER
+       depends on !X86_VOYAGER
        default y
 
 config X86_TRAMPOLINE
        default y
 
 config X86_TRAMPOLINE
@@ -232,14 +236,13 @@ config SMP
 
 config X86_FIND_SMP_CONFIG
        def_bool y
 
 config X86_FIND_SMP_CONFIG
        def_bool y
-       depends on X86_MPPARSE || X86_VOYAGER || X86_VISWS
-       depends on X86_32
+       depends on X86_MPPARSE || X86_VOYAGER
 
 if ACPI
 config X86_MPPARSE
        def_bool y
        bool "Enable MPS table"
 
 if ACPI
 config X86_MPPARSE
        def_bool y
        bool "Enable MPS table"
-       depends on X86_LOCAL_APIC && !X86_VISWS
+       depends on X86_LOCAL_APIC
        help
          For old smp systems that do not have proper acpi support. Newer systems
          (esp with 64bit cpus) with acpi support, MADT and DSDT will override it
        help
          For old smp systems that do not have proper acpi support. Newer systems
          (esp with 64bit cpus) with acpi support, MADT and DSDT will override it
@@ -248,7 +251,7 @@ endif
 if !ACPI
 config X86_MPPARSE
        def_bool y
 if !ACPI
 config X86_MPPARSE
        def_bool y
-       depends on X86_LOCAL_APIC && !X86_VISWS
+       depends on X86_LOCAL_APIC
 endif
 
 choice
 endif
 
 choice
@@ -282,18 +285,6 @@ config X86_VOYAGER
          If you do not specifically know you have a Voyager based machine,
          say N here, otherwise the kernel you build will not be bootable.
 
          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_VISWS
-       bool "SGI 320/540 (Visual Workstation)"
-       depends on X86_32 && !PCI
-       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"
        depends on X86_32
 config X86_GENERICARCH
        bool "Generic architecture"
        depends on X86_32
@@ -356,7 +347,7 @@ config X86_RDC321X
 config X86_VSMP
        bool "Support for ScaleMP vSMP"
        select PARAVIRT
 config X86_VSMP
        bool "Support for ScaleMP vSMP"
        select PARAVIRT
-       depends on X86_64 && !PCI
+       depends on X86_64 && PCI
        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
        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
@@ -364,6 +355,18 @@ config X86_VSMP
 
 endchoice
 
 
 endchoice
 
+config X86_VISWS
+       bool "SGI 320/540 (Visual Workstation)"
+       depends on X86_32 && PCI && !X86_VOYAGER && X86_MPPARSE && PCI_GODIRECT
+       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 run on general
+         PCs as well. See <file:Documentation/sgi-visws.txt> for details.
+
 config SCHED_NO_NO_OMIT_FRAME_POINTER
        def_bool y
        prompt "Single-depth WCHAN output"
 config SCHED_NO_NO_OMIT_FRAME_POINTER
        def_bool y
        prompt "Single-depth WCHAN output"
@@ -392,7 +395,7 @@ config VMI
        bool "VMI Guest support"
        select PARAVIRT
        depends on X86_32
        bool "VMI Guest support"
        select PARAVIRT
        depends on X86_32
-       depends on !(X86_VISWS || X86_VOYAGER)
+       depends on !X86_VOYAGER
        help
          VMI provides a paravirtualized interface to the VMware ESX server
          (it could be used by other hypervisors in theory too, but is not
        help
          VMI provides a paravirtualized interface to the VMware ESX server
          (it could be used by other hypervisors in theory too, but is not
@@ -403,7 +406,7 @@ config KVM_CLOCK
        bool "KVM paravirtualized clock"
        select PARAVIRT
        select PARAVIRT_CLOCK
        bool "KVM paravirtualized clock"
        select PARAVIRT
        select PARAVIRT_CLOCK
-       depends on !(X86_VISWS || X86_VOYAGER)
+       depends on !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
        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
@@ -414,7 +417,7 @@ config KVM_CLOCK
 config KVM_GUEST
        bool "KVM Guest support"
        select PARAVIRT
 config KVM_GUEST
        bool "KVM Guest support"
        select PARAVIRT
-       depends on !(X86_VISWS || X86_VOYAGER)
+       depends on !X86_VOYAGER
        help
         This option enables various optimizations for running under the KVM
         hypervisor.
        help
         This option enables various optimizations for running under the KVM
         hypervisor.
@@ -423,7 +426,7 @@ source "arch/x86/lguest/Kconfig"
 
 config PARAVIRT
        bool "Enable paravirtualization code"
 
 config PARAVIRT
        bool "Enable paravirtualization code"
-       depends on !(X86_VISWS || X86_VOYAGER)
+       depends on !X86_VOYAGER
        help
          This changes the kernel so it can modify itself when it is run
          under a hypervisor, potentially improving performance significantly
        help
          This changes the kernel so it can modify itself when it is run
          under a hypervisor, potentially improving performance significantly
@@ -436,10 +439,16 @@ config PARAVIRT_CLOCK
 
 endif
 
 
 endif
 
+config PARAVIRT_DEBUG
+       bool "paravirt-ops debugging"
+       depends on PARAVIRT && DEBUG_KERNEL
+       help
+         Enable to debug paravirt_ops internals.  Specifically, BUG if
+        a paravirt_op is missing when it is called.
+
 config MEMTEST
        bool "Memtest"
        depends on X86_64
 config MEMTEST
        bool "Memtest"
        depends on X86_64
-       default y
        help
          This option adds a kernel parameter 'memtest', which allows memtest
          to be set.
        help
          This option adds a kernel parameter 'memtest', which allows memtest
          to be set.
@@ -447,16 +456,7 @@ config MEMTEST
                memtest=1, mean do 1 test pattern;
                ...
                memtest=4, mean do 4 test patterns.
                memtest=1, mean do 1 test pattern;
                ...
                memtest=4, mean do 4 test patterns.
-         If you are unsure how to answer this question, answer Y.
-
-config ACPI_SRAT
-       def_bool y
-       depends on X86_32 && ACPI && NUMA && X86_GENERICARCH
-       select ACPI_NUMA
-
-config HAVE_ARCH_PARSE_SRAT
-       def_bool y
-       depends on ACPI_SRAT
+         If you are unsure how to answer this question, answer N.
 
 config X86_SUMMIT_NUMA
        def_bool y
 
 config X86_SUMMIT_NUMA
        def_bool y
@@ -578,7 +578,7 @@ config SWIOTLB
          3 GB of memory. If unsure, say Y.
 
 config IOMMU_HELPER
          3 GB of memory. If unsure, say Y.
 
 config IOMMU_HELPER
-       def_bool (CALGARY_IOMMU || GART_IOMMU || SWIOTLB)
+       def_bool (CALGARY_IOMMU || GART_IOMMU || SWIOTLB || AMD_IOMMU)
 config MAXSMP
        bool "Configure Maximum number of SMP Processors and NUMA Nodes"
        depends on X86_64 && SMP
 config MAXSMP
        bool "Configure Maximum number of SMP Processors and NUMA Nodes"
        depends on X86_64 && SMP
@@ -631,7 +631,7 @@ source "kernel/Kconfig.preempt"
 
 config X86_UP_APIC
        bool "Local APIC support on uniprocessors"
 
 config X86_UP_APIC
        bool "Local APIC support on uniprocessors"
-       depends on X86_32 && !SMP && !(X86_VISWS || X86_VOYAGER || X86_GENERICARCH)
+       depends on X86_32 && !SMP && !(X86_VOYAGER || X86_GENERICARCH)
        help
          A local APIC (Advanced Programmable Interrupt Controller) is an
          integrated interrupt controller in the CPU. If you have a single-CPU
        help
          A local APIC (Advanced Programmable Interrupt Controller) is an
          integrated interrupt controller in the CPU. If you have a single-CPU
@@ -656,11 +656,11 @@ config X86_UP_IOAPIC
 
 config X86_LOCAL_APIC
        def_bool y
 
 config X86_LOCAL_APIC
        def_bool y
-       depends on X86_64 || (X86_32 && (X86_UP_APIC || ((X86_VISWS || SMP) && !X86_VOYAGER) || X86_GENERICARCH))
+       depends on X86_64 || (X86_32 && (X86_UP_APIC || (SMP && !X86_VOYAGER) || X86_GENERICARCH))
 
 config X86_IO_APIC
        def_bool y
 
 config X86_IO_APIC
        def_bool y
-       depends on X86_64 || (X86_32 && (X86_UP_IOAPIC || (SMP && !(X86_VISWS || X86_VOYAGER)) || X86_GENERICARCH))
+       depends on X86_64 || (X86_32 && (X86_UP_IOAPIC || (SMP && !X86_VOYAGER) || X86_GENERICARCH))
 
 config X86_VISWS_APIC
        def_bool y
 
 config X86_VISWS_APIC
        def_bool y
@@ -714,7 +714,7 @@ config X86_MCE_NONFATAL
 
 config X86_MCE_P4THERMAL
        bool "check for P4 thermal throttling interrupt."
 
 config X86_MCE_P4THERMAL
        bool "check for P4 thermal throttling interrupt."
-       depends on X86_32 && X86_MCE && (X86_UP_APIC || SMP) && !X86_VISWS
+       depends on X86_32 && X86_MCE && (X86_UP_APIC || SMP)
        help
          Enabling this feature will cause a message to be printed when the P4
          enters thermal throttling.
        help
          Enabling this feature will cause a message to be printed when the P4
          enters thermal throttling.
@@ -1136,21 +1136,18 @@ config MTRR
          See <file:Documentation/mtrr.txt> for more information.
 
 config MTRR_SANITIZER
          See <file:Documentation/mtrr.txt> for more information.
 
 config MTRR_SANITIZER
-       def_bool y
+       bool
        prompt "MTRR cleanup support"
        depends on MTRR
        help
        prompt "MTRR cleanup support"
        depends on MTRR
        help
-         Convert MTRR layout from continuous to discrete, so some X driver
-         could add WB entries.
-
-         Say N here if you see bootup problems (boot crash, boot hang,
-         spontaneous reboots).
+         Convert MTRR layout from continuous to discrete, so X drivers can
+         add writeback entries.
 
 
-         Could be disabled with disable_mtrr_cleanup. Also mtrr_chunk_size
-         could be used to send largest mtrr entry size for continuous block
-         to hold holes (aka. UC entries)
+         Can be disabled with disable_mtrr_cleanup on the kernel command line.
+         The largest mtrr entry size for a continous block can be set with
+         mtrr_chunk_size.
 
 
-         If unsure, say Y.
+         If unsure, say N.
 
 config MTRR_SANITIZER_ENABLE_DEFAULT
        int "MTRR cleanup enable value (0-1)"
 
 config MTRR_SANITIZER_ENABLE_DEFAULT
        int "MTRR cleanup enable value (0-1)"
@@ -1167,7 +1164,7 @@ config MTRR_SANITIZER_SPARE_REG_NR_DEFAULT
        depends on MTRR_SANITIZER
        help
          mtrr cleanup spare entries default, it can be changed via
        depends on MTRR_SANITIZER
        help
          mtrr cleanup spare entries default, it can be changed via
-         mtrr_spare_reg_nr=
+         mtrr_spare_reg_nr=N on the kernel command line.
 
 config X86_PAT
        bool
 
 config X86_PAT
        bool
@@ -1269,7 +1266,6 @@ config KEXEC
 
 config CRASH_DUMP
        bool "kernel crash dumps (EXPERIMENTAL)"
 
 config CRASH_DUMP
        bool "kernel crash dumps (EXPERIMENTAL)"
-       depends on EXPERIMENTAL
        depends on X86_64 || (X86_32 && HIGHMEM)
        help
          Generate crash dump after being started by kexec.
        depends on X86_64 || (X86_32 && HIGHMEM)
        help
          Generate crash dump after being started by kexec.
@@ -1418,7 +1414,7 @@ config X86_APM_BOOT
 
 menuconfig APM
        tristate "APM (Advanced Power Management) BIOS support"
 
 menuconfig APM
        tristate "APM (Advanced Power Management) BIOS support"
-       depends on X86_32 && PM_SLEEP && !X86_VISWS
+       depends on X86_32 && PM_SLEEP
        ---help---
          APM is a BIOS specification for saving power using several different
          techniques. This is mostly useful for battery powered laptops with
        ---help---
          APM is a BIOS specification for saving power using several different
          techniques. This is mostly useful for battery powered laptops with
@@ -1565,7 +1561,7 @@ config PCI
 
 choice
        prompt "PCI access mode"
 
 choice
        prompt "PCI access mode"
-       depends on X86_32 && PCI && !X86_VISWS
+       depends on X86_32 && PCI
        default PCI_GOANY
        ---help---
          On PCI systems, the BIOS can be used to detect the PCI devices and
        default PCI_GOANY
        ---help---
          On PCI systems, the BIOS can be used to detect the PCI devices and
@@ -1602,12 +1598,12 @@ endchoice
 
 config PCI_BIOS
        def_bool y
 
 config PCI_BIOS
        def_bool y
-       depends on X86_32 && !X86_VISWS && PCI && (PCI_GOBIOS || PCI_GOANY)
+       depends on X86_32 && PCI && (PCI_GOBIOS || PCI_GOANY)
 
 # x86-64 doesn't support PCI BIOS access from long mode so always go direct.
 config PCI_DIRECT
        def_bool y
 
 # 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 || PCI_GOOLPC) || X86_VISWS)
+       depends on PCI && (X86_64 || (PCI_GODIRECT || PCI_GOANY || PCI_GOOLPC))
 
 config PCI_MMCONFIG
        def_bool y
 
 config PCI_MMCONFIG
        def_bool y
@@ -1667,7 +1663,7 @@ if X86_32
 
 config ISA
        bool "ISA support"
 
 config ISA
        bool "ISA support"
-       depends on !(X86_VOYAGER || X86_VISWS)
+       depends on !X86_VOYAGER
        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
        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
@@ -1694,7 +1690,7 @@ config EISA
 source "drivers/eisa/Kconfig"
 
 config MCA
 source "drivers/eisa/Kconfig"
 
 config MCA
-       bool "MCA support" if !(X86_VISWS || X86_VOYAGER)
+       bool "MCA support" if !X86_VOYAGER
        default y if X86_VOYAGER
        help
          MicroChannel Architecture is found in some IBM PS/2 machines and
        default y if X86_VOYAGER
        help
          MicroChannel Architecture is found in some IBM PS/2 machines and