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