[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