diff options
author | David S. Miller <davem@sunset.davemloft.net> | 2007-05-25 03:37:12 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-05-29 05:49:29 -0400 |
commit | 22d6a1cba3e9ec9baf8ce4d8dd1d088e112a64f1 (patch) | |
tree | b16a912edb689cba40395f778acb3d5dd9426fd8 /arch/sparc64/kernel/process.c | |
parent | 36b48973b8f1818d0ae6d16e548081d00162ae39 (diff) |
[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.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/sparc64/kernel/process.c b/arch/sparc64/kernel/process.c index 952762bfb4c0..f5f97e2c669c 100644 --- a/arch/sparc64/kernel/process.c +++ b/arch/sparc64/kernel/process.c | |||
@@ -45,6 +45,7 @@ | |||
45 | #include <asm/mmu_context.h> | 45 | #include <asm/mmu_context.h> |
46 | #include <asm/unistd.h> | 46 | #include <asm/unistd.h> |
47 | #include <asm/hypervisor.h> | 47 | #include <asm/hypervisor.h> |
48 | #include <asm/sstate.h> | ||
48 | 49 | ||
49 | /* #define VERBOSE_SHOWREGS */ | 50 | /* #define VERBOSE_SHOWREGS */ |
50 | 51 | ||
@@ -106,6 +107,7 @@ extern void (*prom_keyboard)(void); | |||
106 | 107 | ||
107 | void machine_halt(void) | 108 | void machine_halt(void) |
108 | { | 109 | { |
110 | sstate_halt(); | ||
109 | if (!serial_console && prom_palette) | 111 | if (!serial_console && prom_palette) |
110 | prom_palette (1); | 112 | prom_palette (1); |
111 | if (prom_keyboard) | 113 | if (prom_keyboard) |
@@ -116,6 +118,7 @@ void machine_halt(void) | |||
116 | 118 | ||
117 | void machine_alt_power_off(void) | 119 | void machine_alt_power_off(void) |
118 | { | 120 | { |
121 | sstate_poweroff(); | ||
119 | if (!serial_console && prom_palette) | 122 | if (!serial_console && prom_palette) |
120 | prom_palette(1); | 123 | prom_palette(1); |
121 | if (prom_keyboard) | 124 | if (prom_keyboard) |
@@ -128,6 +131,7 @@ void machine_restart(char * cmd) | |||
128 | { | 131 | { |
129 | char *p; | 132 | char *p; |
130 | 133 | ||
134 | sstate_reboot(); | ||
131 | p = strchr (reboot_command, '\n'); | 135 | p = strchr (reboot_command, '\n'); |
132 | if (p) *p = 0; | 136 | if (p) *p = 0; |
133 | if (!serial_console && prom_palette) | 137 | if (!serial_console && prom_palette) |