Merge branch 'x86-kaslr-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[pandora-kernel.git] / arch / x86 / Kconfig
index 5c9e19d..cd18b83 100644 (file)
@@ -22,9 +22,11 @@ config X86_64
 config X86
        def_bool y
        select ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS
 config X86
        def_bool y
        select ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS
+       select ARCH_MIGHT_HAVE_PC_PARPORT
        select HAVE_AOUT if X86_32
        select HAVE_UNSTABLE_SCHED_CLOCK
        select ARCH_SUPPORTS_NUMA_BALANCING
        select HAVE_AOUT if X86_32
        select HAVE_UNSTABLE_SCHED_CLOCK
        select ARCH_SUPPORTS_NUMA_BALANCING
+       select ARCH_SUPPORTS_INT128 if X86_64
        select ARCH_WANTS_PROT_NUMA_PROT_NONE
        select HAVE_IDE
        select HAVE_OPROFILE
        select ARCH_WANTS_PROT_NUMA_PROT_NONE
        select HAVE_IDE
        select HAVE_OPROFILE
@@ -90,7 +92,6 @@ config X86
        select GENERIC_IRQ_SHOW
        select GENERIC_CLOCKEVENTS_MIN_ADJUST
        select IRQ_FORCED_THREADING
        select GENERIC_IRQ_SHOW
        select GENERIC_CLOCKEVENTS_MIN_ADJUST
        select IRQ_FORCED_THREADING
-       select USE_GENERIC_SMP_HELPERS if SMP
        select HAVE_BPF_JIT if X86_64
        select HAVE_ARCH_TRANSPARENT_HUGEPAGE
        select CLKEVT_I8253
        select HAVE_BPF_JIT if X86_64
        select HAVE_ARCH_TRANSPARENT_HUGEPAGE
        select CLKEVT_I8253
@@ -123,6 +124,8 @@ config X86
        select COMPAT_OLD_SIGACTION if IA32_EMULATION
        select RTC_LIB
        select HAVE_DEBUG_STACKOVERFLOW
        select COMPAT_OLD_SIGACTION if IA32_EMULATION
        select RTC_LIB
        select HAVE_DEBUG_STACKOVERFLOW
+       select HAVE_IRQ_EXIT_ON_IRQ_STACK if X86_64
+       select HAVE_CC_STACKPROTECTOR
 
 config INSTRUCTION_DECODER
        def_bool y
 
 config INSTRUCTION_DECODER
        def_bool y
@@ -254,10 +257,6 @@ config ARCH_HWEIGHT_CFLAGS
        default "-fcall-saved-ecx -fcall-saved-edx" if X86_32
        default "-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx -fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 -fcall-saved-r11" if X86_64
 
        default "-fcall-saved-ecx -fcall-saved-edx" if X86_32
        default "-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx -fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 -fcall-saved-r11" if X86_64
 
-config ARCH_CPU_PROBE_RELEASE
-       def_bool y
-       depends on HOTPLUG_CPU
-
 config ARCH_SUPPORTS_UPROBES
        def_bool y
 
 config ARCH_SUPPORTS_UPROBES
        def_bool y
 
@@ -440,42 +439,26 @@ config X86_INTEL_CE
          This option compiles in support for the CE4100 SOC for settop
          boxes and media devices.
 
          This option compiles in support for the CE4100 SOC for settop
          boxes and media devices.
 
-config X86_WANT_INTEL_MID
+config X86_INTEL_MID
        bool "Intel MID platform support"
        depends on X86_32
        depends on X86_EXTENDED_PLATFORM
        bool "Intel MID platform support"
        depends on X86_32
        depends on X86_EXTENDED_PLATFORM
-       ---help---
-         Select to build a kernel capable of supporting Intel MID platform
-         systems which do not have the PCI legacy interfaces (Moorestown,
-         Medfield). If you are building for a PC class system say N here.
-
-if X86_WANT_INTEL_MID
-
-config X86_INTEL_MID
-       bool
-
-config X86_MDFLD
-       bool "Medfield MID platform"
        depends on PCI
        depends on PCI_GOANY
        depends on X86_IO_APIC
        depends on PCI
        depends on PCI_GOANY
        depends on X86_IO_APIC
-       select X86_INTEL_MID
        select SFI
        select SFI
+       select I2C
        select DW_APB_TIMER
        select APB_TIMER
        select DW_APB_TIMER
        select APB_TIMER
-       select I2C
-       select SPI
        select INTEL_SCU_IPC
        select INTEL_SCU_IPC
-       select X86_PLATFORM_DEVICES
        select MFD_INTEL_MSIC
        ---help---
        select MFD_INTEL_MSIC
        ---help---
