diff options
author | Graeme Russ <graeme.russ@gmail.com> | 2011-12-27 22:46:42 +1100 |
---|---|---|
committer | Graeme Russ <graeme.russ@gmail.com> | 2012-01-04 22:25:53 +1100 |
commit | 98f1fa9fd4f468c67b5f4d16077898992d6bae0b (patch) | |
tree | d788d10fc755106b436d5e14595e4cb75af19d59 /arch | |
parent | d653244b12dbc4a954e1bdfd04222bbbaf67329c (diff) |
x86: Allow cache before copy to RAM
--
Changes for v2:
- None
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/lib/board.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/arch/x86/lib/board.c b/arch/x86/lib/board.c index 56acf356370..a240d261716 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 |