Software APIs
sw
device
silicon_creator
lib
base
boot_measurements.h
1
// Copyright lowRISC contributors (OpenTitan project).
2
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
3
// SPDX-License-Identifier: Apache-2.0
4
5
#ifndef OPENTITAN_SW_DEVICE_SILICON_CREATOR_LIB_BASE_BOOT_MEASUREMENTS_H_
6
#define OPENTITAN_SW_DEVICE_SILICON_CREATOR_LIB_BASE_BOOT_MEASUREMENTS_H_
7
8
#include <
stddef.h
>
9
#include <
stdint.h
>
10
11
#include "
sw/device/lib/base/macros.h
"
12
#include "sw/device/silicon_creator/lib/keymgr_binding_value.h"
13
14
#ifdef __cplusplus
15
extern
"C"
{
16
#endif
17
18
/**
19
* Boot measurements shared between ROM and ROM_EXT boot stages.
20
*/
21
typedef
struct
boot_measurements
{
22
/**
23
* ROM_EXT digest value calculated in ROM. Stored in a format that can be
24
* consumed by the key manager.
25
*
26
* If OTP `ROM_KEYMGR_ROM_EXT_MEAS_EN` is set to `kHardenedBoolTrue`, the
27
* rom will use this value to configure the key manager attestation
28
* binding registers.
29
*/
30
keymgr_binding_value_t
rom_ext
;
31
/**
32
* BL0 firmware + owner configuration block digest value calculated in
33
* ROM_EXT. Stored in a format that can be consumed by the key manager.
34
*/
35
keymgr_binding_value_t
bl0
;
36
}
boot_measurements_t
;
37
38
OT_ASSERT_MEMBER_OFFSET
(
boot_measurements_t
, rom_ext, 0);
39
OT_ASSERT_MEMBER_OFFSET
(
boot_measurements_t
, bl0, 32);
40
OT_ASSERT_SIZE
(
boot_measurements_t
, 64);
41
42
extern
boot_measurements_t
boot_measurements
;
43
44
#ifdef __cplusplus
45
}
46
#endif
47
48
#endif
// OPENTITAN_SW_DEVICE_SILICON_CREATOR_LIB_BASE_BOOT_MEASUREMENTS_H_
Return to
OpenTitan Documentation