mach-imx: bootaux: print stack pointer and reset vector
authorIgor Opaniuk <igor.opaniuk@toradex.com>
Thu, 28 Nov 2019 13:56:19 +0000 (15:56 +0200)
committerStefano Babic <sbabic@denx.de>
Tue, 7 Jan 2020 09:26:56 +0000 (10:26 +0100)
1. Change information printed about loaded M4 binary, print the stack
pointer and reset vector addressed.
2. Add sanity check for the address provided as param.

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
arch/arm/mach-imx/imx_bootaux.c

index 3d9422d..ee786f7 100644 (file)
@@ -20,6 +20,9 @@ int arch_auxiliary_core_up(u32 core_id, ulong boot_private_data)
        stack = *(u32 *)boot_private_data;
        pc = *(u32 *)(boot_private_data + 4);
 
+       printf("## Starting auxiliary core stack = 0x%08lX, pc = 0x%08lX...\n",
+              stack, pc);
+
        /* Set the stack and pc to M4 bootROM */
        writel(stack, M4_BOOTROM_BASE_ADDR);
        writel(pc, M4_BOOTROM_BASE_ADDR + 4);
@@ -80,7 +83,8 @@ static int do_bootaux(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 
        addr = simple_strtoul(argv[1], NULL, 16);
 
-       printf("## Starting auxiliary core at 0x%08lX ...\n", addr);
+       if (!addr)
+               return CMD_RET_FAILURE;
 
        ret = arch_auxiliary_core_up(0, addr);
        if (ret)