On Thu 13 Jun 2024 at 17:42, Mattijs Korpershoek <mkorpersh...@baylibre.com> 
wrote:

> When calling android_image_get_dtb_by_index() using boot image v3+,
> we should also pass the vendor_boot ramdisk address.
> 
> Use get_avendor_bootimg_addr() to do so.
> 
> Notes: on boot image v2, this is harmless since get_avendor_bootimg_addr()
>        returns -1.
>        for legacy implementations that don't have CMD_ABOOTIMG, add a weak
>        implementation to avoid linking errors.
> 
> Signed-off-by: Mattijs Korpershoek <mkorpersh...@baylibre.com>
> ---
>  boot/image-android.c | 5 +++++
>  boot/image-fdt.c     | 2 +-
>  2 files changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/boot/image-android.c b/boot/image-android.c
> index ee626972c114..09c7a44e058a 100644
> --- a/boot/image-android.c
> +++ b/boot/image-android.c
> @@ -56,6 +56,11 @@ static ulong add_trailer(ulong bootconfig_start_addr, 
> ulong bootconfig_size)
>       return BOOTCONFIG_TRAILER_SIZE;
>  }
>  
> +__weak ulong get_avendor_bootimg_addr(void)
> +{
> +     return -1;
> +}
> +
>  static void android_boot_image_v3_v4_parse_hdr(const struct 
> andr_boot_img_hdr_v3 *hdr,
>                                              struct andr_image_data *data)
>  {
> diff --git a/boot/image-fdt.c b/boot/image-fdt.c
> index 56dd7687f51c..8332792b8e80 100644
> --- a/boot/image-fdt.c
> +++ b/boot/image-fdt.c
> @@ -502,7 +502,7 @@ int boot_get_fdt(void *buf, const char *select, uint arch,
>                * Firstly check if this android boot image has dtb field.
>                */
>               dtb_idx = (u32)env_get_ulong("adtb_idx", 10, 0);
> -             if (android_image_get_dtb_by_index((ulong)hdr, 0,
> +             if (android_image_get_dtb_by_index((ulong)hdr, 
> get_avendor_bootimg_addr(),
>                                                  dtb_idx, &fdt_addr, 
> &fdt_size)) {
>                       fdt_blob = (char *)map_sysmem(fdt_addr, 0);
>                       if (fdt_check_header(fdt_blob))
> 
> -- 
> 2.45.2
> 

Reviewed-by: Julien Masson <jmas...@baylibre.com>
-- 
Julien Masson

Reply via email to