
Hi Bin,
On 30 December 2014 at 22:51, Bin Meng bmeng.cn@gmail.com wrote:
Hi Simon,
On Sun, Dec 28, 2014 at 10:20 AM, Simon Glass sjg@chromium.org wrote:
For bare platforms we turn off ROM-caching before calling board_init_f_r() It is then very slow to copy U-Boot from ROM to RAM. So adjust the order so that the copying happens before we turn off ROM-caching.
Signed-off-by: Simon Glass sjg@chromium.org
common/board_f.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/common/board_f.c b/common/board_f.c index 98c9c72..1b65575 100644 --- a/common/board_f.c +++ b/common/board_f.c @@ -983,6 +983,11 @@ static init_fnc_t init_sequence_f[] = { INIT_FUNC_WATCHDOG_RESET reloc_fdt, setup_reloc, +#ifdef CONFIG_X86
copy_uboot_to_ram,
clear_bss,
do_elf_reloc_fixups,
+#endif #if !defined(CONFIG_ARM) && !defined(CONFIG_SANDBOX) jump_to_copy, #endif @@ -1042,9 +1047,6 @@ void board_init_f(ulong boot_flags) */ static init_fnc_t init_sequence_f_r[] = { init_cache_f_r,
copy_uboot_to_ram,
clear_bss,
do_elf_reloc_fixups, NULL,
};
I don't understand. Isn't the init_cache_f_r() which turns on the cache?
Yes it turns on the cache, but turns off the ROM cache (they are different things). So this ordering is much faster. I think I might have more tuning to do though.
Regards, Simon