x86: Disable CAR before relocation on platforms that need it
authorSimon Glass <sjg@chromium.org>
Thu, 1 Jan 2015 23:18:13 +0000 (16:18 -0700)
committerSimon Glass <sjg@chromium.org>
Tue, 13 Jan 2015 15:25:01 +0000 (07:25 -0800)
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>
arch/x86/cpu/start.S

index 125782cf2796768bf281dc204f75355686b7827c..f51f1121d0252b3b96f856bac574bc6b19fff6ce 100644 (file)
@@ -205,6 +205,14 @@ 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
+
+       call    car_uninit
+1:
        /* Re-enter U-Boot by calling board_init_f_r */
        call    board_init_f_r