Hi Abdellatif, On Thu, Oct 13, 2022 at 11:38:47AM +0100, Abdellatif El Khlifi wrote: > Adding support for Arm FF-A v1.0 (Arm Firmware Framework for Armv8-A) [6]. > > 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. > > The FF-A transport is implemented as a data bus and a core driver is provided. > > 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 > - The FF-A core driver > - The FF-A bus is discoverable on demand at runtime > - The driver provides callbacks to be used by clients to access the FF-A bus > - FF-A driver can be compiled and used without EFI > - Support for SMCCCv1.2 x0-x17 registers > - A new command called armffa is provided as an example of how to access the > FF-A bus > - An FF-A Sandbox driver is provided with test cases > - Support for FF-A MM communication > - Enabling FF-A and MM communication in Corstone1000 platform > > For more details about the FF-A core driver please refer to [7]. > > Please find at [8] 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: > =========================== > > v6: > > * remove clearing x0-x17 registers after SMC calls > * drop use of EFI runtime support for FF-A (We decided with Linaro to add > this later)
Thanks! This makes the whole process way way easier. I am bit overloaded atm but I'll try squeezing in reviewing these patches > * drop discovery from initcalls (discovery will be on demand by FF-A users) > * add FF-A runtime discovery at MM communication level > * update the documentation and move it to doc/arch/arm64.ffa.rst > > v5: [5] > > * move changelogs in each commit to the changes section > > v4: [4] > > * add FF-A support README (doc/README.ffa.drv) > * improving error handling by mapping the FF-A errors to standard errors > and logs > * replacing panics with an error log > * align sandbox driver and tests with the new FF-A driver interfaces > and new way of error handling [...] Thanks /Ilias