diff mbox

[v2] sparc64: shut down to OBP correctly

Message ID 1482340634-65842-1-git-send-email-larry.bassel@oracle.com
State Rejected
Delegated to: David Miller
Headers show

Commit Message

Larry Bassel Dec. 21, 2016, 5:17 p.m. UTC
The command "shutdown -h -H now" should shut down the system to
OBP, however the machine was incorrectly being powered off instead
(on both LDOM and bare metal).

The "exit" command to the OBP must be run and then a hard
loop to prevent return to the kernel.

Signed-off-by: Larry Bassel <larry.bassel@oracle.com>
---
 arch/sparc/prom/misc_64.c |    7 +------
 1 files changed, 1 insertions(+), 6 deletions(-)

Comments

Sam Ravnborg Dec. 21, 2016, 6:10 p.m. UTC | #1
Hi Larry.

Little nitpick...

>  	args[2] = 0;
>  	p1275_cmd_direct(args);
> -	goto again; /* PROM is out to get me -DaveM */
> +	while (1);

If you write this like:

	for (;;)
		/* forever */;

It is much more obvious that this is supposed to loop forever.
As it is now it more looks like an oversight.

	Sam
--
To unsubscribe from this list: send the line "unsubscribe sparclinux" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/arch/sparc/prom/misc_64.c b/arch/sparc/prom/misc_64.c
index 53a696d..aa80788 100644
--- a/arch/sparc/prom/misc_64.c
+++ b/arch/sparc/prom/misc_64.c
@@ -115,16 +115,11 @@  void notrace prom_halt(void)
 {
 	unsigned long args[3];
 
-#ifdef CONFIG_SUN_LDOMS
-	if (ldom_domaining_enabled)
-		ldom_power_off();
-#endif
-again:
 	args[0] = (unsigned long) "exit";
 	args[1] = 0;
 	args[2] = 0;
 	p1275_cmd_direct(args);
-	goto again; /* PROM is out to get me -DaveM */
+	while (1);
 }
 
 void prom_halt_power_off(void)