-         Medfield is Intel's Low Power Intel Architecture (LPIA) based Moblin
-         Internet Device(MID) platform. 
-         Unlike standard x86 PCs, Medfield does not have many legacy devices
-         nor standard legacy replacement devices/features. e.g. Medfield does
-         not contain i8259, i8254, HPET, legacy BIOS, most of the io ports.
+         Select to build a kernel capable of supporting Intel MID (Mobile
+         Internet Device) platform systems which do not have the PCI legacy
+         interfaces. If you are building for a PC class system say N here.
 
 
-endif
+         Intel MID platforms are based on an Intel processor and chipset which
+         consume less power than most of the x86 derivatives.
 
 config X86_INTEL_LPSS
        bool "Intel Low Power Subsystem Support"
 
 config X86_INTEL_LPSS
        bool "Intel Low Power Subsystem Support"
@@ -638,10 +621,10 @@ config PARAVIRT_SPINLOCKS
          spinlock implementation with something virtualization-friendly
          (for example, block the virtual CPU rather than spinning).
 
          spinlock implementation with something virtualization-friendly
          (for example, block the virtual CPU rather than spinning).
 
-         Unfortunately the downside is an up to 5% performance hit on
-         native kernels, with various workloads.
+         It has a minimal impact on native kernels and gives a nice performance
+         benefit on paravirtualized KVM / Xen kernels.
 
 
-         If you are unsure how to answer this question, answer N.
+         If you are unsure how to answer this question, answer Y.
 
 source "arch/x86/xen/Kconfig"
 
 
 source "arch/x86/xen/Kconfig"
 
@@ -756,20 +739,25 @@ config DMI
          BIOS code.
 
 config GART_IOMMU
          BIOS code.
 
 config GART_IOMMU
-       bool "GART IOMMU support" if EXPERT
-       default y
+       bool "Old AMD GART IOMMU support"
        select SWIOTLB
        depends on X86_64 && PCI && AMD_NB
        ---help---
        select SWIOTLB
        depends on X86_64 && PCI && AMD_NB
        ---help---
-         Support for full DMA access of devices with 32bit memory access only
-         on systems with more than 3GB. This is usually needed for USB,
-         sound, many IDE/SATA chipsets and some other devices.
-         Provides a driver for the AMD Athlon64/Opteron/Turion/Sempron GART
-         based hardware IOMMU and a software bounce buffer based IOMMU used
-         on Intel systems and as fallback.
-         The code is only active when needed (enough memory and limited
-         device) unless CONFIG_IOMMU_DEBUG or iommu=force is specified
-         too.
+         Provides a driver for older AMD Athlon64/Opteron/Turion/Sempron
+         GART based hardware IOMMUs.
+
+         The GART supports full DMA access for devices with 32-bit access
+         limitations, on systems with more than 3 GB. This is usually needed
+         for USB, sound, many IDE/SATA chipsets and some other devices.
+
+         Newer systems typically have a modern AMD IOMMU, supported via
+         the CONFIG_AMD_IOMMU=y config option.
+
+         In normal configurations this driver is only active when needed:
+         there's more than 3 GB of memory and the system contains a
+         32-bit limited device.
+
+         If unsure, say Y.
 
 config CALGARY_IOMMU
        bool "IBM Calgary IOMMU support"
 
 config CALGARY_IOMMU
        bool "IBM Calgary IOMMU support"
@@ -825,14 +813,16 @@ config MAXSMP
 config NR_CPUS
        int "Maximum number of CPUs" if SMP && !MAXSMP
        range 2 8 if SMP && X86_32 && !X86_BIGSMP
 config NR_CPUS
        int "Maximum number of CPUs" if SMP && !MAXSMP
        range 2 8 if SMP && X86_32 && !X86_BIGSMP
-       range 2 512 if SMP && !MAXSMP
+       range 2 512 if SMP && !MAXSMP && !CPUMASK_OFFSTACK
+       range 2 8192 if SMP && !MAXSMP && CPUMASK_OFFSTACK && X86_64
        default "1" if !SMP
        default "1" if !SMP
-       default "4096" if MAXSMP
+       default "8192" if MAXSMP
        default "32" if SMP && (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP || X86_ES7000)
        default "8" if SMP
        ---help---
          This allows you to specify the maximum number of CPUs which this
        default "32" if SMP && (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP || X86_ES7000)
        default "8" if SMP
        ---help---
          This allows you to specify the maximum number of CPUs which this
