Kexec Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] ppc64/kexec/purgatory Fix RTAS calls in Little Endian mode.
@ 2014-01-13 17:55 Laurent Dufour
  0 siblings, 0 replies; only message in thread
From: Laurent Dufour @ 2014-01-13 17:55 UTC (permalink / raw)
  To: horms, kexec

RTAS is expecting parameters in Big Endian order so we have to byte swap
them in LE mode.

In the purgatory RTAS calls are only made for debug output.

Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
---
 purgatory/arch/ppc64/console-ppc64.c |    6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/purgatory/arch/ppc64/console-ppc64.c b/purgatory/arch/ppc64/console-ppc64.c
index 78a233b..b80183c 100644
--- a/purgatory/arch/ppc64/console-ppc64.c
+++ b/purgatory/arch/ppc64/console-ppc64.c
@@ -21,6 +21,9 @@
 
 #include <purgatory.h>
 #include "hvCall.h"
+#include <byteswap.h>
+#include <endian.h>
+#include <asm/byteorder.h>
 
 extern int debug;
 
@@ -36,6 +39,7 @@ void putchar(int c)
 		putchar('\r');
 
 	buff[0] = c;
-	plpar_hcall_norets(H_PUT_TERM_CHAR, 0, 1, lbuf[0], lbuf[1]);
+	plpar_hcall_norets(H_PUT_TERM_CHAR, 0, 1,
+			   __cpu_to_be64(lbuf[0]), __cpu_to_be64(lbuf[1]));
 	return;
 }


_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2014-01-13 17:56 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-01-13 17:55 [PATCH] ppc64/kexec/purgatory Fix RTAS calls in Little Endian mode Laurent Dufour

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox