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.si...@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
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel