Expand description
§Firmware Handoff Transfer List
This crate is a Rust implementation of the Transfer List (TL) datastructure and related operation described in the Firmware Handoff specification, which aims at unifying how different firmware stages pass data from one to another.
The main feature of the crate is the TransferList structure, which wraps a memory region and provides methods to enact the operations available on a TL, as well as other utility methods to navigate its entries (TLEs - Transfer List Entry).
§Testing
Unit testing is handle by cargo test. Test data can be generated by the test_data/generate.sh script, which requires the tlc executable from the Transfer List Library to be in the PATH.
§Implemented features
- Zero-copy parsing of the TL and common entries.
- Insantiating a new TL.
- TL Entry allocation.
- TL Entry navigation.
§License
The project is MIT and Apache-2.0 dual licensed, see LICENSE-APACHE and LICENSE-MIT.
§Maintainers
arm-tf-firmware-handoff is a trustedfirmware.org maintained project. All contributions are ultimately merged by the maintainers listed below.
- Bálint Dobszay balint.dobszay@arm.com balint-dobszay-arm
- Imre Kis imre.kis@arm.com imre-kis-arm
- Sandrine Afsa sandrine.afsa@arm.com sandrine-bailleux-arm
§Contributing
Please follow the directions of the Trusted Firmware Processes
Contributions are handled through review.trustedfirmware.org.
Copyright The tf-firmware-handoff Contributors.
Modules§
Structs§
- NonStandardTLE
Tag - TLEWrapper
Mut - TLEWrapper
Ref - Transfer
List - View over a memory region to be interpreted as a TransferList (or Glob List). The memory is not owned by this struct.
- Transfer
List Entry - Immutable view over a
TransferList’s entry. The memory is not owned by this struct. - Transfer
List Entry Header - Transfer
List Entry Mut - Mutable view over a
TransferList’s entry. The memory is not owned by this struct.
Enums§
- Error
- GetError
- StandardTLE
Tag - Standardized TLE tags.
- TLETag
- Identifier of a
TransferListEntry. - TLETag
Error - Validation
Error
Traits§
- FromTLE
Payload - This traits allows to easily re-interpret a
TransferListEntry’s payload into another type. - TLETagged
- This trait specifies the
TLETagassociated with a struct. SeeTransferList::getandTransferList::get_mut.