[PATCH v3 0/4] introduce Arm FF-A support

Abdellatif El Khlifi abdellatif.elkhlifi at arm.com
Mon Aug 1 19:20:49 CEST 2022


This new version of the patchset provides improvements to the FF-A driver design.

The FF-A driver is a discoverable bus and brings these new features:

* support for the 64-bit x0-x17 registers in SMC arguments passing 
* align with the FF-A kernel driver interfaces
* make the driver EFI independent

This patchset will be followed by further updates (work in progress):

* discover MM partitions at runtime
* align with the FF-A kernel driver error handling
* align Sandbox driver and tests with the new interfaces

Changelog:
===============

v3:

* port x0-x17 registers support from linux kernel as defined by SMCCCv1.2
* align the interfaces of the u-boot FF-A driver with those in the linux FF-A driver
* remove the FF-A helper layer
* make the u-boot FF-A driver independent from EFI
* provide an optional config that enables copying the driver data to EFI runtime section at ExitBootServices service
* use 64-bit version of FFA_RXTX_MAP, FFA_MSG_SEND_DIRECT_{REQ, RESP}
* update armffa command with the new driver interfaces

v2  [2]:

* make FF-A bus discoverable using device_{bind, probe} APIs
* remove device tree support

v1  [1]:

* introduce FF-A bus driver with device tree support
* introduce armffa command
* introduce FF-A Sandbox driver
* add FF-A Sandbox test cases
* introduce FF-A MM communication

Cheers,
Abdellatif

[1]: https://lore.kernel.org/all/20220329151659.16894-1-abdellatif.elkhlifi@arm.com/
[2]: https://lore.kernel.org/all/20220415122803.16666-1-abdellatif.elkhlifi@arm.com/


Cc: Tom Rini <trini at konsulko.com>
Cc: Ilias Apalodimas <ilias.apalodimas at linaro.org>
Cc: Jens Wiklander <jens.wiklander at linaro.org>
Cc: Achin Gupta <achin.gupta at arm.com>
Cc: Vishnu Banavath <vishnu.banavath at arm.com>
Cc: Xueliang Zhong <Xueliang.Zhong at arm.com>

Abdellatif El Khlifi (4):
  arm64: smccc: add Xn registers support used by SMC calls
  arm64: smccc: clear the Xn registers after SMC calls
  arm_ffa: introduce Arm FF-A low-level driver
  arm_ffa: introduce armffa command

 MAINTAINERS                                |    7 +
 arch/arm/cpu/armv8/smccc-call.S            |   73 ++
 arch/arm/lib/asm-offsets.c                 |   13 +
 cmd/Kconfig                                |   10 +
 cmd/Makefile                               |    2 +
 cmd/armffa.c                               |  246 ++++
 common/board_r.c                           |    7 +
 drivers/Kconfig                            |    2 +
 drivers/Makefile                           |    1 +
 drivers/arm-ffa/Kconfig                    |   34 +
 drivers/arm-ffa/Makefile                   |    7 +
 drivers/arm-ffa/arm-ffa-uclass.c           |   16 +
 drivers/arm-ffa/arm_ffa_prv.h              |  219 ++++
 drivers/arm-ffa/core.c                     | 1338 ++++++++++++++++++++
 drivers/arm-ffa/efi_ffa_runtime_data_mgr.c |   94 ++
 include/arm_ffa.h                          |  132 ++
 include/dm/uclass-id.h                     |    1 +
 include/linux/arm-smccc.h                  |   43 +
 include/uuid.h                             |    8 +
 lib/efi_loader/efi_boottime.c              |   17 +
 lib/uuid.c                                 |   65 +
 21 files changed, 2335 insertions(+)
 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/efi_ffa_runtime_data_mgr.c
 create mode 100644 include/arm_ffa.h

-- 
2.17.1



More information about the U-Boot mailing list