diff mbox

[U-Boot,RFC,V2] common: image: minimal android image iminfo support

Message ID 20160610175433.GA29363@panicking
State Accepted
Commit 4f1318b29c7a20a694d02247917a6000f08dec9a
Delegated to: Tom Rini
Headers show

Commit Message

Michael Nazzareno Trimarchi June 10, 2016, 5:54 p.m. UTC
We already support iminfo for other images. The idea
of this patch is start to have a minimal support for
android image format. We still need to print id[] array

Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
---
Changes V1 -> V2:
	- remove 0x on hex print
	- fix comment in the function
	- add commit message
---
 cmd/bootm.c            |  6 ++++++
 common/image-android.c | 29 +++++++++++++++++++++++++++++
 include/image.h        |  1 +
 3 files changed, 36 insertions(+)

Comments

Simon Glass June 12, 2016, 9:15 p.m. UTC | #1
On 10 June 2016 at 11:54, Michael Trimarchi
<michael@amarulasolutions.com> wrote:
> We already support iminfo for other images. The idea
> of this patch is start to have a minimal support for
> android image format. We still need to print id[] array
>
> Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
> ---
> Changes V1 -> V2:
>         - remove 0x on hex print
>         - fix comment in the function
>         - add commit message
> ---
>  cmd/bootm.c            |  6 ++++++
>  common/image-android.c | 29 +++++++++++++++++++++++++++++
>  include/image.h        |  1 +
>  3 files changed, 36 insertions(+)

Reviewed-by: Simon Glass <sjg@chromium.org>
Tom Rini June 25, 2016, 2:51 a.m. UTC | #2
On Fri, Jun 10, 2016 at 07:54:37PM +0200, Michael Trimarchi wrote:

> We already support iminfo for other images. The idea
> of this patch is start to have a minimal support for
> android image format. We still need to print id[] array
> 
> Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
> Reviewed-by: Simon Glass <sjg@chromium.org>

Applied to u-boot/master, thanks!
diff mbox

Patch

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..ee03b96 100644
--- a/common/image-android.c
+++ b/common/image-android.c
@@ -145,3 +145,32 @@  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
+ *
+ * android_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:      %x\n", p, hdr->kernel_size);
+	printf("%skernel address:   %x\n", p, hdr->kernel_addr);
+	printf("%sramdisk size:     %x\n", p, hdr->ramdisk_size);
+	printf("%sramdisk addrress: %x\n", p, hdr->ramdisk_addr);
+	printf("%ssecond size:      %x\n", p, hdr->second_size);
+	printf("%ssecond address:   %x\n", p, hdr->second_addr);
+	printf("%stags address:     %x\n", p, hdr->tags_addr);
+	printf("%spage size:        %x\n", p, hdr->page_size);
+	printf("%sname:             %s\n", p, hdr->name);
+	printf("%scmdline:          %s\n", p, hdr->cmdline);
+}
+#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 */