[U-Boot] [PATCH 16/22] x86: board_f: Adjust x86 boot order for performance
Simon Glass
sjg at chromium.org
Thu Jan 1 23:23:45 CET 2015
Hi Bin,
On 30 December 2014 at 22:51, Bin Meng <bmeng.cn at gmail.com> wrote:
>
> Hi Simon,
>
> On Sun, Dec 28, 2014 at 10:20 AM, Simon Glass <sjg at 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 at 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
More information about the U-Boot
mailing list