commit | de0dc80d2e1a59ec8616495ae58a15911f036d20 | [log] [tgz] |
---|---|---|
author | Balint Dobszay <balint.dobszay@arm.com> | Fri Feb 28 14:16:52 2025 +0100 |
committer | Balint Dobszay <balint.dobszay@arm.com> | Mon Mar 03 17:43:27 2025 +0100 |
tree | 8ae68f68e9e09edd4e9dbe0c891f18170fdfafba | |
parent | e2e727c05d7736f84691aab0b853e3838ddc6403 [diff] |
Add support for handling multiple FF-A versions This is required because a single FF-A component (i.e. an SPMC) must be able to support various FF-A versions at runtime. Also, implement some of the new message types from FF-A v1.2 and add support for handling 18 registers instead of 8. Signed-off-by: Balint Dobszay <balint.dobszay@arm.com> Change-Id: Ia46dc40204698265dc4ea9ed3731275baad94949
Arm Firmware Framework for Arm A-profile (FF-A) specification
FF-A Memory Management Protocol specification
Library for handling common FF-A related functionality, create and parse interfaces and descriptors defined by FF-A. Starting from FF-A v1.2 the memory management related parts of the specification have been moved to a separate document (link above).
thiserror
) so the library user knows what's wrong.ffa_v1_1
and later modules).zerocopy
traits.The FF-A specification allows different components of a system to use different versions of the specification. The version used at a specific FF-A instance (i.e. an interface between two FF-A components) is discovered at runtime, either by parsing FF-A manifests or using FFA_VERSION
. An FF-A component might have to use multiple versions at runtime on its different interfaces, therefore this library must be able to support this and having a compile time fixed version is not possible. Because of this, most of the functions to create or parse FF-A messages and data structures require passing the FF-A version used at the instance where the serialized data was received from or will be sent to.
FFA_MEM_*
interfaces (partial).The project is MIT and Apache-2.0 dual licensed, see LICENSE-APACHE
and LICENSE-MIT
.
arm-ffa is a trustedfirmware.org maintained project. All contributions are ultimately merged by the maintainers listed below.
Please follow the directions of the Trusted Firmware Processes
Contributions are handled through review.trustedfirmware.org.
Please follow the directions of the Trusted Firmware Security Center
Copyright 2025 Arm Limited and/or its affiliates open-source-office@arm.com
Arm is a registered trademark of Arm Limited (or its subsidiaries or affiliates).