[U-Boot] [PATCH 24/32] x86: Move call to dram_init_f into board_init_f

Graeme Russ graeme.russ at gmail.com
Fri Feb 4 13:35:51 CET 2011


Signed-off-by: Graeme Russ <graeme.russ at gmail.com>
---
 arch/i386/cpu/start.S               |    3 ---
 arch/i386/include/asm/u-boot-i386.h |    1 +
 arch/i386/lib/board.c               |    3 +++
 3 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/arch/i386/cpu/start.S b/arch/i386/cpu/start.S
index 77f0332..fd018bf 100644
--- a/arch/i386/cpu/start.S
+++ b/arch/i386/cpu/start.S
@@ -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
 
diff --git a/arch/i386/include/asm/u-boot-i386.h b/arch/i386/include/asm/u-boot-i386.h
index 80db52f..7b39bd2 100644
--- a/arch/i386/include/asm/u-boot-i386.h
+++ b/arch/i386/include/asm/u-boot-i386.h
@@ -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);
diff --git a/arch/i386/lib/board.c b/arch/i386/lib/board.c
index e3869d6..1d47a55 100644
--- a/arch/i386/lib/board.c
+++ b/arch/i386/lib/board.c
@@ -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;
-- 
1.7.1.422.g049e9



More information about the U-Boot mailing list