aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/Kconfig2
-rw-r--r--arch/arm/kernel/smp.c4
2 files changed, 5 insertions, 1 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 4b01d71bdbd1..abba5b8c9d74 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -2001,7 +2001,7 @@ config XIP_PHYS_ADDR
2001 2001
2002config KEXEC 2002config KEXEC
2003 bool "Kexec system call (EXPERIMENTAL)" 2003 bool "Kexec system call (EXPERIMENTAL)"
2004 depends on EXPERIMENTAL 2004 depends on EXPERIMENTAL && (!SMP || HOTPLUG_CPU)
2005 help 2005 help
2006 kexec is a system call that implements the ability to shutdown your 2006 kexec is a system call that implements the ability to shutdown your
2007 current kernel, and to start another kernel. It is like a reboot 2007 current kernel, and to start another kernel. It is like a reboot
diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c
index 76ff28d87bf3..57db122a4f62 100644
--- a/arch/arm/kernel/smp.c
+++ b/arch/arm/kernel/smp.c
@@ -522,6 +522,10 @@ static void ipi_cpu_stop(unsigned int cpu)
522 local_fiq_disable(); 522 local_fiq_disable();
523 local_irq_disable(); 523 local_irq_disable();
524 524
525#ifdef CONFIG_HOTPLUG_CPU
526 platform_cpu_kill(cpu);
527#endif
528
525 while (1) 529 while (1)
526 cpu_relax(); 530 cpu_relax();
527} 531}