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