Re: [PATCH 0/6] introduce Arm FF-A support

Abdellatif El Khlifi
2022-04-06T15:51:16Z

Hello guys, gentle ping, any thoughts about these changes ?

On Tue, Mar 29, 2022 at 04:16:53PM +0100, abdellatif.elkhlifi@arm.com wrote:
> From: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
>
> This patchset adds support for Arm FF-A (Arm Firmware Framework for Armv8-A v1.0).
>
> FF-A support is generic by design and can be used by any Arm platform.
>
> The features added are as follows:
>
> 1/ FF-A device driver
> 2/ armffa command
> 3/ FF-A Sandbox driver
> 4/ FF-A Sandbox test cases
> 5/ FF-A MM communication
>
>
> The suggested design sees FF-A as a data bus allowing data exchange with the firmware
> running under TrustZone HW (such as Optee). The same approach was followed in the
> FF-A driver in Linux kernel (https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/firmware/arm_ffa/bus.c?h=v5.15#n211))
>
> u-boot boards using FF-A can provide a device tree node in a <board>-u-boot.dtsi file.
> Since the node can not be hosted in Linux device tree, we suggest using u-boot device tree.
>
> As a use case, we will send a commit enabling FF-A for the Corstone-1000 platform and providing
> the FF-A node in u-boot.dtsi files.
>
> Corstone-1000: https://lore.kernel.org/u-boot/20220322104118.573537-1-rui.silva@linaro.org/
>
> Cc: Tom Rini <trini@konsulko.com>
>
> Abdellatif El Khlifi (6):
> arm_ffa: introduce Arm FF-A low-level driver
> arm_ffa: introduce armffa command
> arm_ffa: introduce the FF-A Sandbox driver
> arm_ffa: introduce Sandbox test cases for UCLASS_FFA
> arm_ffa: introduce armffa command Sandbox test
> arm_ffa: introduce FF-A MM communication
>
> MAINTAINERS | 15 +
> arch/arm/cpu/armv8/cache.S | 16 +
> arch/arm/cpu/armv8/cache_v8.c | 3 +-
> arch/arm/cpu/armv8/smccc-call.S | 27 +
> arch/arm/lib/asm-offsets.c | 6 +
> arch/sandbox/dts/sandbox.dtsi | 10 +
> arch/sandbox/dts/test.dts | 10 +
> cmd/Kconfig | 10 +
> cmd/Makefile | 2 +
> cmd/armffa.c | 266 +++++
> common/board_r.c | 7 +
> configs/sandbox64_defconfig | 2 +
> configs/sandbox_defconfig | 2 +
> doc/arch/sandbox.rst | 1 +
> drivers/Kconfig | 2 +
> drivers/Makefile | 1 +
> drivers/arm-ffa/Kconfig | 32 +
> drivers/arm-ffa/Makefile | 7 +
> drivers/arm-ffa/arm-ffa-uclass.c | 102 ++
> drivers/arm-ffa/arm_ffa_prv.h | 200 ++++
> drivers/arm-ffa/core.c | 1463 +++++++++++++++++++++++++
> drivers/arm-ffa/sandbox.c | 735 +++++++++++++
> drivers/arm-ffa/sandbox_arm_ffa_prv.h | 128 +++
> include/arm_ffa.h | 197 ++++
> include/arm_ffa_helper.h | 45 +
> include/dm/uclass-id.h | 1 +
> include/linux/arm-smccc.h | 28 +-
> include/mm_communication.h | 4 +-
> include/sandbox_arm_ffa.h | 31 +
> include/sandbox_arm_ffa_helper.h | 26 +
> lib/Kconfig | 1 +
> lib/Makefile | 1 +
> lib/arm-ffa/Kconfig | 6 +
> lib/arm-ffa/Makefile | 9 +
> lib/arm-ffa/arm_ffa_helper.c | 188 ++++
> lib/arm-ffa/sandbox_arm_ffa_helper.c | 23 +
> lib/efi_loader/Kconfig | 14 +-
> lib/efi_loader/efi_boottime.c | 17 +
> lib/efi_loader/efi_variable_tee.c | 294 ++++-
> test/cmd/Makefile | 1 +
> test/cmd/armffa.c | 33 +
> test/cmd/armffa.h | 13 +
> test/dm/Makefile | 1 +
> test/dm/ffa.c | 424 +++++++
> test/dm/ffa.h | 22 +
> 45 files changed, 4415 insertions(+), 11 deletions(-)
> create mode 100644 cmd/armffa.c
> create mode 100644 drivers/arm-ffa/Kconfig
> create mode 100644 drivers/arm-ffa/Makefile
> create mode 100644 drivers/arm-ffa/arm-ffa-uclass.c
> create mode 100644 drivers/arm-ffa/arm_ffa_prv.h
> create mode 100644 drivers/arm-ffa/core.c
> create mode 100644 drivers/arm-ffa/sandbox.c
> create mode 100644 drivers/arm-ffa/sandbox_arm_ffa_prv.h
> create mode 100644 include/arm_ffa.h
> create mode 100644 include/arm_ffa_helper.h
> create mode 100644 include/sandbox_arm_ffa.h
> create mode 100644 include/sandbox_arm_ffa_helper.h
> create mode 100644 lib/arm-ffa/Kconfig
> create mode 100644 lib/arm-ffa/Makefile
> create mode 100644 lib/arm-ffa/arm_ffa_helper.c
> create mode 100644 lib/arm-ffa/sandbox_arm_ffa_helper.c
> create mode 100644 test/cmd/armffa.c
> create mode 100644 test/cmd/armffa.h
> create mode 100644 test/dm/ffa.c
> create mode 100644 test/dm/ffa.h
>
> --
> 2.17.1
>