[U-Boot] [RFC PATCH] common: image: minimal android image iminfo support
Simon Glass
sjg at chromium.org
Fri Jun 10 18:44:41 CEST 2016
On 10 June 2016 at 08:23, Michael Trimarchi
<michael at amarulasolutions.com> wrote:
>
> Signed-off-by: Michael Trimarchi <michael at amarulasolutions.com>
Commit message?
> ---
> cmd/bootm.c | 6 ++++++
> common/image-android.c | 28 ++++++++++++++++++++++++++++
> include/image.h | 1 +
> 3 files changed, 35 insertions(+)
>
> diff --git a/cmd/bootm.c b/cmd/bootm.c
> index 1bca6fa..eb4e904 100644
> --- a/cmd/bootm.c
> +++ b/cmd/bootm.c
> @@ -275,6 +275,12 @@ static int image_info(ulong addr)
> puts("OK\n");
> return 0;
> #endif
> +#if defined(CONFIG_ANDROID_BOOT_IMAGE)
> + case IMAGE_FORMAT_ANDROID:
> + puts(" Android image found\n");
> + android_print_contents(hdr);
> + return 0;
> +#endif
> #if defined(CONFIG_FIT)
> case IMAGE_FORMAT_FIT:
> puts(" FIT image found\n");
> diff --git a/common/image-android.c b/common/image-android.c
> index b6a94b3..6284c4c 100644
> --- a/common/image-android.c
> +++ b/common/image-android.c
> @@ -145,3 +145,31 @@ int android_image_get_ramdisk(const struct andr_img_hdr *hdr,
> *rd_len = hdr->ramdisk_size;
> return 0;
> }
> +
> +#if !defined(CONFIG_SPL_BUILD)
> +/**
> + * android_print_contents - prints out the contents of the Android format image
> + * @hdr: pointer to the Android format image header
> + *
> + * fit_print_contents() formats a multi line Android image contents description.
> + * The routine prints out Android image properties
> + *
> + * returns:
> + * no returned results
> + */
> +void android_print_contents(const struct andr_img_hdr *hdr)
> +{
> + const char * const p = IMAGE_INDENT_STRING;
> +
> + printf("%skernel size: 0x%x\n", p, hdr->kernel_size);
> + printf("%skernel address: 0x%x\n", p, hdr->kernel_addr);
> + printf("%sramdisk size: 0x%x\n", p, hdr->ramdisk_size);
> + printf("%sramdisk addrress: 0x%x\n", p, hdr->ramdisk_addr);
> + printf("%ssecond size: 0x%x\n", p, hdr->second_size);
> + printf("%ssecond address: 0x%x\n", p, hdr->second_addr);
> + printf("%stags address: 0x%x\n", p, hdr->tags_addr);
> + printf("%spage size: 0x%x\n", p, hdr->page_size);
> + printf("%sname: %s\n", p, hdr->name);
> + printf("%scmdline: %s\n", p, hdr->cmdline);
U-Boot uses hex by default so I think you can drop the 0x.
> +}
> +#endif
> diff --git a/include/image.h b/include/image.h
> index f9ee564..61b5d3b 100644
> --- a/include/image.h
> +++ b/include/image.h
> @@ -1151,6 +1151,7 @@ int android_image_get_ramdisk(const struct andr_img_hdr *hdr,
> ulong *rd_data, ulong *rd_len);
> ulong android_image_get_end(const struct andr_img_hdr *hdr);
> ulong android_image_get_kload(const struct andr_img_hdr *hdr);
> +void android_print_contents(const struct andr_img_hdr *hdr);
>
> #endif /* CONFIG_ANDROID_BOOT_IMAGE */
>
> --
> 2.8.4
>
Regards,
Simon
More information about the U-Boot
mailing list