[U-Boot-Users] [patch 1/1] Set GD_FLG_RELOC for boards skipping relocation to RAM
Jean-Christophe PLAGNIOL-VILLARD
plagnioj at jcrosoft.com
Tue Jul 22 14:55:56 CEST 2008
On 14:20 Tue 22 Jul , Remy Bohmer wrote:
> If CONFIG_SKIP_RELOCATE_UBOOT is set the flag GD_FLG_RELOC is usually never
> set, because relocation to RAM is actually never done by U-boot itself.
> However, several pieces of code check if this flag is set at some time.
>
> So, to make sure this flag is set on boards skipping relocation, this
> is added to the initialisation of U-boot at a moment where it is safe
> to do so.
>
> Signed-off-by: Remy Bohmer <linux at bohmer.net>
> ---
> lib_arm/board.c | 16 ++++++++++++++++
> 1 file changed, 16 insertions(+)
>
> Index: u-boot-git-almost-1.3.4/lib_arm/board.c
> ===================================================================
> --- u-boot-git-almost-1.3.4.orig/lib_arm/board.c 2008-07-21 11:53:23.000000000 +0200
> +++ u-boot-git-almost-1.3.4/lib_arm/board.c 2008-07-21 12:25:32.000000000 +0200
> @@ -233,6 +233,17 @@ static int init_func_i2c (void)
> }
> #endif
>
> +#ifdef CONFIG_SKIP_RELOCATE_UBOOT
> +/*
> + * This routine sets the relocation done flag, because even if
> + * relocation is skipped, the flag is used by other generic code.
> + */
> +static int reloc_init(void)
> +{
> + gd->flags |= GD_FLG_RELOC;
you need to return 0 at least
> +}
> +#endif
> +
> /*
> * Breathe some life into the board...
> *
> @@ -262,6 +273,11 @@ int print_cpuinfo (void); /* test-only *
>
> init_fnc_t *init_sequence[] = {
> cpu_init, /* basic cpu dependent setup */
> +#if defined(CONFIG_SKIP_RELOCATE_UBOOT)
> + reloc_init, /* Set the relocation done flag, must
> + do this AFTER cpu_init(), but as soon
> + as possible */
> +#endif
> board_init, /* basic board dependent setup */
> interrupt_init, /* set up exceptions */
> env_init, /* initialize environment */
Best Regards,
J.
More information about the U-Boot
mailing list