xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] xen:arm: use SMC64 version function id on ARM64
@ 2015-10-02 21:36 Brijesh Singh
  2015-10-02 22:38 ` Julien Grall
  0 siblings, 1 reply; 2+ messages in thread
From: Brijesh Singh @ 2015-10-02 21:36 UTC (permalink / raw)
  To: xen-devel
  Cc: ian.campbell, julien.grall, stefano.stabellini,
	suravee.suthikulpanit, xen-arm, Brijesh Singh

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).

Signed-off-by: Brijesh Singh <brijeshkumar.singh@amd.com>
---
 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
 
     printk(XENLOG_INFO "Using PSCI-0.2 for SMP bringup\n");
 
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] xen:arm: use SMC64 version function id on ARM64
  2015-10-02 21:36 [PATCH] xen:arm: use SMC64 version function id on ARM64 Brijesh Singh
@ 2015-10-02 22:38 ` Julien Grall
  0 siblings, 0 replies; 2+ messages in thread
From: Julien Grall @ 2015-10-02 22:38 UTC (permalink / raw)
  To: Brijesh Singh, xen-devel
  Cc: stefano.stabellini, ian.campbell, suravee.suthikulpanit

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@amd.com>
> ---
>   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

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2015-10-02 22:38 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-02 21:36 [PATCH] xen:arm: use SMC64 version function id on ARM64 Brijesh Singh
2015-10-02 22:38 ` Julien Grall

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).