]> Git Repo - u-boot.git/commit
arm_ffa: efi: introduce FF-A MM communication
authorAbdellatif El Khlifi <[email protected]>
Fri, 4 Aug 2023 13:33:44 +0000 (14:33 +0100)
committerTom Rini <[email protected]>
Tue, 8 Aug 2023 14:22:03 +0000 (10:22 -0400)
commit218b062e8f20233181ecbcca1d627f5d44c4617d
treee78d13636e63e23c641bc53a6a82883b397ff4f8
parentf16a48fec933829cfa3a81eb1dd531b924e3cde8
arm_ffa: efi: introduce FF-A MM communication

Add MM communication support using FF-A transport

This feature allows accessing MM partitions services through
EFI MM communication protocol. MM partitions such as StandAlonneMM
or smm-gateway secure partitions which reside in secure world.

An MM shared buffer and a door bell event are used to exchange
the data.

The data is used by EFI services such as GetVariable()/SetVariable()
and copied from the communication buffer to the MM shared buffer.

The secure partition is notified about availability of data in the
MM shared buffer by an FF-A message (door bell).

On such event, MM SP can read the data and updates the MM shared
buffer with the response data.

The response data is copied back to the communication buffer and
consumed by the EFI subsystem.

MM communication protocol supports FF-A 64-bit direct messaging.

We tested the FF-A MM communication on the Corstone-1000 platform.

We ran the UEFI SCT test suite containing EFI setVariable, getVariable and
getNextVariable tests which involve FF-A MM communication and all tests
are passing with the current changes.

We made the SCT test reports (part of the ACS results) public following the
latest Corstone-1000 platform software release. Please find the test
reports at [1].

[1]: https://gitlab.arm.com/arm-reference-solutions/arm-reference-solutions-test-report/-/tree/master/embedded-a/corstone1000/CORSTONE1000-2023.06/acs_results_fpga.zip

Signed-off-by: Abdellatif El Khlifi <[email protected]>
Tested-by: Gowtham Suresh Kumar <[email protected]>
Reviewed-by: Simon Glass <[email protected]>
Cc: Tom Rini <[email protected]>
Cc: Ilias Apalodimas <[email protected]>
Cc: Jens Wiklander <[email protected]>
Reviewed-by: Ilias Apalodimas <[email protected]>
Reviewed-by: Tom Rini <[email protected]>
include/mm_communication.h
lib/efi_loader/Kconfig
lib/efi_loader/efi_variable_tee.c
This page took 0.037585 seconds and 4 git commands to generate.