summaryrefslogtreecommitdiff
path: root/cmd
diff options
context:
space:
mode:
authorSafae Ouajih <souajih@baylibre.com>2023-02-06 00:50:08 +0100
committerTom Rini <trini@konsulko.com>2023-04-04 14:50:46 -0400
commit607b07554e23ff58d245f16765d831253a4210de (patch)
tree6ffd73c83406802068c9cf53610373080f4d347a /cmd
parentf48efa0edb6f65b2c382209871df7c9b61a905e2 (diff)
downloadu-boot-607b07554e23ff58d245f16765d831253a4210de.tar.gz
android: boot: move to andr_image_data structure
Move from andr_boot_img_hdr_v0 to andr_image_data structure to prepare for boot image header version 3 and 4. Signed-off-by: Safae Ouajih <souajih@baylibre.com> Tested-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Diffstat (limited to 'cmd')
-rw-r--r--cmd/abootimg.c31
1 files changed, 16 insertions, 15 deletions
diff --git a/cmd/abootimg.c b/cmd/abootimg.c
index b5cfb141ef..f04a7c7c8e 100644
--- a/cmd/abootimg.c
+++ b/cmd/abootimg.c
@@ -66,33 +66,34 @@ static int abootimg_get_recovery_dtbo(int argc, char *const argv[])
static int abootimg_get_dtb_load_addr(int argc, char *const argv[])
{
- const struct andr_boot_img_hdr_v0 *hdr;
- int res = CMD_RET_SUCCESS;
-
if (argc > 1)
return CMD_RET_USAGE;
+ struct andr_image_data img_data = {0};
+ const struct andr_boot_img_hdr_v0 *hdr;
hdr = map_sysmem(abootimg_addr(), sizeof(*hdr));
- if (!is_android_boot_image_header(hdr)) {
- printf("Error: Boot Image header is incorrect\n");
- res = CMD_RET_FAILURE;
- goto exit;
+ if (!android_image_get_data(hdr, &img_data)) {
+ unmap_sysmem(hdr);
+ return CMD_RET_FAILURE;
}
+ unmap_sysmem(hdr);
- if (hdr->header_version < 2) {
+ if (img_data.header_version < 2) {
printf("Error: header_version must be >= 2 for this\n");
- res = CMD_RET_FAILURE;
- goto exit;
+ return CMD_RET_FAILURE;
+ }
+
+ if (!img_data.dtb_load_addr) {
+ printf("Error: failed to read dtb_load_addr\n");
+ return CMD_RET_FAILURE;
}
if (argc == 0)
- printf("%lx\n", (ulong)hdr->dtb_addr);
+ printf("%lx\n", (ulong)img_data.dtb_load_addr);
else
- env_set_hex(argv[0], (ulong)hdr->dtb_addr);
+ env_set_hex(argv[0], (ulong)img_data.dtb_load_addr);
-exit:
- unmap_sysmem(hdr);
- return res;
+ return CMD_RET_SUCCESS;
}
static int abootimg_get_dtb_by_index(int argc, char *const argv[])