From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from e06smtp16.uk.ibm.com ([195.75.94.112]) by merlin.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1W8tbS-0002SM-UX for kexec@lists.infradead.org; Thu, 30 Jan 2014 15:32:31 +0000 Received: from /spool/local by e06smtp16.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Thu, 30 Jan 2014 15:32:08 -0000 Received: from b06cxnps4076.portsmouth.uk.ibm.com (d06relay13.portsmouth.uk.ibm.com [9.149.109.198]) by d06dlp02.portsmouth.uk.ibm.com (Postfix) with ESMTP id 664282190069 for ; Thu, 30 Jan 2014 15:32:02 +0000 (GMT) Received: from d06av06.portsmouth.uk.ibm.com (d06av06.portsmouth.uk.ibm.com [9.149.37.217]) by b06cxnps4076.portsmouth.uk.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id s0UFVqKO31260682 for ; Thu, 30 Jan 2014 15:31:52 GMT Received: from d06av06.portsmouth.uk.ibm.com (localhost [127.0.0.1]) by d06av06.portsmouth.uk.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id s0UGW4lE001370 for ; Thu, 30 Jan 2014 09:32:04 -0700 Subject: [RESEND PATCH] ppc64/kexec/purgatory Fix RTAS calls in Little Endian mode. From: Laurent Dufour Date: Thu, 30 Jan 2014 16:32:03 +0100 Message-ID: <20140130153203.12678.25147.stgit@nimbus> MIME-Version: 1.0 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "kexec" Errors-To: kexec-bounces+dwmw2=twosheds.infradead.org@lists.infradead.org To: Simon Horman , kexec@lists.infradead.org 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 --- 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 #include "hvCall.h" +#include +#include +#include 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