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