From 21f4486faa5db1013237cc664ab3590ba75889e5 Mon Sep 17 00:00:00 2001 From: Kever Yang Date: Fri, 3 Nov 2017 10:10:27 +0800 Subject: [PATCH] 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 Reviewed-by: Philipp Tomsich --- arch/arm/lib/crt0_64.S | 2 ++ 1 file changed, 2 insertions(+) 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