summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/x86/lib/zimage.c7
-rw-r--r--cmd/x86/zboot.c16
2 files changed, 9 insertions, 14 deletions
diff --git a/arch/x86/lib/zimage.c b/arch/x86/lib/zimage.c
index 1d1249fc25a..b72e2f01bd5 100644
--- a/arch/x86/lib/zimage.c
+++ b/arch/x86/lib/zimage.c
@@ -370,6 +370,7 @@ int setup_zimage(struct boot_params *setup_base, char *cmd_line, int auto_boot,
int zboot_load(void)
{
struct boot_params *base_ptr;
+ int ret;
if (state.base_ptr) {
struct boot_params *from = (struct boot_params *)state.base_ptr;
@@ -389,6 +390,12 @@ int zboot_load(void)
}
state.base_ptr = base_ptr;
+ ret = env_set_hex("zbootbase", map_to_sysmem(state.base_ptr));
+ if (!ret)
+ ret = env_set_hex("zbootaddr", state.load_address);
+ if (ret)
+ return ret;
+
return 0;
}
diff --git a/cmd/x86/zboot.c b/cmd/x86/zboot.c
index f5c90a8ba89..d39ab6a9698 100644
--- a/cmd/x86/zboot.c
+++ b/cmd/x86/zboot.c
@@ -62,30 +62,18 @@ static int do_zboot_start(struct cmd_tbl *cmdtp, int flag, int argc,
return 0;
}
-static int _zboot_load(void)
+static int do_zboot_load(struct cmd_tbl *cmdtp, int flag, int argc,
+ char *const argv[])
{
int ret;
ret = zboot_load();
- if (!ret)
- ret = env_set_hex("zbootbase", map_to_sysmem(state.base_ptr));
- if (!ret)
- ret = env_set_hex("zbootaddr", state.load_address);
if (ret)
return ret;
return 0;
}
-static int do_zboot_load(struct cmd_tbl *cmdtp, int flag, int argc,
- char *const argv[])
-{
- if (_zboot_load())
- return CMD_RET_FAILURE;
-
- return 0;
-}
-
static int _zboot_setup(void)
{
struct boot_params *base_ptr = state.base_ptr;