@@ -559,7 +559,6 @@ void zimage_dump(struct bootm_info *bmi, struct boot_params *base_ptr,
bool show_cmdline)
{
struct setup_header *hdr;
- const char *version;
int i;
printf("Setup located at %p:\n\n", base_ptr);
@@ -596,10 +595,14 @@ void zimage_dump(struct bootm_info *bmi, struct boot_params *base_ptr,
print_num("Real mode switch", hdr->realmode_swtch);
print_num("Start sys seg", hdr->start_sys_seg);
print_num("Kernel version", hdr->kernel_version);
- version = zimage_get_kernel_version(base_ptr,
- (void *)bmi->bzimage_addr);
- if (version)
- printf(" @%p: %s\n", version, version);
+ if (bmi->bzimage_addr) {
+ const char *version;
+
+ version = zimage_get_kernel_version(base_ptr,
+ (void *)bmi->bzimage_addr);
+ if (version)
+ printf(" @%p: %s\n", version, version);
+ }
print_num("Type of loader", hdr->type_of_loader);
show_loader(hdr);
print_num("Load flags", hdr->loadflags);
@@ -384,6 +384,8 @@ static int do_bootflow_info(struct cmd_tbl *cmdtp, int flag, int argc,
struct bootm_info bmi;
bootm_init(&bmi);
+ /* we don't know this at present */
+ bootm_x86_set(&bmi, bzimage_addr, 0);
zimage_dump(&bmi, bflow->x86_setup, false);
return 0;
The address of the bzImage is not recorded in the bootflow, so we cannot actually locate the version at present. Handle this case, to avoid showing invalid data. Signed-off-by: Simon Glass <sjg@chromium.org> --- (no changes since v1) arch/x86/lib/zimage.c | 13 ++++++++----- cmd/bootflow.c | 2 ++ 2 files changed, 10 insertions(+), 5 deletions(-)