From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: Re: [PATCH] xen:arm: use SMC64 version function id on ARM64 Date: Fri, 2 Oct 2015 23:38:33 +0100 Message-ID: <560F0769.2000900@citrix.com> References: <1443821767-20349-1-git-send-email-brijeshkumar.singh@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1443821767-20349-1-git-send-email-brijeshkumar.singh@amd.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Brijesh Singh , xen-devel@lists.xen.org Cc: stefano.stabellini@citrix.com, ian.campbell@citrix.com, suravee.suthikulpanit@amd.com List-Id: xen-devel@lists.xenproject.org Hi, FIY, the xen-arm mailing has been removed a year ago and was only targeting the Xen ARM PV port. On 02/10/2015 22:36, Brijesh Singh wrote: > On AMD Seattle, Xen failed to boot secondary CPU's. This patch fixes it. > > As per PSCI spec, If CPU_ON entry_point_address is 64-bit then function id parameter should be set to SMC64 version (0xC4000003). The line in the commit message should never go above 72 characters. Please split it. > > Signed-off-by: Brijesh Singh > --- > xen/arch/arm/psci.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/xen/arch/arm/psci.c b/xen/arch/arm/psci.c > index 7ad6a43..117c6a9 100644 > --- a/xen/arch/arm/psci.c > +++ b/xen/arch/arm/psci.c > @@ -116,7 +116,11 @@ int __init psci_init_0_2(void) > return -EOPNOTSUPP; > } > > +#ifdef CONFIG_ARM_64 > + psci_cpu_on_nr = PSCI_0_2_FN64_CPU_ON; > +#else > psci_cpu_on_nr = PSCI_0_2_FN_CPU_ON; > +#endif Rather than open coding the function ID in the code, I would prefer to introduce a define/macro similar to the Linux one (see drivers/firmware/psci.c) which will return the 64-bit function ID for ARM64 and 32-bit one for ARM32: #ifdef CONFIG_ARM_64 #define PSCI_0_2_FN_NATIVE(name) PSCI_0_2_FN64_#name #else #define PSCI_0_2_FN_NATIVE(name) PSCI_0_2_FN_#name #endif And then: psci_cpu_on_nr = PSCI_0_2_FN_NATIVE(CPU_ON); A comment on top for the macro would also be welcome for future reference explaining why. Regards, -- Julien Grall