arm64: optimize smp_kick_all_cpus
authorMasahiro Yamada <yamada.masahiro@socionext.com>
Fri, 17 Jun 2016 09:32:47 +0000 (18:32 +0900)
committerTom Rini <trini@konsulko.com>
Fri, 24 Jun 2016 21:23:12 +0000 (17:23 -0400)
gic_kick_secondary_cpus can directly return to the caller of
smp_kick_all_cpus.  We do not have to use x29 register here.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: York Sun <york.sun@nxp.com>
arch/arm/cpu/armv8/start.S

index c1a2f45..670e323 100644 (file)
@@ -258,12 +258,10 @@ ENDPROC(lowlevel_init)
 
 WEAK(smp_kick_all_cpus)
        /* Kick secondary cpus up by SGI 0 interrupt */
-       mov     x29, lr                 /* Save LR */
 #if defined(CONFIG_GICV2) || defined(CONFIG_GICV3)
        ldr     x0, =GICD_BASE
-       bl      gic_kick_secondary_cpus
+       b       gic_kick_secondary_cpus
 #endif
-       mov     lr, x29                 /* Restore LR */
        ret
 ENDPROC(smp_kick_all_cpus)