x86: Move call to dram_init_f into board_init_f
authorGraeme Russ <graeme.russ@gmail.com>
Sat, 12 Feb 2011 04:11:59 +0000 (15:11 +1100)
committerGraeme Russ <graeme.russ@gmail.com>
Sat, 12 Feb 2011 04:11:59 +0000 (15:11 +1100)
arch/i386/cpu/start.S
arch/i386/include/asm/u-boot-i386.h
arch/i386/lib/board.c

index 77f03322bb4afa088517674e831dfb3362187719..fd018bf8224be94682cc51684bfef4ab41273ebf 100644 (file)
@@ -93,9 +93,6 @@ car_init_ret:
        subl    $1b, %ecx
        movl    %ecx, (GD_LOAD_OFF * 4)(%ebp)
 
-       /* size memory */
-       call    dram_init_f
-
        /* Set parameter to board_init_f() to boot flags */
        movl    (GD_FLAGS * 4)(%ebp), %eax
 
index 80db52fc6f9393af64fd35ab10d17c7650669444..7b39bd2ae01acd679a1ec11702819f1df4810606 100644 (file)
@@ -37,6 +37,7 @@ int register_timer_isr (timer_fnc_t *isr_func);
 
 /* Architecture specific - can be in arch/i386/cpu/, arch/i386/lib/, or $(BOARD)/ */
 int timer_init(void);
+int dram_init_f(void);
 
 /* cpu/.../interrupts.c */
 int cpu_init_interrupts(void);
index 60fa982e3485857107e6dbf41444171996c51dbd..0b26c831338e80083d7bbbcfbbb9a7af5622405a 100644 (file)
@@ -197,6 +197,9 @@ void board_init_f(ulong boot_flags)
 
        gd->flags = boot_flags;
 
+       if (dram_init_f() != 0)
+               hang();
+
        /* Calculate destination RAM Address and relocation offset */
        dest_addr = (void *)gd->ram_size;
        addr_sp = dest_addr;