summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/x86/lib/board.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/arch/x86/lib/board.c b/arch/x86/lib/board.c
index 56acf35..a240d26 100644
--- a/arch/x86/lib/board.c
+++ b/arch/x86/lib/board.c
@@ -131,16 +131,11 @@ init_fnc_t *init_sequence_f[] = {
console_init_f,
dram_init_f,
calculate_relocation_address,
- copy_uboot_to_ram,
- clear_bss,
- do_elf_reloc_fixups,
NULL,
};
init_fnc_t *init_sequence_r[] = {
- copy_gd_to_ram,
- init_cache,
cpu_init_r, /* basic cpu dependent setup */
board_early_init_r, /* basic board dependent setup */
dram_init, /* configure available RAM banks */
@@ -269,6 +264,16 @@ void board_init_f(ulong boot_flags)
void board_init_f_r(void)
{
+ if (copy_gd_to_ram() != 0)
+ hang();
+
+ if (init_cache() != 0)
+ hang();
+
+ copy_uboot_to_ram();
+ clear_bss();
+ do_elf_reloc_fixups();
+
/*
* Transfer execution from Flash to RAM by calculating the address
* of the in-RAM copy of board_init_r() and calling it