From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Boyd Subject: Re: [PATCH] ARM: qcom: Fix SCM interface for big-endian kernels Date: Tue, 23 Sep 2014 13:31:41 -0700 Message-ID: <5421D8AD.9010208@codeaurora.org> References: <1411425393-5537-1-git-send-email-sboyd@codeaurora.org> <5421B0FF.4060307@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: QUOTED-PRINTABLE Return-path: Received: from smtp.codeaurora.org ([198.145.11.231]:56276 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751735AbaIWUbn (ORCPT ); Tue, 23 Sep 2014 16:31:43 -0400 In-Reply-To: Sender: linux-arm-msm-owner@vger.kernel.org List-Id: linux-arm-msm@vger.kernel.org To: Kumar Gala Cc: David Brown , linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org On 09/23/14 10:45, Kumar Gala wrote: > On Sep 23, 2014, at 12:42 PM, Stephen Boyd wro= te: > >> On 09/23/14 09:47, Kumar Gala wrote: >>> On Sep 22, 2014, at 5:36 PM, Stephen Boyd wr= ote: >>> >>>> 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-bo= ot.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=92t we s= upport LPAE on some systems? >> Yes it was wrong. It is exactly 32 bits wide. > So we should probably have a patch to fix the interface scm_set_boot_= addr() to take a u32 addr instead of a phys_addr_t > Sure I can send a patch for that too. --=20 Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation