summaryrefslogtreecommitdiff
path: root/common/image.c
diff options
context:
space:
mode:
authorBreno Matheus Lima <breno.lima@nxp.com>2019-07-18 12:34:15 +0000
committerStefano Babic <sbabic@denx.de>2019-10-08 16:35:59 +0200
commit40af7d39aab46383e3b0d52b4b06928231807637 (patch)
treebceebee7e668192eece5e9aa5af9cf2d92043c65 /common/image.c
parentbae4e8cb92295302ece0057e52a7666483878343 (diff)
downloadu-boot-40af7d39aab46383e3b0d52b4b06928231807637.tar.gz
u-boot-40af7d39aab46383e3b0d52b4b06928231807637.tar.bz2
u-boot-40af7d39aab46383e3b0d52b4b06928231807637.zip
habv4: tools: Avoid hardcoded CSF size for SPL targets
Currently it's not possible to authenticate the U-Boot proper of mx6ul_14x14_evk_defconfig target: Authenticate image from DDR location 0x877fffc0... bad magic magic=0x0 length=0x00 version=0x3 bad length magic=0x0 length=0x00 version=0x3 bad version magic=0x0 length=0x00 version=0x3 spl: ERROR: image authentication fail Commit 0633e134784a ("imx: hab: Increase CSF_SIZE for i.MX6 and i.MX7 devices") has increased CSF_SIZE to avoid a possible issue when booting encrypted boot images. Commit d21bd69b6e95 ("tools: mkimage: add firmware-ivt image type for HAB verification") is hardcoding the CSF and IVT sizes, the new CSF size is not being considered and u-boot-ivt.img fails to boot. Avoid hardcoded CSF and IVT size to fix this issue. Signed-off-by: Breno Lima <breno.lima@nxp.com> Reviewed-by: Fabio Estevam <festevam@gmail.com>
Diffstat (limited to 'common/image.c')
-rw-r--r--common/image.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/common/image.c b/common/image.c
index 179eef0bd2..9badb915f4 100644
--- a/common/image.c
+++ b/common/image.c
@@ -61,6 +61,8 @@ static const image_header_t *image_get_ramdisk(ulong rd_addr, uint8_t arch,
#endif /* !USE_HOSTCC*/
#include <u-boot/crc.h>
+#include <imximage.h>
+#include <generated/autoconf.h>
#ifndef CONFIG_SYS_BARGSIZE
#define CONFIG_SYS_BARGSIZE 512
@@ -378,9 +380,9 @@ void image_print_contents(const void *ptr)
}
} else if (image_check_type(hdr, IH_TYPE_FIRMWARE_IVT)) {
printf("HAB Blocks: 0x%08x 0x0000 0x%08x\n",
- image_get_load(hdr) - image_get_header_size(),
- image_get_size(hdr) + image_get_header_size()
- - 0x1FE0);
+ image_get_load(hdr) - image_get_header_size(),
+ (int)(image_get_size(hdr) + image_get_header_size()
+ + sizeof(flash_header_v2_t) - CONFIG_CSF_SIZE));
}
}