[PATCH v2 11/16] x86: zboot: Set environment variables for image locations

Bin Meng bmeng.cn at gmail.com
Tue Sep 1 11:39:10 CEST 2020


Hi Simon,

On Sun, Aug 30, 2020 at 5:42 AM Simon Glass <sjg at chromium.org> wrote:
>
> At present it is not possible to tell from a script where the setup block
> is, or where the image was loaded to. Add environment variables for this.
>
> Signed-off-by: Simon Glass <sjg at chromium.org>
> Reviewed-by: Wolfgang Wallner <wolfgang.wallner at br-automation.com>
> ---
>
> (no changes since v1)
>
>  README                | 4 ++++
>  arch/x86/lib/zimage.c | 3 +++
>  2 files changed, 7 insertions(+)
>
> diff --git a/README b/README
> index 6cb0567ba66..eb2260134e6 100644
> --- a/README
> +++ b/README
> @@ -3425,6 +3425,10 @@ List of environment variables (most likely not complete):
>    mempos       - Index position of the last match found by the 'ms' command,
>                   in units of the size (.b, .w, .l) of the search
>
> +  zbootbase    - Base address of the bzImage 'setup' block
> +
> +  zbootaddr    - Address of the loaded bzImage, typically BZIMAGE_LOAD_ADDR
> +                 which is 0x100000
>

We should mention these are x86 specific environment variables.

>  The following image location variables contain the location of images
>  used in booting. The "Image" column gives the role of the image and is
> diff --git a/arch/x86/lib/zimage.c b/arch/x86/lib/zimage.c
> index a39ef9d288f..d0e44c331b7 100644
> --- a/arch/x86/lib/zimage.c
> +++ b/arch/x86/lib/zimage.c
> @@ -382,6 +382,9 @@ static int do_zboot_load(struct cmd_tbl *cmdtp, int flag, int argc,
>                 return CMD_RET_FAILURE;
>         }
>         state.base_ptr = base_ptr;
> +       if (env_set_hex("zbootbase", (ulong)base_ptr) ||
> +           env_set_hex("zbootaddr", state.load_address))
> +               return CMD_RET_FAILURE;
>
>         return 0;
>  }
> --

Reviewed-by: Bin Meng <bmeng.cn at gmail.com>

Regards,
Bin


More information about the U-Boot mailing list