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

Abdellatif El Khlifi abdellatif.elkhlifi at arm.com
Wed Apr 6 17:51:02 CEST 2022


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

On Tue, Mar 29, 2022 at 04:16:53PM +0100, abdellatif.elkhlifi at arm.com wrote:
> From: Abdellatif El Khlifi <abdellatif.elkhlifi at 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 at 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
> 


More information about the U-Boot mailing list