Hi Abdellatif, On Mon, 17 Apr 2023 at 10:03, Abdellatif El Khlifi <abdellatif.elkhl...@arm.com> wrote: > > Hi Simon, > > > Adding support for Arm FF-A v1.0 (Arm Firmware Framework for Armv8-A) [A]. > > > > FF-A describes interfaces (ABIs) that standardize communication > > between the Secure World and Normal World. These interfaces enable a pair of > > software sandboxes to communicate with each other. A sandbox aka 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_get_device_by_name). > > > > 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 > > - A Uclass driver providing generic FF-A methods and driver operations > > - An Arm FF-A device driver > > - 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 > > - A new command called armffa is provided as an example of how to > > access the > > FF-A bus > > - 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 sandbox emulator for Arm FF-A > > - An FF-A sandbox device driver > > - Sandbox FF-A test cases > > > > 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: > > =========================== > > > > v11: > > > > * move ffa_try_discovery() from the uclass to the Arm FF-A driver > > * rename ffa_try_discovery() to arm_ffa_discover() > > * add arm_ prefix to the Arm FF-A driver functions > > * use U_BOOT_CMD_WITH_SUBCMDS for armffa command > > * 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 > > * rename select_ffa_mm_comms() to select_mm_comms() > > * improve the logic of MM transport selection in mm_communicate() > > * use ut_asserteq_mem() in uuid_str_to_le_bin test case > > * address nits > > A gentle reminder for reviewing the v11 changes please. > I already put you in CC :) > > Thank you in advance.
Yes I have started looking at it. Should be by Monday. Regards, Simon