Kexec Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [RESEND PATCH] ppc64/kexec/purgatory Fix RTAS calls in Little Endian mode.
@ 2014-01-30 15:32 Laurent Dufour
  2014-01-31  5:21 ` Simon Horman
  0 siblings, 1 reply; 2+ messages in thread
From: Laurent Dufour @ 2014-01-30 15:32 UTC (permalink / raw)
  To: Simon Horman, 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] 2+ messages in thread

end of thread, other threads:[~2014-01-31  5:21 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-01-30 15:32 [RESEND PATCH] ppc64/kexec/purgatory Fix RTAS calls in Little Endian mode Laurent Dufour
2014-01-31  5:21 ` Simon Horman

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