summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKever Yang <kever.yang@rock-chips.com>2017-11-03 10:10:27 +0800
committerTom Rini <trini@konsulko.com>2017-11-17 07:44:13 -0500
commit21f4486faa5db1013237cc664ab3590ba75889e5 (patch)
tree79e7597d00a953a1053c468987aa3fdadcd006b2
parent49e93875a62fb9e96a4a7483b9bd5d8ae27ea76e (diff)
armv8: update gd after relocate
We need to update gd in assamble code after relocate, this is a fix to: adc421e arm: move gd handling outside of C code Signed-off-by: Kever Yang <kever.yang@rock-chips.com> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
-rw-r--r--arch/arm/lib/crt0_64.S2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/arm/lib/crt0_64.S b/arch/arm/lib/crt0_64.S
index da7c62cbe0..ccefce0b20 100644
--- a/arch/arm/lib/crt0_64.S
+++ b/arch/arm/lib/crt0_64.S
@@ -120,6 +120,8 @@ relocation_return:
#endif /* !CONFIG_SPL_BUILD */
#if defined(CONFIG_SPL_BUILD)
bl spl_relocate_stack_gd /* may return NULL */
+ /* set up gd here, outside any C code */
+ mov x18, x0
/*
* Perform 'sp = (x0 != NULL) ? x0 : sp' while working
* around the constraint that conditional moves can not