aboutsummaryrefslogtreecommitdiffstats
path: root/arch/ppc64/kernel/setup.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/ppc64/kernel/setup.c')
-rw-r--r--arch/ppc64/kernel/setup.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/arch/ppc64/kernel/setup.c b/arch/ppc64/kernel/setup.c
index 8a1ca695f8a7..7d060ddb5e93 100644
--- a/arch/ppc64/kernel/setup.c
+++ b/arch/ppc64/kernel/setup.c
@@ -683,6 +683,12 @@ void machine_restart(char *cmd)
683 if (ppc_md.nvram_sync) 683 if (ppc_md.nvram_sync)
684 ppc_md.nvram_sync(); 684 ppc_md.nvram_sync();
685 ppc_md.restart(cmd); 685 ppc_md.restart(cmd);
686#ifdef CONFIG_SMP
687 smp_send_stop();
688#endif
689 printk(KERN_EMERG "System Halted, OK to turn off power\n");
690 local_irq_disable();
691 while (1) ;
686} 692}
687 693
688EXPORT_SYMBOL(machine_restart); 694EXPORT_SYMBOL(machine_restart);
@@ -692,6 +698,12 @@ void machine_power_off(void)
692 if (ppc_md.nvram_sync) 698 if (ppc_md.nvram_sync)
693 ppc_md.nvram_sync(); 699 ppc_md.nvram_sync();
694 ppc_md.power_off(); 700 ppc_md.power_off();
701#ifdef CONFIG_SMP
702 smp_send_stop();
703#endif
704 printk(KERN_EMERG "System Halted, OK to turn off power\n");
705 local_irq_disable();
706 while (1) ;
695} 707}
696 708
697EXPORT_SYMBOL(machine_power_off); 709EXPORT_SYMBOL(machine_power_off);
@@ -701,6 +713,12 @@ void machine_halt(void)
701 if (ppc_md.nvram_sync) 713 if (ppc_md.nvram_sync)
702 ppc_md.nvram_sync(); 714 ppc_md.nvram_sync();
703 ppc_md.halt(); 715 ppc_md.halt();
716#ifdef CONFIG_SMP
717 smp_send_stop();
718#endif
719 printk(KERN_EMERG "System Halted, OK to turn off power\n");
720 local_irq_disable();
721 while (1) ;
704} 722}
705 723
706EXPORT_SYMBOL(machine_halt); 724EXPORT_SYMBOL(machine_halt);