Trusted Firmware Logo

Rusted Firmware-A (RF-A) - v0.2.0 Released

logo
Bharath Subramanian| Friday, February 20, 2026|5 min read

The TrustedFirmware.org community is pleased to announce the release of Rusted Firmware-A (RF-A) v0.2.0, tagged on 6 February 2026.

This release builds on the foundations laid in v0.1.0 and focuses on early-boot robustness, expanded architectural feature support, broader runtime service coverage, and improved build and supply-chain workflows. As with previous releases, RF-A continues its goal of providing a Rust implementation of EL3 runtime firmware (BL31) for Armv9-A and later systems.

A more robust early boot path

One of the key architectural updates in v0.2.0 is the introduction of an “early mapping” stage. This enables the MMU and caches before any Rust code is executed . The change ensures that Rust code runs in an environment where architectural guarantees around memory behaviour are fully defined. These changes strengthen the early firmware environment while maintaining a clear and explicit memory model.

Build system decoupling and workflow improvements

RF-A v0.2.0 decouples the Rust build from TF-A. BL31 and the Secure Test Framework (STF) are built directly with Cargo, while a build-and-run.sh script coordinates end-to-end FVP and QEMU runs by building TF-A BL1/BL2/FIP alongside the Rust BL31 image.

Additional workflow updates include:

These changes provide clearer separation of responsibilities between RF-A and TF-A while improving flexibility for developers and integrators.

Architectural extensions and errata handling

This release introduces a structured CpuExtension framework for configuring Arm architecture extensions. Extensions can be enabled per-world and per-CPU, with optional save/restore hooks for world switching.

A CPU errata framework has also been added, along with an implementation of the Arm Errata Management Firmware Interface (DEN0100), enabling CPU_ERRATUM_FEATURES queries.

Support has been extended with Cpu implementations for Arm C1-Pro and C1-Ultra, including reset and runtime workarounds and platform register dump support.

When built with the pauth Cargo feature, FEAT_PAuth can be enabled at EL3 early in boot using platform-provided key material. Crash reporting strips Pointer Authentication Codes (PAC) from the link register before printing return addresses.

System register accessors have been factored into a standalone arm-sysregs crate , improving modularity and reuse across the project.

Expanded runtime services

PSCI enhancements

PSCI support has been extended with:

FF-A and SPMD

The FF-A Secure Partition Manager Dispatcher (SPMD) has been moved into a dedicated module and extended to handle additional FF-A interfaces . Support for newer messaging and notification interfaces has been added, along with PSCI callbacks used when SPMD is present.

TRNG service

RF-A now includes a TRNG service implementing the Arm TRNG Firmware Interface (DEN0098). It supports version and feature discovery, UUID reporting, and RND32/RND64 calls backed by a platform-defined entropy source and an internal entropy pool.

RME and RMMD updates

RME support has been expanded in several areas:

Platform updates

On the Arm Base RevC AEM FVP platform, PSCI integration has been expanded, GIC handling is fully integrated into the platform implementation, a wider set of architectural extension controls is enabled, and explicit CCI-550 control has been added.

For QEMU, support has been added for SYSTEM_OFF and SYSTEM_RESET via the secure PL061 GPIO device model, along with CPU_SUSPEND handling.

Testing and documentation

The test suite has been extended with additional unit and STF integration tests.

Documentation updates include a refreshed architecture overview, updates to the threat model, and improvements to the getting-started and requirements guides.

This release also introduces explicit cargo vet configuration and an expanding audit set under supply-chain/, along with local developer tooling improvements such as pre-push checks and expanded clippy coverage for STF.

About TrustedFirmware.org

TrustedFirmware.org is an open source project implementing foundational software components for creating secure devices. Trusted Firmware provides a reference implementation of secure software for processors implementing both the A-Profile and M-Profile Arm architecture. It provides SoC developers and OEMs with a reference trusted code base complying with the relevant Arm specifications. Trusted Firmware code is the preferred implementation of Arm specifications, allowing quick and easy porting to modern chips and platforms. This forms the foundations of a Trusted Execution Environment (TEE) on application processors, or the Secure Processing Environment (SPE) of microcontrollers.

TrustedFirmware.org is member driven and member funded.

To learn more about membership and its benefits, please see the following page or send a request for more information to enquiries@trustedfirmware.org.

Recent Posts

post image
Rusted Firmware-A (RF-A) - v0.2.0 Released

Friday, February 20, 2026

A more robust early boot path

post image
MCUboot v2.3.0 Release!

Friday, December 19, 2025

MCUboot v2.3.0 Release

post image
A New Bug Bounty Program for Trusted Firmware!

Monday, December 8, 2025

Trusted Firmware launches a new Bug Bounty Program!

post image
Trusted Firmware-A v2.14 released!

Wednesday, November 26, 2025

Introduction Trusted Firmware-A (TF-A) 2.14 has been officially released, delivering a host of enhancements focused on security, platform support, and maintainability. This release introduces key updates including support for Arm Architecture features, expanded RMM functionality, and improved integration with third-party firmware components. TF-A 2.14 also strengthens its...

post image
How do AI-assisted contributions fit into open source?

Friday, November 14, 2025

Trusted Firmware has just released its "Guidance on AI-assisted contributions."