TT-System-Firmware APIs 19.15.99
Tenstorrent Firmware
Loading...
Searching...
No Matches
fw_bundle_toc Struct Reference

The table of contents present in the FW bundle payload. More...

#include <tt_bundle_loader.h>

Collaboration diagram for fw_bundle_toc:

Data Fields

uint32_t toc_identifier
 The toc identifier string. Must be FW_BUNDLE_TOC_ID.
uint16_t toc_version_major
 Major version of the TOC format. Current major version is 1. Changes to the major version indicate a change that is not backwards compatible. If the major version number in a manifest is greater than the major version for which the software was designed to use the software will reject the manifest. Old software can correctly use a format that only differs by having a larger minor version than it was designed to work with.
uint16_t toc_version_minor
 Minor version of the TOC format. Current minor version is 0.
uint64_t payload_length
 Length of the cleartext payload in bytes. This size includes the TOC, all images, and any (optional) space. This payload_length in the TOC may only differ from the manifest payload_length when the TOC payload_length excludes padding due to encryption of the payload. The payload_length may extend past the end of the images, as this is useful to allow in-place updates of images in flash; room for the entire payload_length must be allocated in flash. There may also be unused space in between images for various reasons including aligning the start address of images or allowing for in-place image updates in flash. Unused space in the payload is ignored and may have arbitrary values as flash blocks in this area may not be erased or written.
uint64_t image_count
 Number of images in the payload and TOC. The length of the TOC is determined by this.
uint64_t reserved
 Reserved - must be 0.
struct fw_bundle_toc_entry entries []
 The TOC entries, image_count of them, immediately following this header.

Detailed Description

The table of contents present in the FW bundle payload.

Field Documentation

◆ entries

struct fw_bundle_toc_entry fw_bundle_toc::entries[]

The TOC entries, image_count of them, immediately following this header.

◆ image_count

uint64_t fw_bundle_toc::image_count

Number of images in the payload and TOC. The length of the TOC is determined by this.

◆ payload_length

uint64_t fw_bundle_toc::payload_length

Length of the cleartext payload in bytes. This size includes the TOC, all images, and any (optional) space. This payload_length in the TOC may only differ from the manifest payload_length when the TOC payload_length excludes padding due to encryption of the payload. The payload_length may extend past the end of the images, as this is useful to allow in-place updates of images in flash; room for the entire payload_length must be allocated in flash. There may also be unused space in between images for various reasons including aligning the start address of images or allowing for in-place image updates in flash. Unused space in the payload is ignored and may have arbitrary values as flash blocks in this area may not be erased or written.

◆ reserved

uint64_t fw_bundle_toc::reserved

Reserved - must be 0.

◆ toc_identifier

uint32_t fw_bundle_toc::toc_identifier

The toc identifier string. Must be FW_BUNDLE_TOC_ID.

◆ toc_version_major

uint16_t fw_bundle_toc::toc_version_major

Major version of the TOC format. Current major version is 1. Changes to the major version indicate a change that is not backwards compatible. If the major version number in a manifest is greater than the major version for which the software was designed to use the software will reject the manifest. Old software can correctly use a format that only differs by having a larger minor version than it was designed to work with.

◆ toc_version_minor

uint16_t fw_bundle_toc::toc_version_minor

Minor version of the TOC format. Current minor version is 0.


The documentation for this struct was generated from the following file: