summaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorPeng Fan <Peng.Fan@freescale.com>2015-03-07 20:53:50 +0800
committerMax Krummenacher <max.krummenacher@toradex.com>2016-03-09 14:42:06 +0100
commit678aac811fe949fe8c41f38d14194b1a0095cd2f (patch)
treeca2bcad9017d29e276178377462f8e4c1421036c /common
parente1ed8ee4380b533d76daeea26f9e6593f720664d (diff)
MLK-10774-23 Add SECURE BOOT in cmd_bootm.c
Add SECURE BOOT in bootm Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Diffstat (limited to 'common')
-rw-r--r--common/cmd_bootm.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c
index 1825d70196..6c5b600515 100644
--- a/common/cmd_bootm.c
+++ b/common/cmd_bootm.c
@@ -127,6 +127,16 @@ int do_bootm(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
return do_bootm_subcommand(cmdtp, flag, argc, argv);
}
+#ifdef CONFIG_SECURE_BOOT
+ extern uint32_t authenticate_image(
+ uint32_t ddr_start, uint32_t image_size);
+ if (authenticate_image(load_addr,
+ image_get_image_size((image_header_t *)load_addr)) == 0) {
+ printf("Authenticate uImage Fail, Please check\n");
+ return 1;
+ }
+#endif
+
return do_bootm_states(cmdtp, flag, argc, argv, BOOTM_STATE_START |
BOOTM_STATE_FINDOS | BOOTM_STATE_FINDOTHER |
BOOTM_STATE_LOADOS |
@@ -582,6 +592,14 @@ static int bootz_start(cmd_tbl_t *cmdtp, int flag, int argc,
if (bootm_find_ramdisk_fdt(flag, argc, argv))
return 1;
+#ifdef CONFIG_SECURE_BOOT
+ extern uint32_t authenticate_image(
+ uint32_t ddr_start, uint32_t image_size);
+ if (authenticate_image(images->ep, zi_end - zi_start) == 0) {
+ printf("Authenticate zImage Fail, Please check\n");
+ return 1;
+ }
+#endif
return 0;
}