[PATCH v14 07/11] arm_ffa: introduce sandbox FF-A support

Simon Glass sjg at chromium.org
Fri Jul 7 19:35:02 CEST 2023


Hi Abdellatif,

On Fri, 7 Jul 2023 at 15:44, Abdellatif El Khlifi
<abdellatif.elkhlifi at arm.com> wrote:
>
> Emulate Secure World's FF-A ABIs and allow testing U-Boot FF-A support
>
> Features of the sandbox FF-A support:
>
> - Introduce an FF-A emulator
> - Introduce an FF-A device driver for FF-A comms with emulated Secure World
> - Provides test methods allowing to read the status of the inspected ABIs
>
> The sandbox FF-A emulator supports only 64-bit direct messaging.
>
> Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi at arm.com>
> Cc: Tom Rini <trini at konsulko.com>
> Cc: Simon Glass <sjg at chromium.org>
> Cc: Ilias Apalodimas <ilias.apalodimas at linaro.org>
> Cc: Jens Wiklander <jens.wiklander at linaro.org>
> Cc: Heinrich Schuchardt <xypron.glpk at gmx.de>
>
> ---
>
> Changelog:
> ===============
>
> v12:
>
> * remove reparenting by making the emulator parent of the FF-A device in the DT
> * add invoke_ffa_fn()
> * address nits
>
> v11:
>
> * rename ffa_try_discovery() to sandbox_ffa_discover()
> * rename sandbox_ffa_query_core_state() to sandbox_query_ffa_emul_state()
> * store the sandbox emulator pointer in the FF-A device uc_priv (struct ffa_priv)
> * set the emulator as parent of the sandbox FF-A device
>
> v10:
>
> * split the FF-A sandbox support into an emulator and a driver
> * read FFA_VERSION and FFA_PARTITION_INFO_GET state using
>    sandbox_ffa_query_core_state()
> * drop CONFIG_SANDBOX_FFA config
> * address nits
>
> v9: align FF-A sandbox driver with FF-A discovery through DM
>
> v8: update ffa_bus_prvdata_get() to return a pointer rather than
>     a pointer address
>
> v7: state that sandbox driver supports only 64-bit direct messaging
>
> v4: align sandbox driver with the new FF-A driver interfaces
>     and new way of error handling
>
> v1: introduce the sandbox driver
>
>  MAINTAINERS                                   |   3 +-
>  arch/sandbox/dts/sandbox.dtsi                 |   9 +
>  arch/sandbox/dts/test.dts                     |   8 +
>  arch/sandbox/include/asm/sandbox_arm_ffa.h    |  72 ++
>  .../include/asm/sandbox_arm_ffa_priv.h        | 121 +++
>  configs/sandbox64_defconfig                   |   1 +
>  configs/sandbox_defconfig                     |   1 +
>  doc/arch/arm64.ffa.rst                        |  19 +-
>  doc/arch/sandbox/sandbox.rst                  |   1 +
>  drivers/firmware/arm-ffa/Kconfig              |  13 +-
>  drivers/firmware/arm-ffa/Makefile             |  10 +-
>  drivers/firmware/arm-ffa/ffa-emul-uclass.c    | 720 ++++++++++++++++++
>  .../firmware/arm-ffa/sandbox_arm_ffa_priv.h   |  14 -
>  drivers/firmware/arm-ffa/sandbox_ffa.c        | 110 +++
>  include/dm/uclass-id.h                        |   1 +
>  15 files changed, 1081 insertions(+), 22 deletions(-)
>  create mode 100644 arch/sandbox/include/asm/sandbox_arm_ffa.h
>  create mode 100644 arch/sandbox/include/asm/sandbox_arm_ffa_priv.h
>  create mode 100644 drivers/firmware/arm-ffa/ffa-emul-uclass.c
>  delete mode 100644 drivers/firmware/arm-ffa/sandbox_arm_ffa_priv.h
>  create mode 100644 drivers/firmware/arm-ffa/sandbox_ffa.c

Reviewed-by: Simon Glass <sjg at chromium.org>


More information about the U-Boot mailing list