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