[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] xen:arm: use SMC64 version function id on ARM64



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 <brijeshkumar.singh@xxxxxxx>
---
  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

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.