summaryrefslogtreecommitdiffstats
path: root/arch/sparc64/kernel/process.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@sunset.davemloft.net>2007-05-25 00:37:12 -0700
committerDavid S. Miller <davem@sunset.davemloft.net>2007-05-29 02:49:29 -0700
commit22d6a1cba3e9ec9baf8ce4d8dd1d088e112a64f1 (patch)
treeb16a912edb689cba40395f778acb3d5dd9426fd8 /arch/sparc64/kernel/process.c
parent36b48973b8f1818d0ae6d16e548081d00162ae39 (diff)
downloadop-kernel-dev-22d6a1cba3e9ec9baf8ce4d8dd1d088e112a64f1.zip
op-kernel-dev-22d6a1cba3e9ec9baf8ce4d8dd1d088e112a64f1.tar.gz
[SPARC64]: Report proper system soft state to the hypervisor.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc64/kernel/process.c')
-rw-r--r--arch/sparc64/kernel/process.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/sparc64/kernel/process.c b/arch/sparc64/kernel/process.c
index 952762b..f5f97e2 100644
--- a/arch/sparc64/kernel/process.c
+++ b/arch/sparc64/kernel/process.c
@@ -45,6 +45,7 @@
#include <asm/mmu_context.h>
#include <asm/unistd.h>
#include <asm/hypervisor.h>
+#include <asm/sstate.h>
/* #define VERBOSE_SHOWREGS */
@@ -106,6 +107,7 @@ extern void (*prom_keyboard)(void);
void machine_halt(void)
{
+ sstate_halt();
if (!serial_console && prom_palette)
prom_palette (1);
if (prom_keyboard)
@@ -116,6 +118,7 @@ void machine_halt(void)
void machine_alt_power_off(void)
{
+ sstate_poweroff();
if (!serial_console && prom_palette)
prom_palette(1);
if (prom_keyboard)
@@ -128,6 +131,7 @@ void machine_restart(char * cmd)
{
char *p;
+ sstate_reboot();
p = strchr (reboot_command, '\n');
if (p) *p = 0;
if (!serial_console && prom_palette)
OpenPOWER on IntegriCloud