-         kernel will support.  The maximum supported value is 512 and the
+         kernel will support.  If CPUMASK_OFFSTACK is enabled, the maximum
+         supported value is 4096, otherwise the maximum value is 512.  The
          minimum value which makes sense is 2.
 
          This is purely to save memory - each supported CPU adds
          minimum value which makes sense is 2.
 
          This is purely to save memory - each supported CPU adds
@@ -860,7 +850,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_32_NON_STANDARD
+       depends on X86_32 && !SMP && !X86_32_NON_STANDARD && !PCI_MSI
        ---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
@@ -885,11 +875,11 @@ config X86_UP_IOAPIC
 
 config X86_LOCAL_APIC
        def_bool y
 
 config X86_LOCAL_APIC
        def_bool y
-       depends on X86_64 || SMP || X86_32_NON_STANDARD || X86_UP_APIC
+       depends on X86_64 || SMP || X86_32_NON_STANDARD || X86_UP_APIC || PCI_MSI
 
 config X86_IO_APIC
        def_bool y
 
 config X86_IO_APIC
        def_bool y
-       depends on X86_64 || SMP || X86_32_NON_STANDARD || X86_UP_IOAPIC
+       depends on X86_64 || SMP || X86_32_NON_STANDARD || X86_UP_IOAPIC || PCI_MSI
 
 config X86_VISWS_APIC
        def_bool y
 
 config X86_VISWS_APIC
        def_bool y
@@ -1033,6 +1023,7 @@ config X86_REBOOTFIXUPS
 
 config MICROCODE
        tristate "CPU microcode loading support"
 
 config MICROCODE
        tristate "CPU microcode loading support"
+       depends on CPU_SUP_AMD || CPU_SUP_INTEL
        select FW_LOADER
        ---help---
 
        select FW_LOADER
        ---help---
 
@@ -1074,10 +1065,6 @@ config MICROCODE_OLD_INTERFACE
        def_bool y
        depends on MICROCODE
 
        def_bool y
        depends on MICROCODE
 
-config MICROCODE_INTEL_LIB
-       def_bool y
-       depends on MICROCODE_INTEL
-
 config MICROCODE_INTEL_EARLY
        def_bool n
 
 config MICROCODE_INTEL_EARLY
        def_bool n
 
@@ -1593,7 +1580,7 @@ config EFI_STUB
           This kernel feature allows a bzImage to be loaded directly
          by EFI firmware without the use of a bootloader.
 
           This kernel feature allows a bzImage to be loaded directly
          by EFI firmware without the use of a bootloader.
 
-         See Documentation/x86/efi-stub.txt for more information.
+         See Documentation/efi-stub.txt for more information.
 
 config SECCOMP
        def_bool y
 
 config SECCOMP
        def_bool y
@@ -1611,22 +1598,6 @@ config SECCOMP
 
          If unsure, say Y. Only embedded should say N here.
 
 
          If unsure, say Y. Only embedded should say N here.
 
-config CC_STACKPROTECTOR
-       bool "Enable -fstack-protector buffer overflow detection"
-       ---help---
-         This option turns on the -fstack-protector GCC feature. This
-         feature puts, at the beginning of functions, a canary value on
-         the stack just before the return address, and validates
-         the value just before actually returning.  Stack based buffer
-         overflows (that need to overwrite this return address) now also
-         overwrite the canary, which gets detected and the attack is then
-         neutralized via a kernel panic.
-
-         This feature requires gcc version 4.2 or above, or a distribution
-         gcc with the feature backported. Older versions are automatically
-         detected and for those versions, this configuration option is
-         ignored. (and a warning is printed during bootup)
-
 source kernel/Kconfig.hz
 
 config KEXEC
 source kernel/Kconfig.hz
 
 config KEXEC
@@ -1931,6 +1902,10 @@ config USE_PERCPU_NUMA_NODE_ID
        def_bool y
        depends on NUMA
 
        def_bool y
        depends on NUMA
 
+config ARCH_ENABLE_SPLIT_PMD_PTLOCK
+       def_bool y
+       depends on X86_64 || X86_PAE
+
 menu "Power management and ACPI options"
 
 config ARCH_HIBERNATION_HEADER
 menu "Power management and ACPI options"
 
 config ARCH_HIBERNATION_HEADER
@@ -2434,6 +2409,14 @@ config X86_DMA_REMAP
        bool
        depends on STA2X11
 
        bool
        depends on STA2X11
 
+config IOSF_MBI
+       bool
+       depends on PCI
+       ---help---
+         To be selected by modules requiring access to the Intel OnChip System
+         Fabric (IOSF) Sideband MailBox Interface (MBI). For MBI platforms
+         enumerable by PCI.
+
 source "net/Kconfig"
 
 source "drivers/Kconfig"
 source "net/Kconfig"
 
 source "drivers/Kconfig"