Hi Breno, > Subject: [PATCH 2/4] habv4: tools: Avoid hardcoded CSF size for SPL targets
I saw this patch in imx/master, not in Tom's tree. But this patch breaks build for other archs, such as arc and etc. Regards, Peng. > > 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.l...@nxp.com> > --- > common/image.c | 8 +++++--- > tools/default_image.c | 5 ++++- > 2 files changed, 9 insertions(+), 4 deletions(-) > > diff --git a/common/image.c b/common/image.c index > 9f9538fac2..fc19dfdd9c 100644 > --- a/common/image.c > +++ b/common/image.c > @@ -54,6 +54,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 > @@ -369,9 +371,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)); > } > } > > diff --git a/tools/default_image.c b/tools/default_image.c index > 4b7d1ed4a1..7a26232779 100644 > --- a/tools/default_image.c > +++ b/tools/default_image.c > @@ -19,6 +19,8 @@ > #include <image.h> > #include <tee/optee.h> > #include <u-boot/crc.h> > +#include <imximage.h> > +#include <generated/autoconf.h> > > static image_header_t header; > > @@ -106,7 +108,8 @@ static void image_set_header(void *ptr, struct stat > *sbuf, int ifd, > > if (params->type == IH_TYPE_FIRMWARE_IVT) > /* Add size of CSF minus IVT */ > - imagesize = sbuf->st_size - sizeof(image_header_t) + 0x1FE0; > + imagesize = sbuf->st_size - sizeof(image_header_t) > + + CONFIG_CSF_SIZE - sizeof(flash_header_v2_t); > else > imagesize = sbuf->st_size - sizeof(image_header_t); > > -- > 2.17.1 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot