On 01/27/2018 01:59 PM, Bin Chen wrote: > 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.c...@linaro.org> > Reviewed-by: Tom Rini <tr...@konsulko.com>
Looks good to me, Reviewed-by: Kever Yang <kever.y...@rock-chips.com> Thanks, - Kever > --- > common/image-android.c | 19 +++++++++++++++++++ > include/image.h | 2 ++ > 2 files changed, 21 insertions(+) > > 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 > diff --git a/include/image.h b/include/image.h > index b2b23a96f1..c8ce4da901 100644 > --- a/include/image.h > +++ b/include/image.h > @@ -1263,6 +1263,8 @@ int android_image_get_kernel(const struct andr_img_hdr > *hdr, int verify, > ulong *os_data, ulong *os_len); > int android_image_get_ramdisk(const struct andr_img_hdr *hdr, > ulong *rd_data, ulong *rd_len); > +int android_image_get_second(const struct andr_img_hdr *hdr, > + ulong *second_data, ulong *second_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); _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot