Skip to main content

Crate tf_firmware_handoff

Crate tf_firmware_handoff 

Source
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.

§Contributing

Please follow the directions of the Trusted Firmware Processes

Contributions are handled through review.trustedfirmware.org.


Copyright The tf-firmware-handoff Contributors.

Modules§

entries

Structs§

NonStandardTLETag
TLEWrapperMut
TLEWrapperRef
TransferList
View over a memory region to be interpreted as a TransferList (or Glob List). The memory is not owned by this struct.
TransferListEntry
Immutable view over a TransferList’s entry. The memory is not owned by this struct.
TransferListEntryHeader
TransferListEntryMut
Mutable view over a TransferList’s entry. The memory is not owned by this struct.

Enums§

Error
GetError
StandardTLETag
Standardized TLE tags.
TLETag
Identifier of a TransferListEntry.
TLETagError
ValidationError

Traits§

FromTLEPayload
This traits allows to easily re-interpret a TransferListEntry’s payload into another type.
TLETagged
This trait specifies the TLETag associated with a struct. See TransferList::get and TransferList::get_mut.