[PATCH 00/12] arm64: FF-A runtime transport for EFI variables
Heinrich Schuchardt
xypron.glpk at gmx.de
Sat Apr 25 00:18:58 CEST 2026
Am 24. April 2026 19:31:39 MESZ schrieb Harsimran Singh Tungal <harsimransingh.tungal at arm.com>:
>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.
Hello Harsiman,
Could you, please, explain the motivation for the series.
What is the overall architecture?
Please, describe how to set up a system on QEMU to test your development including the instructions for the secure world.
We would need a test in the CI using QEMU.
Best regards
Heinrich
>
>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
>
More information about the U-Boot
mailing list