| /* |
| * Copyright (c) 2022-2024, Arm Limited. All rights reserved. |
| * |
| * SPDX-License-Identifier: BSD-3-Clause |
| */ |
| |
| #ifndef RSE_MEASURED_BOOT_H |
| #define RSE_MEASURED_BOOT_H |
| |
| #include <stdint.h> |
| |
| #include <common/debug.h> |
| #include <drivers/measured_boot/metadata.h> |
| |
| #define RSE_MBOOT_INVALID_ID UINT32_MAX |
| |
| struct rse_mboot_metadata { |
| unsigned int id; |
| uint8_t slot; |
| uint8_t signer_id[SIGNER_ID_MAX_SIZE]; |
| size_t signer_id_size; |
| uint8_t version[VERSION_MAX_SIZE]; |
| size_t version_size; |
| uint8_t sw_type[SW_TYPE_MAX_SIZE]; |
| size_t sw_type_size; |
| void *pk_oid; |
| bool lock_measurement; |
| }; |
| |
| /* Functions' declarations */ |
| void rse_measured_boot_init(struct rse_mboot_metadata *metadata_ptr); |
| int rse_mboot_measure_and_record(struct rse_mboot_metadata *metadata_ptr, |
| uintptr_t data_base, uint32_t data_size, |
| uint32_t data_id); |
| |
| int rse_mboot_set_signer_id(struct rse_mboot_metadata *metadata_ptr, |
| const void *pk_oid, const void *pk_ptr, |
| size_t pk_len); |
| |
| #endif /* RSE_MEASURED_BOOT_H */ |