Clone this repo:

Branches

Tags

  1. 66e8664 refactor: move plat_helpers.S and arm_helpers.S to naked functions by Andrew Walbran · 9 days ago main
  2. f4c6907 test: distinguish between PSCI MPIDR values and real MPIDR_EL1 values by Andrew Walbran · 11 days ago
  3. 53e67a8 fix(ffa): update arm-ffa to 0.4.0 by Imre Kis · 3 weeks ago
  4. 073e98e fix(ffa): use correct FUNCTION_NUMBER_MAX by Imre Kis · 3 weeks ago
  5. 73b3b80 fix(psci): fix: return SUCCESS on PSCI_FEATURES by Imre Kis · 3 weeks ago

Rusted Firmware-A

This project provides an experimental Rust port of Trusted Firmware-A’s (TF-A) EL3 runtime firmware (BL31).

Responsibilities

The EL3 runtime firmware is responsible for:

  • Boot process coordination - Initiating the boot process of the components in the secure and normal worlds
  • Security state coordination - Managing transitions between normal and secure worlds
  • Secure Monitor Call (SMC) handling - Processing SMCs invoked by other software components

Supported SMC Interfaces

The current implementation supports:

  • Arm Architecture Calls
  • Arm Firmware Framework for Arm A-profile (FF-A)
  • Arm Power State Coordination Interface (PSCI)

Supported Platforms

The following platforms are supported currently:

  • Arm Fixed Virtual Platform (FVP)
  • QEMU

Getting started

See our Getting Started Guide.

License

The project is provided under the BSD-3-Clause license, see LICENSE. Contributions to this project are accepted under the same license and must also be made under the terms of the Developer Certificate of Origin, confirming that the code submitted can (legally) become part of the project.

Contributing

See the contribution guidelines and style guide.

Providing feedback

We welcome your feedback on this project! You can contact us through:

If you want to report an issue, request a feature or simply take a look at the on-going and future work items, please head to our Github issues.

Arm trademark notice

Arm is a registered trademark of Arm Limited (or its subsidiaries or affiliates).

This project uses some of the Arm product, service or technology trademarks, as listed in the Trademark List, in accordance with the Arm Trademark Use Guidelines.

Subsequent uses of these trademarks throughout this repository do not need to be prefixed with the Arm word trademark.


Copyright The Rusted Firmware-A Contributors