diff options
author | Masahiro Yamada <yamada.masahiro@socionext.com> | 2016-06-17 18:32:47 +0900 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2016-06-24 17:23:12 -0400 |
commit | afedf5488de99925f00ead847e40d7ba0d508f0e (patch) | |
tree | 1bdf5082812967cb5b964832c3679eb685da8328 /arch | |
parent | a2cfc8d5935efd445d9f9b258383e2a42f83ef6e (diff) | |
download | u-boot-afedf5488de99925f00ead847e40d7ba0d508f0e.tar.gz u-boot-afedf5488de99925f00ead847e40d7ba0d508f0e.tar.bz2 u-boot-afedf5488de99925f00ead847e40d7ba0d508f0e.zip |
arm64: optimize smp_kick_all_cpus
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>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/cpu/armv8/start.S | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/arch/arm/cpu/armv8/start.S b/arch/arm/cpu/armv8/start.S index c1a2f456d5..670e323b61 100644 --- a/arch/arm/cpu/armv8/start.S +++ b/arch/arm/cpu/armv8/start.S @@ -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) |