summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2020-09-05 14:50:48 -0600
committerBin Meng <bmeng.cn@gmail.com>2020-09-25 11:27:09 +0800
commit126f47c3b81b4c429f8ddccaf3e2c70b665598f9 (patch)
tree7ced6b4882948e4123ca40e8b8a7393ece246bfa
parent3e5975932476b3775dad369bf70ba2fc542d847c (diff)
downloadu-boot-126f47c3b81b4c429f8ddccaf3e2c70b665598f9.tar.gz
x86: zboot: Set environment variables for image locations
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@chromium.org> Reviewed-by: Wolfgang Wallner <wolfgang.wallner@br-automation.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
-rw-r--r--README4
-rw-r--r--arch/x86/lib/zimage.c3
2 files changed, 7 insertions, 0 deletions
diff --git a/README b/README
index 6cb0567ba6..5132b2278c 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 - (x86 only) Base address of the bzImage 'setup' block
+
+ zbootaddr - (x86 only) Address of the loaded bzImage, typically
+ BZIMAGE_LOAD_ADDR which is 0x100000
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 92c9cac143..03e33a3ee0 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;
}