diff options
author | Olof Johansson <olof@lixom.net> | 2007-11-07 09:31:06 -0600 |
---|---|---|
committer | Olof Johansson <olof@lixom.net> | 2007-12-01 13:04:39 -0600 |
commit | 32e2b55eec7116a859b384dbcc4b52a54a156869 (patch) | |
tree | d020737e8f9811e68a375eb250cc74cd0b9da531 /arch/powerpc | |
parent | 8b32bc03256c82a6a4fcb3c2520b54469b74ec82 (diff) | |
download | talos-obmc-linux-32e2b55eec7116a859b384dbcc4b52a54a156869.tar.gz talos-obmc-linux-32e2b55eec7116a859b384dbcc4b52a54a156869.zip |
[POWERPC] pasemi: Move cpus to hold loop before restart
Use smp_send_stop() to move all cpus besides the one executing reboot
into a hold loop, to keep them from being in powersavings mode at the
time of reboot.
Signed-off-by: Olof Johansson <olof@lixom.net>
Diffstat (limited to 'arch/powerpc')
-rw-r--r-- | arch/powerpc/platforms/pasemi/setup.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/powerpc/platforms/pasemi/setup.c b/arch/powerpc/platforms/pasemi/setup.c index bd85853bc9da..2b638659d1ea 100644 --- a/arch/powerpc/platforms/pasemi/setup.c +++ b/arch/powerpc/platforms/pasemi/setup.c @@ -43,6 +43,10 @@ #include "pasemi.h" +#if !defined(CONFIG_SMP) +static void smp_send_stop(void) {} +#endif + /* SDC reset register, must be pre-mapped at reset time */ static void __iomem *reset_reg; @@ -60,6 +64,9 @@ static int num_mce_regs; static void pas_restart(char *cmd) { + /* Need to put others cpu in hold loop so they're not sleeping */ + smp_send_stop(); + udelay(10000); printk("Restarting...\n"); while (1) out_le32(reset_reg, 0x6000000); |