X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=common%2Fcmd_doc.c;h=3358b04622ed960796e87d9d1c62e3766f6c8bae;hb=d5934ad7756f038a393a9cfab76a4fe306d9d930;hp=3d717c039d444a54c3cd756d8a8c44e0474abbc0;hpb=9caeaadf508cd0e11ac5dfc56ab0f72e3b89a105;p=people%2Fms%2Fu-boot.git diff --git a/common/cmd_doc.c b/common/cmd_doc.c index 3d717c039d..3358b04622 100644 --- a/common/cmd_doc.c +++ b/common/cmd_doc.c @@ -261,17 +261,29 @@ int do_docboot (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) } show_boot_progress (38); - hdr = (image_header_t *)addr; + switch (gen_image_get_format ((void *)addr)) { + case IMAGE_FORMAT_LEGACY: + hdr = (image_header_t *)addr; - if (hdr->ih_magic == IH_MAGIC) { + if (image_check_magic (hdr)) { - print_image_hdr (hdr); + image_print_contents (hdr); - cnt = (ntohl(hdr->ih_size) + sizeof(image_header_t)); - cnt -= SECTORSIZE; - } else { - puts ("\n** Bad Magic Number **\n"); - show_boot_progress (-39); + cnt = image_get_image_size (hdr); + cnt -= SECTORSIZE; + } else { + puts ("\n** Bad Magic Number **\n"); + show_boot_progress (-39); + return 1; + } + break; +#if defined(CONFIG_FIT) + case IMAGE_FORMAT_FIT: + fit_unsupported ("docboot"); + return 1; +#endif + default: + puts ("** Unknown image type\n"); return 1; } show_boot_progress (39);