Rusted Firmware-A release v0.2.0
chore: update arm-sysregs to 0.2.4

Change-Id: Ic9723e76e5bf3f45bf8f056acc1c1c8ef6ccbb16
Signed-off-by: Andrew Walbran <qwandor@google.com>
4 files changed
tree: 6561bc193fb41fc59405148a808a4abfdebd50c6
  1. .cargo/
  2. .husky/
  3. docs/
  4. licenses/
  5. platforms/
  6. secure_test_framework/
  7. src/
  8. supply-chain/
  9. tools/
  10. .commitlintrc.js
  11. .cz-adapter.cjs
  12. .cz.json
  13. .editorconfig
  14. .gitignore
  15. .gitreview
  16. .nvmrc
  17. .versionrc.cjs
  18. bl31.ld
  19. build-and-run.sh
  20. build.rs
  21. Cargo.lock
  22. Cargo.toml
  23. changelog.yaml
  24. dco.txt
  25. LICENSE
  26. Makefile
  27. package-lock.json
  28. package.json
  29. platforms.rs
  30. README.md
  31. rust-toolchain.toml
README.md

Rusted Firmware-A

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

TF-A's boot images (BL1 and BL2) are out of scope of this project.

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:

For more details on each of these services, please refer to the SMC services overview document.

Supported Platforms

The following platforms are supported currently:

  • Arm Fixed Virtual Platform (FVP)
  • QEMU

Hardware and Software Requirements

RF-A is targeted at recent Arm devices and as such it makes some assumptions about the hardware it runs on and the software interfaces it implements or relies on. These assumptions are outlined here.

Getting started

See our Getting Started Guide.

See the RF-A architecture overview for an overview of the code structure.

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