![]() |
TT-System-Firmware APIs 19.15.99
Tenstorrent Firmware
|
The table of contents present in the FW bundle payload. More...
#include <tt_bundle_loader.h>

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. | |
The table of contents present in the FW bundle payload.
| struct fw_bundle_toc_entry fw_bundle_toc::entries[] |
The TOC entries, image_count of them, immediately following this header.
| uint64_t fw_bundle_toc::image_count |
Number of images in the payload and TOC. The length of the TOC is determined by this.
| 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.
| uint64_t fw_bundle_toc::reserved |
Reserved - must be 0.
| uint32_t fw_bundle_toc::toc_identifier |
The toc identifier string. Must be FW_BUNDLE_TOC_ID.
| 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.
| uint16_t fw_bundle_toc::toc_version_minor |
Minor version of the TOC format. Current minor version is 0.