summaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorBin Chen <bin.chen@linaro.org>2018-01-27 16:59:08 +1100
committerTom Rini <trini@konsulko.com>2018-02-07 21:58:26 -0500
commit104816142f9c6a4c8c164e7541a3424bcf5e8e91 (patch)
treef9ac232874dfc2c64e0530cca206baedf9b6d0bb /common
parente24bd1e79e223aa89854c0be95a53e2d538144a5 (diff)
parse the second area of android image
The second area of android image was intended to put a 2nd stage bootloader but in practice were rarely used (in my knowledge). An proposal was made to the AOSP to (re)use the second area as the dtb[1], This patch itself doesn't depend on that proposal being accepted but it won't be that helpful as well if that proposal won't be accepted. But don't do any harm as well. [1] https://android-review.googlesource.com/#/c/417447/ Signed-off-by: Bin Chen <bin.chen@linaro.org> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Diffstat (limited to 'common')
-rw-r--r--common/image-android.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/common/image-android.c b/common/image-android.c
index e74d0aafca..5ad3a1fa38 100644
--- a/common/image-android.c
+++ b/common/image-android.c
@@ -146,6 +146,25 @@ int android_image_get_ramdisk(const struct andr_img_hdr *hdr,
return 0;
}
+int android_image_get_second(const struct andr_img_hdr *hdr,
+ ulong *second_data, ulong *second_len)
+{
+ if (!hdr->second_size) {
+ *second_data = *second_len = 0;
+ return -1;
+ }
+
+ *second_data = (unsigned long)hdr;
+ *second_data += hdr->page_size;
+ *second_data += ALIGN(hdr->kernel_size, hdr->page_size);
+ *second_data += ALIGN(hdr->ramdisk_size, hdr->page_size);
+
+ printf("second address is 0x%lx\n",*second_data);
+
+ *second_len = hdr->second_size;
+ return 0;
+}
+
#if !defined(CONFIG_SPL_BUILD)
/**
* android_print_contents - prints out the contents of the Android format image