
Hi,
On Fri, 9 Mar 2018 17:35:46 +0000 Bryan O'Donoghue wrote:
This patch takes a given address applies a plus or minus offset to locate the putative address of an IVT given a non-IVT link location.
It then sets hab_ivt_address to allow for further logic/scripting based on the calculated address.
This routine is useful when scripting hab_auth_img calls from boot.scr. Subsequent patches will illustrate its utility in a board-port.
Signed-off-by: Bryan O'Donoghue bryan.odonoghue@linaro.org Cc: Utkarsh Gupta utkarsh.gupta@nxp.com Cc: Breno Lima breno.lima@nxp.com Cc: Fabio Estevam fabio.estevam@nxp.com
arch/arm/mach-imx/hab.c | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+)
diff --git a/arch/arm/mach-imx/hab.c b/arch/arm/mach-imx/hab.c index c730c8f..0c18b2e 100644 --- a/arch/arm/mach-imx/hab.c +++ b/arch/arm/mach-imx/hab.c @@ -341,6 +341,31 @@ static int do_hab_failsafe(cmd_tbl_t *cmdtp, int flag, int argc, return 0; }
+/*
- This routine takes a given address and applies a plus or minus offset to that
- address.
- */
+static int do_hab_get_ivt_addr(cmd_tbl_t *cmdtp, int flag, int argc,
char * const argv[])
+{
- ulong addr;
- long ivt_offset;
- if (argc < 3)
return CMD_RET_USAGE;
- if (!imx_hab_is_enabled())
return CMD_RET_FAILURE;
- addr = simple_strtoul(argv[1], NULL, 16);
- ivt_offset = simple_strtol(argv[2], NULL, 16);
- addr += ivt_offset;
- env_set_hex("hab_ivt_addr", addr);
- return CMD_RET_SUCCESS;
+}
U_BOOT_CMD( hab_status, CONFIG_SYS_MAXARGS, 1, do_hab_status, "display HAB status",
What does this function offer, that a 'setexpr hab_ivt_addr ${loadaddr} + 0x400' could not do as well?
Lothar Waßmann