From: Ye Li <ye...@nxp.com>

When loading kernel image, the image size is parsed from header, so it
does not include the CSF and IVT.

Add back the authenticate_image function to wrap the imx_hab_authenticate_image
with calculating IVT offset and full image size.

Signed-off-by: Ye Li <ye...@nxp.com>
Signed-off-by: Peng Fan <peng....@nxp.com>
---
 arch/arm/mach-imx/hab.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/arch/arm/mach-imx/hab.c b/arch/arm/mach-imx/hab.c
index d0757d8b66..66ac440349 100644
--- a/arch/arm/mach-imx/hab.c
+++ b/arch/arm/mach-imx/hab.c
@@ -698,3 +698,15 @@ hab_authentication_exit:
 
        return result;
 }
+
+int authenticate_image(u32 ddr_start, u32 raw_image_size)
+{
+       u32 ivt_offset;
+       size_t bytes;
+
+       ivt_offset = (raw_image_size + ALIGN_SIZE - 1) &
+                                       ~(ALIGN_SIZE - 1);
+       bytes = ivt_offset + IVT_SIZE + CSF_PAD_SIZE;
+
+       return imx_hab_authenticate_image(ddr_start, bytes, ivt_offset);
+}
-- 
2.25.1

Reply via email to