diff mbox

[4/4] arm64: defer CPU initialization on ARM64 if PSCI is present

Message ID 1385380964-22230-5-git-send-email-andre.przywara@linaro.org
State New
Headers show

Commit Message

Andre Przywara Nov. 25, 2013, 12:02 p.m. UTC
Since PSCI is now handled in ARM generic smpboot code, we can remove
the PSCI todo from the ARM64 specific code and defer the actual PSCI
handling.

Signed-off-by: Andre Przywara <andre.przywara@linaro.org>
---
 xen/arch/arm/arm64/smpboot.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

Comments

Ian Campbell Nov. 26, 2013, 11:24 a.m. UTC | #1
On Mon, 2013-11-25 at 13:02 +0100, Andre Przywara wrote:
> Since PSCI is now handled in ARM generic smpboot code, we can remove
> the PSCI todo from the ARM64 specific code and defer the actual PSCI
> handling.
> 
> Signed-off-by: Andre Przywara <andre.przywara@linaro.org>
> ---
>  xen/arch/arm/arm64/smpboot.c | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/xen/arch/arm/arm64/smpboot.c b/xen/arch/arm/arm64/smpboot.c
> index 8239590..715c44e 100644
> --- a/xen/arch/arm/arm64/smpboot.c
> +++ b/xen/arch/arm/arm64/smpboot.c
> @@ -61,8 +61,11 @@ int __init arch_cpu_init(int cpu, struct dt_device_node *dn)
>  
>      if ( !strcmp(enable_method, "spin-table") )
>          smp_spin_table_init(cpu, dn);
> -    /* TODO: method "psci" */
> -    else
> +    else if ( !strcmp(enable_method, "psci") )
> +    {
> +        /* PSCI code is handled somewhere else */
> +        return -EAGAIN;

I think this should check for the presence of PSCI and either return an
error or success (on the basis that nothing needs doing).

Ian.
diff mbox

Patch

diff --git a/xen/arch/arm/arm64/smpboot.c b/xen/arch/arm/arm64/smpboot.c
index 8239590..715c44e 100644
--- a/xen/arch/arm/arm64/smpboot.c
+++ b/xen/arch/arm/arm64/smpboot.c
@@ -61,8 +61,11 @@  int __init arch_cpu_init(int cpu, struct dt_device_node *dn)
 
     if ( !strcmp(enable_method, "spin-table") )
         smp_spin_table_init(cpu, dn);
-    /* TODO: method "psci" */
-    else
+    else if ( !strcmp(enable_method, "psci") )
+    {
+        /* PSCI code is handled somewhere else */
+        return -EAGAIN;
+    } else
     {
         printk("CPU%d has unknown enable method \"%s\"\n", cpu, enable_method);
         return -EINVAL;