[PATCH v12 00/10] introduce Arm FF-A support
Tom Rini
trini at konsulko.com
Tue Jun 6 15:48:56 CEST 2023
On Tue, Jun 06, 2023 at 12:56:28PM +0100, Abdellatif El Khlifi wrote:
> On Mon, May 22, 2023 at 10:13:20AM +0100, Abdellatif El Khlifi wrote:
>
> Hi Simon, Tom,
>
> > Hi Simon,
> >
> > > 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.
> > >
> > > Changelog of the major changes:
> > > ===========================
> > >
> > > v12:
> > >
> > > * remove the global variable (dscvry_info), use uc_priv instead
> > > * replace dscvry_info.invoke_ffa_fn() with a weak invoke_ffa_fn
> > > (user drivers can override it)
> > > * improve FFA_PARTITION_INFO_GET implementation
> > > (clients no longer need to calloc a buffer)
> > > * remove reparenting by making the sandbox emulator parent of the FF-A device in the DT
> > > * improve argument checks for the armffa command
> > > * address nits
> > >
> ...
> > > Cc: Tom Rini <trini at konsulko.com>
> > > Cc: Simon Glass <sjg at chromium.org>
> >
> > A gentle reminder about the v12 patchset.
> >
> > Your feedback is more than welcome :)
>
> Could you please provide a feedback about the v12 patchset ?
>
> Most of the patches are generic.
>
> I'm gonna address Ilias comment for patch #9 with your future comments.
>
> Your review is very much appreciated.
I've been waiting for Ilias to be happy with the series and then I'll
pick it up for -next.
--
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/20230606/2c151d2f/attachment.sig>
More information about the U-Boot
mailing list