[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>
This commit is contained in:
Olof Johansson 2007-11-07 09:31:06 -06:00
parent 8b32bc0325
commit 32e2b55eec

View file

@ -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);