1 /* 2 * Copyright (c) 2022-2023, Arm Limited. All rights reserved. 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 7 #include <assert.h> 8 #include <stdint.h> 9 10 #include <common/desc_image_load.h> 11 #include <drivers/measured_boot/rse/rse_measured_boot.h> 12 13 extern struct rse_mboot_metadata tc_rse_mboot_metadata[]; 14 15 int plat_mboot_measure_image(unsigned int image_id, image_info_t *image_data) 16 { 17 int err; 18 19 /* Calculate image hash and record data in RSE */ 20 err = rse_mboot_measure_and_record(tc_rse_mboot_metadata, 21 image_data->image_base, 22 image_data->image_size, 23 image_id); 24 if (err != 0) { 25 ERROR("%s%s image id %u (%i)\n", 26 "Failed to ", "record in RSE", image_id, err); 27 } 28 29 return err; 30 } 31 32 int plat_mboot_measure_key(const void *pk_oid, const void *pk_ptr, size_t pk_len) 33 { 34 return rse_mboot_set_signer_id(tc_rse_mboot_metadata, pk_oid, pk_ptr, 35 pk_len); 36 } 37