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/rss/rss_measured_boot.h>
12 
13 extern struct rss_mboot_metadata tc_rss_mboot_metadata[];
14 
plat_mboot_measure_image(unsigned int image_id,image_info_t * image_data)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 RSS */
20 	err = rss_mboot_measure_and_record(tc_rss_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 RSS", image_id, err);
27 	}
28 
29 	return err;
30 }
31 
plat_mboot_measure_key(void * pk_oid,void * pk_ptr,unsigned int pk_len)32 int plat_mboot_measure_key(void *pk_oid, void *pk_ptr, unsigned int pk_len)
33 {
34 	return rss_mboot_set_signer_id(tc_rss_mboot_metadata, pk_oid, pk_ptr,
35 				       pk_len);
36 }
37