Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal
[linux-3.10.git] / arch / x86 / Kconfig
index 6c30443..9195fd8 100644 (file)
@@ -69,8 +69,8 @@ config X86
        select HAVE_PERF_USER_STACK_DUMP
        select HAVE_DEBUG_KMEMLEAK
        select ANON_INODES
-       select HAVE_ALIGNED_STRUCT_PAGE if SLUB && !M386
-       select HAVE_CMPXCHG_LOCAL if !M386
+       select HAVE_ALIGNED_STRUCT_PAGE if SLUB
+       select HAVE_CMPXCHG_LOCAL
        select HAVE_CMPXCHG_DOUBLE
        select HAVE_ARCH_KMEMCHECK
        select HAVE_USER_RETURN_NOTIFIER
@@ -112,6 +112,7 @@ config X86
        select GENERIC_KERNEL_EXECVE
        select MODULES_USE_ELF_REL if X86_32
        select MODULES_USE_ELF_RELA if X86_64
+       select CLONE_BACKWARDS if X86_32
 
 config INSTRUCTION_DECODER
        def_bool y
@@ -171,13 +172,8 @@ config ARCH_MAY_HAVE_PC_FDC
        def_bool y
        depends on ISA_DMA_API
 
-config RWSEM_GENERIC_SPINLOCK
-       def_bool y
-       depends on !X86_XADD
-
 config RWSEM_XCHGADD_ALGORITHM
        def_bool y
-       depends on X86_XADD
 
 config GENERIC_CALIBRATE_DELAY
        def_bool y
@@ -1100,7 +1096,7 @@ config HIGHMEM4G
 
 config HIGHMEM64G
        bool "64GB"
-       depends on !M386 && !M486
+       depends on !M486
        select X86_PAE
        ---help---
          Select this if you have a 32-bit processor and more than 4
@@ -1698,6 +1694,50 @@ config HOTPLUG_CPU
            automatically on SMP systems. )
          Say N if you want to disable CPU hotplug.
 
+config BOOTPARAM_HOTPLUG_CPU0
+       bool "Set default setting of cpu0_hotpluggable"
+       default n
+       depends on HOTPLUG_CPU && EXPERIMENTAL
+       ---help---
+         Set whether default state of cpu0_hotpluggable is on or off.
+
+         Say Y here to enable CPU0 hotplug by default. If this switch
+         is turned on, there is no need to give cpu0_hotplug kernel
+         parameter and the CPU0 hotplug feature is enabled by default.
+
+         Please note: there are two known CPU0 dependencies if you want
+         to enable the CPU0 hotplug feature either by this switch or by
+         cpu0_hotplug kernel parameter.
+
+         First, resume from hibernate or suspend always starts from CPU0.
+         So hibernate and suspend are prevented if CPU0 is offline.
+
+         Second dependency is PIC interrupts always go to CPU0. CPU0 can not
+         offline if any interrupt can not migrate out of CPU0. There may
+         be other CPU0 dependencies.
+
+         Please make sure the dependencies are under your control before
+         you enable this feature.
+
+         Say N if you don't want to enable CPU0 hotplug feature by default.
+         You still can enable the CPU0 hotplug feature at boot by kernel
+         parameter cpu0_hotplug.
+
+config DEBUG_HOTPLUG_CPU0
+       def_bool n
+       prompt "Debug CPU0 hotplug"
+       depends on HOTPLUG_CPU && EXPERIMENTAL
+       ---help---
+         Enabling this option offlines CPU0 (if CPU0 can be offlined) as
+         soon as possible and boots up userspace with CPU0 offlined. User
+         can online CPU0 back after boot time.
+
+         To debug CPU0 hotplug, you need to enable CPU0 offline/online
+         feature by either turning on CONFIG_BOOTPARAM_HOTPLUG_CPU0 during
+         compilation or giving cpu0_hotplug kernel parameter at boot.
+
+         If unsure, say N.
+
 config COMPAT_VDSO
        def_bool y
        prompt "Compat VDSO support"