blob: 2f605d71565a6e9bf313932bbb2738e8ace15f27 [file] [log] [blame]
/*
* 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 */