Boot data stored in the flash info partition. More...
#include <sw/device/silicon_creator/lib/boot_data.h>
Data Fields | |
hmac_digest_t | digest |
SHA-256 digest of boot data. More... | |
uint64_t | is_valid |
Invalidation field. More... | |
uint32_t | identifier |
Boot data identifier. | |
uint32_t | version |
Boot data format version. More... | |
uint32_t | counter |
Counter. More... | |
uint32_t | min_security_version_rom_ext |
Minimum required security version for ROM_EXT. | |
uint32_t | min_security_version_bl0 |
Minimum required security version for BL0. | |
uint32_t | primary_bl0_slot |
The BL0 slot that is prioritized during boot. | |
uint32_t | next_owner [8] |
Next owner key (ECDSA). More... | |
nonce_t | nonce |
Challenge/response nonce for signed boot_svc commands. | |
uint32_t | ownership_state |
Ownership state. More... | |
uint32_t | ownership_transfers |
Number of ownership transfers this chip has had. | |
uint32_t | padding [4] |
Padding for future enhancements and to make the size of boot_data_t a power of two. | |
Boot data stored in the flash info partition.
Definition at line 21 of file boot_data.h.
uint32_t boot_data::counter |
Counter.
This is a monotonically increasing counter that is used to determine the newest entry across both boot data pages.
Definition at line 58 of file boot_data.h.
hmac_digest_t boot_data::digest |
SHA-256 digest of boot data.
The region covered by this digest starts immediately after this field and ends at the end of the entry.
Definition at line 28 of file boot_data.h.
uint32_t boot_data::identifier |
Boot data identifier.
Definition at line 43 of file boot_data.h.
uint64_t boot_data::is_valid |
Invalidation field.
This field is used to invalidate the previous entry after writing a new entry. When writing a new entry, the value of this field is assumed to be kBootDataValidEntry
, which matches the value of unwritten flash words, but it is skipped so that the entry can be invalidated at a later time. An entry can be invalidated by writing kBootDataInvalidEntry
to this field resulting in a digest mismatch.
Definition at line 39 of file boot_data.h.
uint32_t boot_data::min_security_version_bl0 |
Minimum required security version for BL0.
Definition at line 66 of file boot_data.h.
uint32_t boot_data::min_security_version_rom_ext |
Minimum required security version for ROM_EXT.
Definition at line 62 of file boot_data.h.
uint32_t boot_data::next_owner[8] |
Next owner key (ECDSA).
Only relevant in the UNLOCKED_ENDORSED ownership state.
Definition at line 75 of file boot_data.h.
nonce_t boot_data::nonce |
Challenge/response nonce for signed boot_svc commands.
Definition at line 79 of file boot_data.h.
uint32_t boot_data::ownership_state |
Ownership state.
One of LOCKED_OWNER, LOCKED_UPDATE, UNLOCKED_ANY, UNLOCKED_ENDORSED, LOCKED_NONE.
Definition at line 84 of file boot_data.h.
uint32_t boot_data::ownership_transfers |
Number of ownership transfers this chip has had.
Definition at line 88 of file boot_data.h.
uint32_t boot_data::padding[4] |
Padding for future enhancements and to make the size of boot_data_t
a power of two.
Definition at line 94 of file boot_data.h.
uint32_t boot_data::primary_bl0_slot |
The BL0 slot that is prioritized during boot.
Definition at line 70 of file boot_data.h.
uint32_t boot_data::version |
Boot data format version.
This field must be set to the latest version for new entries but is not enforced during reads for forward compatibility in ROM and backward compatibility in ROM_EXT.
Definition at line 51 of file boot_data.h.