
From: Breno Lima breno.lima@nxp.com
Currently it's not possible to authenticate additional boot images in HAB open configuration.
The hab.c code is checking if the SEC_CONFIG[1] fuse is programmed prior to calling the hab_authenticate_image() API function. Users cannot check if their additional boot images has been correctly signed prior to closing their device.
Enable hab.c to authenticate additional boot images in open mode so HAB events can be retrieved through get_hab_status() function.
Signed-off-by: Breno Lima breno.lima@nxp.com Reviewed-by: Ye Li ye.li@nxp.com Signed-off-by: Peng Fan peng.fan@nxp.com --- arch/arm/mach-imx/hab.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/arch/arm/mach-imx/hab.c b/arch/arm/mach-imx/hab.c index bd00d4a458..01ddfab699 100644 --- a/arch/arm/mach-imx/hab.c +++ b/arch/arm/mach-imx/hab.c @@ -794,10 +794,8 @@ int imx_hab_authenticate_image(uint32_t ddr_start, uint32_t image_size, struct ivt *ivt; enum hab_status status;
- if (!imx_hab_is_enabled()) { + if (!imx_hab_is_enabled()) puts("hab fuse not enabled\n"); - return 0; - }
printf("\nAuthenticate image from DDR location 0x%x...\n", ddr_start); @@ -896,7 +894,7 @@ hab_exit_failure_print_status:
hab_authentication_exit:
- if (load_addr != 0) + if (load_addr != 0 || !imx_hab_is_enabled()) result = 0;
return result;