From 3f498b0dc282f6229b0a894ba61dc1948c4fb384 Mon Sep 17 00:00:00 2001 From: Alexei Fedorov <Alexei.Fedorov@arm.com> Date: Mon, 13 Jul 2020 14:06:47 +0100 Subject: [PATCH] TF-A: Add support for Measured Boot driver in BL1 and BL2 This patch adds support for Measured Boot driver functionality in BL1 and BL2 code. Change-Id: I7239a94c3e32b0a3e9e73768a0140e0b52ab0361 Signed-off-by: Alexei Fedorov <Alexei.Fedorov@arm.com> --- bl2/bl2_main.c | 18 ++++++++++++++++-- plat/common/plat_bl1_common.c | 15 +++++++++++++-- 2 files changed, 29 insertions(+), 4 deletions(-) diff --git a/bl2/bl2_main.c b/bl2/bl2_main.c index 802c17464..203e1d4b1 100644 --- a/bl2/bl2_main.c +++ b/bl2/bl2_main.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013-2019, ARM Limited and Contributors. All rights reserved. + * Copyright (c) 2013-2020, ARM Limited and Contributors. All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ @@ -14,6 +14,9 @@ #include <common/debug.h> #include <drivers/auth/auth_mod.h> #include <drivers/console.h> +#if MEASURED_BOOT +#include <drivers/measured_boot/measured_boot.h> +#endif #include <lib/extensions/pauth.h> #include <plat/common/platform.h> @@ -88,14 +91,25 @@ void bl2_main(void) #if TRUSTED_BOARD_BOOT /* Initialize authentication module */ auth_mod_init(); + +#if MEASURED_BOOT + /* Initialize measured boot module */ + measured_boot_init(); + +#endif /* MEASURED_BOOT */ #endif /* TRUSTED_BOARD_BOOT */ - /* initialize boot source */ + /* Initialize boot source */ bl2_plat_preload_setup(); /* Load the subsequent bootloader images. */ next_bl_ep_info = bl2_load_images(); +#if MEASURED_BOOT + /* Finalize measured boot */ + measured_boot_finish(); +#endif /* MEASURED_BOOT */ + #if !BL2_AT_EL3 #ifndef __aarch64__ /* diff --git a/plat/common/plat_bl1_common.c b/plat/common/plat_bl1_common.c index 5733781ac..2baa29aba 100644 --- a/plat/common/plat_bl1_common.c +++ b/plat/common/plat_bl1_common.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015-2018, ARM Limited and Contributors. All rights reserved. + * Copyright (c) 2015-2020, ARM Limited and Contributors. All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ @@ -27,7 +27,9 @@ #pragma weak bl1_plat_fwu_done #pragma weak bl1_plat_handle_pre_image_load #pragma weak bl1_plat_handle_post_image_load - +#if MEASURED_BOOT +#pragma weak bl1_plat_set_bl2_hash +#endif unsigned int bl1_plat_get_next_image_id(void) { @@ -116,3 +118,12 @@ int bl1_plat_handle_post_image_load(unsigned int image_id) (void *) bl2_tzram_layout); return 0; } + +#if MEASURED_BOOT +/* + * Calculates and writes BL2 hash data to TB_FW_CONFIG DTB. + */ +void bl1_plat_set_bl2_hash(const image_desc_t *image_desc) +{ +} +#endif -- GitLab