From d98d6bd68cf9b0d9ad6cc289ad557ebff1794761 Mon Sep 17 00:00:00 2001 From: Will Deacon Date: Mon, 6 Jun 2011 15:49:23 +0100 Subject: [PATCH] --- yaml --- r: 279915 b: refs/heads/master c: 02b73e2e9c288cbbb6ec96bef628cf08e29824c4 h: refs/heads/master i: 279913: a05760cda2118ddc028508572f0502527ed4faf4 279911: 69fd99f43f49c477356b7a998a14bb302ceec12d v: v3 --- [refs] | 2 +- trunk/arch/arm/Kconfig | 2 +- trunk/arch/arm/kernel/smp.c | 4 ++++ 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index fcdbb7f1024b..a397e6fa5377 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 290130a17718c1451bb8a77a5e2510e0279bd5f3 +refs/heads/master: 02b73e2e9c288cbbb6ec96bef628cf08e29824c4 diff --git a/trunk/arch/arm/Kconfig b/trunk/arch/arm/Kconfig index 4b01d71bdbd1..abba5b8c9d74 100644 --- a/trunk/arch/arm/Kconfig +++ b/trunk/arch/arm/Kconfig @@ -2001,7 +2001,7 @@ config XIP_PHYS_ADDR config KEXEC bool "Kexec system call (EXPERIMENTAL)" - depends on EXPERIMENTAL + depends on EXPERIMENTAL && (!SMP || HOTPLUG_CPU) 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 diff --git a/trunk/arch/arm/kernel/smp.c b/trunk/arch/arm/kernel/smp.c index 76ff28d87bf3..57db122a4f62 100644 --- a/trunk/arch/arm/kernel/smp.c +++ b/trunk/arch/arm/kernel/smp.c @@ -522,6 +522,10 @@ static void ipi_cpu_stop(unsigned int cpu) local_fiq_disable(); local_irq_disable(); +#ifdef CONFIG_HOTPLUG_CPU + platform_cpu_kill(cpu); +#endif + while (1) cpu_relax(); }