[PATCH v19 0/9] introduce Arm FF-A support
Tom Rini
trini at konsulko.com
Fri Aug 4 20:35:44 CEST 2023
On Fri, Aug 04, 2023 at 02:33:36PM +0100, Abdellatif El Khlifi wrote:
> Adding support for Arm FF-A v1.0 (Arm Firmware Framework for Armv8-A) [A].
>
> FF-A specifies interfaces that enable a pair of software execution environments aka partitions to
> communicate with each other. A partition could be a VM in the Normal or Secure world, an
> application in S-EL0, or a Trusted OS in S-EL1.
>
> FF-A is a discoverable bus and similar to architecture features.
> FF-A bus is discovered using ARM_SMCCC_FEATURES mechanism performed
> by the PSCI driver.
>
> => dm tree
>
> Class Index Probed Driver Name
> -----------------------------------------------------------
> ...
> firmware 0 [ + ] psci |-- psci
> ffa 0 [ ] arm_ffa | `-- arm_ffa
> ...
>
> Clients are able to probe then use the FF-A bus by calling the DM class
> searching APIs (e.g: uclass_first_device).
>
> This implementation of the specification provides support for Aarch64.
>
> The FF-A driver uses the SMC ABIs defined by the FF-A specification to:
>
> - Discover the presence of secure partitions (SPs) of interest
> - Access an SP's service through communication protocols
> (e.g: EFI MM communication protocol)
>
> The FF-A support provides the following features:
>
> - Being generic by design and can be used by any Arm 64-bit platform
> - FF-A support can be compiled and used without EFI
> - Support for SMCCCv1.2 x0-x17 registers
> - Support for SMC32 calling convention
> - Support for 32-bit and 64-bit FF-A direct messaging
> - Support for FF-A MM communication (compatible with EFI boot time)
> - Enabling FF-A and MM communication in Corstone1000 platform as a use case
> - A Uclass driver providing generic FF-A methods.
> - An Arm FF-A device driver providing Arm-specific methods and reusing the Uclass methods.
> - A sandbox emulator for Arm FF-A, emulates the FF-A side of the Secure World and provides
> FF-A ABIs inspection methods.
> - An FF-A sandbox device driver for FF-A communication with the emulated Secure World.
> The driver leverages the FF-A Uclass to establish FF-A communication.
> - Sandbox FF-A test cases.
> - A new command called armffa is provided as an example of how to access the
> FF-A bus
>
> For more details about the FF-A support please refer to [B] and refer to [C] for
> how to use the armffa command.
>
> Please find at [D] an example of the expected boot logs when enabling
> FF-A support for a platform. In this example the platform is
> Corstone1000. But it can be any Arm 64-bit platform.
Depending on further feedback, I will pick this up but likely just after
-rc2. Given how long this has been going I will take it for v2023.10
all the same, thanks.
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20230804/b8b744fc/attachment.sig>
More information about the U-Boot
mailing list