summaryrefslogtreecommitdiff
path: root/boot/image-board.c
diff options
context:
space:
mode:
Diffstat (limited to 'boot/image-board.c')
-rw-r--r--boot/image-board.c18
1 files changed, 15 insertions, 3 deletions
diff --git a/boot/image-board.c b/boot/image-board.c
index 2d73c76a4af..7dd0c32e6e1 100644
--- a/boot/image-board.c
+++ b/boot/image-board.c
@@ -426,10 +426,22 @@ static int select_ramdisk(struct bootm_headers *images, const char *select, u8 a
break;
case IMAGE_FORMAT_ANDROID:
if (IS_ENABLED(CONFIG_ANDROID_BOOT_IMAGE)) {
- void *ptr = map_sysmem(images->os.start, 0);
int ret;
- ret = android_image_get_ramdisk(ptr, NULL, rd_datap, rd_lenp);
- unmap_sysmem(ptr);
+ if (IS_ENABLED(CONFIG_CMD_ABOOTIMG)) {
+ void *boot_img = map_sysmem(get_abootimg_addr(), 0);
+ void *vendor_boot_img = map_sysmem(get_avendor_bootimg_addr(), 0);
+
+ ret = android_image_get_ramdisk(boot_img, vendor_boot_img,
+ rd_datap, rd_lenp);
+ unmap_sysmem(vendor_boot_img);
+ unmap_sysmem(boot_img);
+ } else {
+ void *ptr = map_sysmem(images->os.start, 0);
+
+ ret = android_image_get_ramdisk(ptr, NULL, rd_datap, rd_lenp);
+ unmap_sysmem(ptr);
+ }
+
if (ret)
return ret;
done = true;