From mboxrd@z Thu Jan 1 00:00:00 1970 From: sboyd@codeaurora.org (Stephen Boyd) Date: Tue, 23 Sep 2014 10:42:23 -0700 Subject: [PATCH] ARM: qcom: Fix SCM interface for big-endian kernels In-Reply-To: References: <1411425393-5537-1-git-send-email-sboyd@codeaurora.org> Message-ID: <5421B0FF.4060307@codeaurora.org> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On 09/23/14 09:47, Kumar Gala wrote: > On Sep 22, 2014, at 5:36 PM, Stephen Boyd wrote: > >> The secure environment only runs in little-endian mode, so any >> buffers shared with the secure environment should have their >> contents converted to little-endian. We also mark such elements >> with __le32 to allow sparse to catch such problems. >> >> Signed-off-by: Stephen Boyd >> --- >> drivers/soc/qcom/scm-boot.c | 8 ++++---- >> drivers/soc/qcom/scm.c | 34 ++++++++++++++++++---------------- >> 2 files changed, 22 insertions(+), 20 deletions(-) >> >> diff --git a/drivers/soc/qcom/scm-boot.c b/drivers/soc/qcom/scm-boot.c >> index 60ff7b482141..3e4d77b371c6 100644 >> --- a/drivers/soc/qcom/scm-boot.c >> +++ b/drivers/soc/qcom/scm-boot.c >> @@ -27,12 +27,12 @@ >> int scm_set_boot_addr(phys_addr_t addr, int flags) >> { >> struct { >> - unsigned int flags; >> - phys_addr_t addr; >> + __le32 flags; >> + __le32 addr; > Hmm, was phys_addr_t wrong here before? I ask because don?t we support LPAE on some systems? Yes it was wrong. It is exactly 32 bits wide. -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation