[U-Boot] [PATCH 5/10] common/env: Point default environment for GD
Scott Wood
scottwood at freescale.com
Wed Apr 2 00:04:25 CEST 2014
On Mon, 2014-03-31 at 15:34 +0530, Prabhakar Kushwaha wrote:
> GD(Global Data) structure has pointer to environment variable array.
> but, it always point to default_environment assuming it is running from
> final location.
>
> So update GD pointer with env variable array during SPL boot.
>
> Signed-off-by: Prabhakar Kushwaha <prabhakar at freescale.com>
> ---
> common/env_common.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/common/env_common.c b/common/env_common.c
> index c0bfc2f..043150a 100644
> --- a/common/env_common.c
> +++ b/common/env_common.c
> @@ -162,6 +162,9 @@ int env_import(const char *buf, int check)
> if (himport_r(&env_htab, (char *)ep->data, ENV_SIZE, '\0', 0,
> 0, NULL)) {
> gd->flags |= GD_FLG_ENV_READY;
> +#ifdef CONFIG_SPL_BUILD
> + gd->env_addr = (unsigned long)ep->data;
> +#endif
> return 1;
> }
>
Could you explain a bit more about how the environment is being loaded
during SPL, and how gd->env_addr gets set for non-SPL?
-Scott
More information about the U-Boot
mailing list