[PATCH 00/12] arm64: FF-A runtime transport for EFI variables

Harsimran Singh Tungal harsimransingh.tungal at arm.com
Fri Apr 24 19:31:39 CEST 2026


Hi all,

This series adds FF-A runtime transport support so EFI variable runtime
services can communicate with the secure world after ExitBootServices().
It also extends tests, docs, and board configs to validate the runtime
path and keep boot‑time behavior aligned with the runtime flow.

Changes in this series:
- Add EFI runtime-safe memset helper and FF-A runtime transport support.
- Implement FF-A runtime communication in the EFI variable TEE backend.
- Enable runtime variable operations and move helpers to avoid conflicts.
- Add sandbox runtime transport tests and metadata reuse.
- Extend EFI selftests for runtime variables and bootefi selftest config.
- Document the FF-A runtime transport and selftest behavior.
- Align boot‑time cache maintenance with the runtime path.

Harsimran Singh Tungal (12):
  efi_loader: add runtime memset helper
  arm-ffa: add FF-A bus runtime support
  efi_loader: add FF-A runtime support in EFI variable TEE driver
  efi_loader: enable EFI runtime SetVariable()/GetVariable() using FF-A
    transport
  efi_loader: move runtime GetVariable() helpers to efi_variable.c
  corstone1000: enable bootefi selftest
  efi: selftest: add runtime variable tests with non-volatile storage
  test: dm: add sandbox FF-A runtime transport tests
  sandbox: ffa: share synthetic partition metadata via macros
  doc: arm64: document FF-A runtime path for EFI variables
  doc: bootefi: note two-phase runtime variables selftest
  efi_loader: align FF-A cache maintenance with runtime path

 arch/sandbox/include/asm/sandbox_arm_ffa.h    |  16 +-
 configs/corstone1000_defconfig                |   3 +
 doc/arch/arm64.ffa.rst                        |  92 ++-
 doc/usage/cmd/armffa.rst                      |  11 +
 doc/usage/cmd/bootefi.rst                     |  12 +
 drivers/firmware/arm-ffa/Kconfig              |  11 +
 drivers/firmware/arm-ffa/Makefile             |   4 +-
 drivers/firmware/arm-ffa/arm-ffa-runtime.c    | 287 ++++++++
 drivers/firmware/arm-ffa/arm-ffa-uclass.c     | 111 +--
 drivers/firmware/arm-ffa/arm-ffa.c            |  16 +-
 drivers/firmware/arm-ffa/ffa-emul-uclass.c    |  48 +-
 include/arm_ffa.h                             |  16 +-
 include/arm_ffa_priv.h                        |  24 +-
 include/arm_ffa_runtime.h                     | 183 +++++
 include/efi_loader.h                          |   3 +
 lib/charset.c                                 |   2 +-
 lib/efi_loader/efi_runtime.c                  |  21 +
 lib/efi_loader/efi_var_common.c               |  24 -
 lib/efi_loader/efi_variable.c                 |  24 +
 lib/efi_loader/efi_variable_tee.c             | 686 +++++++++++++++++-
 .../efi_selftest_variables_runtime.c          | 106 ++-
 test/dm/Makefile                              |   3 +-
 test/dm/ffa.c                                 |   6 +-
 test/dm/ffa_runtime.c                         |  82 +++
 24 files changed, 1602 insertions(+), 189 deletions(-)
 create mode 100644 drivers/firmware/arm-ffa/arm-ffa-runtime.c
 create mode 100644 include/arm_ffa_runtime.h
 create mode 100644 test/dm/ffa_runtime.c

-- 
2.34.1



More information about the U-Boot mailing list