[PATCH] kexec: x86 kexec core
[linux-2.6.git] / arch / i386 / Kconfig
index a8128f9..0f391cb 100644 (file)
@@ -68,7 +68,6 @@ config X86_VOYAGER
 
 config X86_NUMAQ
        bool "NUMAQ (IBM/Sequent)"
-       select DISCONTIGMEM
        select NUMA
        help
          This option is used for getting Linux to run on a (IBM/Sequent) NUMA
@@ -511,28 +510,7 @@ config SCHED_SMT
          cost of slightly increased overhead in some places. If unsure say
          N here.
 
-config PREEMPT
-       bool "Preemptible Kernel"
-       help
-         This option reduces the latency of the kernel when reacting to
-         real-time or interactive events by allowing a low priority process to
-         be preempted even if it is in kernel mode executing a system call.
-         This allows applications to run more reliably even when the system is
-         under load.
-
-         Say Y here if you are building a kernel for a desktop, embedded
-         or real-time system.  Say N if you are unsure.
-
-config PREEMPT_BKL
-       bool "Preempt The Big Kernel Lock"
-       depends on PREEMPT
-       default y
-       help
-         This option reduces the latency of the kernel by making the
-         big kernel lock preemptible.
-
-         Say Y here if you are building a kernel for a desktop system.
-         Say N if you are unsure.
+source "kernel/Kconfig.preempt"
 
 config X86_UP_APIC
        bool "Local APIC support on uniprocessors"
@@ -783,24 +761,19 @@ comment "NUMA (NUMA-Q) requires SMP, 64GB highmem support"
 comment "NUMA (Summit) requires SMP, 64GB highmem support, ACPI"
        depends on X86_SUMMIT && (!HIGHMEM64G || !ACPI)
 
-config ARCH_DISCONTIGMEM_ENABLE
-       bool
-       depends on NUMA
-       default y
-
 config HAVE_ARCH_BOOTMEM_NODE
        bool
        depends on NUMA
        default y
 
-config HAVE_MEMORY_PRESENT
+config ARCH_HAVE_MEMORY_PRESENT
        bool
        depends on DISCONTIGMEM
        default y
 
 config NEED_NODE_MEMMAP_SIZE
        bool
-       depends on DISCONTIGMEM
+       depends on DISCONTIGMEM || SPARSEMEM
        default y
 
 config HAVE_ARCH_ALLOC_REMAP
@@ -808,11 +781,28 @@ config HAVE_ARCH_ALLOC_REMAP
        depends on NUMA
        default y
 
+config ARCH_DISCONTIGMEM_ENABLE
+       def_bool y
+       depends on NUMA
+
+config ARCH_DISCONTIGMEM_DEFAULT
+       def_bool y
+       depends on NUMA
+
+config ARCH_SPARSEMEM_ENABLE
+       def_bool y
+       depends on NUMA
+
+config ARCH_SELECT_MEMORY_MODEL
+       def_bool y
+       depends on ARCH_SPARSEMEM_ENABLE
+
 source "mm/Kconfig"
 
 config HAVE_ARCH_EARLY_PFN_TO_NID
        bool
        default y
+       depends on NUMA
 
 config HIGHPTE
        bool "Allocate 3rd-level pagetables from highmem"
@@ -950,6 +940,36 @@ config SECCOMP
 
          If unsure, say Y. Only embedded should say N here.
 
+source kernel/Kconfig.hz
+
+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
+       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
+         but it is indepedent of the system firmware.   And like a reboot
+         you can start any kernel with it, not just Linux.
+
+         The name comes from the similiarity to the exec system call.
+
+         It is an ongoing process to be certain the hardware in a machine
+         is properly shutdown, so do not be surprised if this code does not
+         initially work for you.  It may help to enable device hotplugging
+         support.  As of this writing the exact hardware interface is
+         strongly in flux, so no good recommendation can be made.
+
 endmenu
 
 
@@ -1237,6 +1257,15 @@ config SCx200
          This support is also available as a module.  If compiled as a
          module, it will be called scx200.
 
+config HOTPLUG_CPU
+       bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
+       depends on SMP && HOTPLUG && EXPERIMENTAL
+       ---help---
+         Say Y here to experiment with turning CPUs off and on.  CPUs
+         can be controlled through /sys/devices/system/cpu.
+
+         Say N.
+
 source "drivers/pcmcia/Kconfig"
 
 source "drivers/pci/hotplug/Kconfig"