
For platforms with CAR we should disable it before relocation. Check if this function is available and call it if so.
Signed-off-by: Simon Glass sjg@chromium.org ---
Changes in v2: - Use a simple call instruction to call car_uninit
arch/x86/cpu/start.S | 9 +++++++++ 1 file changed, 9 insertions(+)
diff --git a/arch/x86/cpu/start.S b/arch/x86/cpu/start.S index 125782c..be8a2dc 100644 --- a/arch/x86/cpu/start.S +++ b/arch/x86/cpu/start.S @@ -205,6 +205,15 @@ board_init_f_r_trampoline: /* Setup global descriptor table so gd->xyz works */ call setup_gdt
+ /* Set if we need to disable CAR */ +.weak car_uninit + movl $car_uninit, %eax + cmpl $0, %eax + jz 1f + + /* Pass return address in ebx */ + call car_uninit +1: /* Re-enter U-Boot by calling board_init_f_r */ call board_init_f_r