linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] ARM: call disable_nonboot_cpus() from machine_shutdown()
@ 2013-01-02 21:07 Stephen Warren
  2013-01-02 21:52 ` Russell King - ARM Linux
                   ` (2 more replies)
  0 siblings, 3 replies; 19+ messages in thread
From: Stephen Warren @ 2013-01-02 21:07 UTC (permalink / raw)
  To: linux-arm-kernel

From: Stephen Warren <swarren@nvidia.com>

On Tegra at least, this change allows kexec to work with SMP enabled.
Without this,  machine_shutdown() simply puts all CPUs into a loop. If
the code of that loop is over-written, the CPUs may hang or crash (which
I do observe in practice), or cause the kexec'd kernel not to be able to
initialize them.

This fix has the added benefit that the kexec always happens on the boot
CPU, and thus kexec mirrors the initial kernel boot as much as possible.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
---
Russell, I assume this should go into the ARM patch tracker if OK?

 arch/arm/kernel/process.c |    1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c
index f79dd1e..1893bda 100644
--- a/arch/arm/kernel/process.c
+++ b/arch/arm/kernel/process.c
@@ -239,6 +239,7 @@ __setup("reboot=", reboot_setup);
 
 void machine_shutdown(void)
 {
+	disable_nonboot_cpus();
 #ifdef CONFIG_SMP
 	smp_send_stop();
 #endif
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2013-01-29 22:10 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-01-02 21:07 [PATCH] ARM: call disable_nonboot_cpus() from machine_shutdown() Stephen Warren
2013-01-02 21:52 ` Russell King - ARM Linux
2013-01-02 23:59 ` Stephen Boyd
2013-01-03 12:02   ` Will Deacon
2013-01-03 12:21     ` Russell King - ARM Linux
2013-01-03 18:08       ` Jason Gunthorpe
2013-01-03 20:26       ` Stephen Warren
2013-01-06 16:22         ` Will Deacon
2013-01-06 16:40           ` Russell King - ARM Linux
2013-01-07  1:53             ` Eric W. Biederman
2013-01-07 14:25               ` Will Deacon
2013-01-07 14:48               ` Russell King - ARM Linux
2013-01-11  5:59                 ` Eric W. Biederman
2013-01-11 10:04                   ` Russell King - ARM Linux
2013-01-29 22:01                   ` Stephen Warren
2013-01-09  0:06               ` Stephen Warren
2013-01-11  6:28                 ` Eric W. Biederman
2013-01-29 22:10                   ` Stephen Warren
2013-01-03 12:03 ` Will Deacon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).