[edk2-devel] [PATCH v5 00/14] Add support for using FF-A calls

Sughosh Ganu posted 14 patches 3 years, 2 months ago
Failed in applying to current master (apply log)
ArmPkg/ArmPkg.dec                             |   7 +
.../ArmMmuStandaloneMmLib.inf                 |   3 +
.../RuntimeDxe/VariableStandaloneMm.inf       |   4 +-
.../StandaloneMmCoreEntryPoint.inf            |   3 +
ArmPkg/Include/IndustryStandard/ArmFfaSvc.h   |  44 +++++
ArmPkg/Include/IndustryStandard/ArmMmSvc.h    |   3 +
ArmPkg/Include/Library/ArmSvcLib.h            |  10 +-
.../AArch64/ArmMmuStandaloneMmLib.c           | 167 +++++++++++++++---
.../StandaloneMmCpu/AArch64/EventHandle.c     |   4 +-
.../AArch64/StandaloneMmCoreEntryPoint.c      | 133 +++++++++++---
ArmPkg/Library/ArmSvcLib/AArch64/ArmSvc.S     |   4 +-
11 files changed, 321 insertions(+), 61 deletions(-)
create mode 100644 ArmPkg/Include/IndustryStandard/ArmFfaSvc.h
[edk2-devel] [PATCH v5 00/14] Add support for using FF-A calls
Posted by Sughosh Ganu 3 years, 2 months ago
The following patch series adds support for using the Firmware
Framework(FF-A) as a transport mechanism for requesting services from
the Secure Partition Manager(SPM). This is done through a Pcd which
can be used to enable the FF-A mechanism or to use the earlier used
SVC calls.

The patches have been pushed to my github repository[1]

Ran the CI tests through the github draft pull request, and all the CI
test pass. Ran the PatchCheck script, with no errors.

Changes since V4:
* Define all variable Pcd's under the [Pcd] section instead of
  [FixedPcd], as suggested by Liming Gao

Changes since V3:
* Put the PcdFfaEnable under the PcdsFeatureFlag.AARCH64 section to
  avoid build breakage for the X64 StandaloneMm builds.
* Put the macro definitions for the SPM major and minor versions in a
  separate patch, as suggested by Sami.
* Separated out the declaration of the SPM major and minor version
  macros in the earlier patch as was suggested by Sami.
* Put the macro definitions for the SPM major and minor versions with
  FF-A support in a separate patch, as suggested by Sami.
* Declare the PcdFfaEnable Pcd Feature flag under FeaturePcd.AARCH64
  to avoid build break for the X64 build of StandaloneMm.
* Change the patch header to have the ArmPkg prefix instead of
  StandaloneMmMmuLib as suggested by Sami.

Changes since V2:
* Added a STATIC storage class specifier for mSpmMajorVer and
  mSpmMinorVer variables
* Added a STATIC storage class specifier for mSpmMajorVerFfa and
  mSpmMinorVerFfa variables
* Add braces for if/else statements
* Add a check for EFI_NOT_FOUND as a possible return value from
  LocateStandaloneMmCorePeCoffData in _ModuleEntryPoint function
* Check for the return value in Arg0 after the Direct Request call to
  handle errors returned
* Put a comment to reflect the fact that FFA_INTERRUPT and FFA_SUCCESS
  response won't be expected in return to a Direct Request call to get
  the memory attributes
* Check for the return value in Arg0 after the Direct Request call to
  handle errors returned
* Put a comment to reflect the fact that FFA_INTERRUPT and FFA_SUCCESS
  response won't be expected in return to a Direct Request call to set
  the memory attributes

Changes since V1:
Handled review comments from Sami Mujawar

[1] - https://github.com/sughoshg/edk2/tree/implement_ffa_svc_optional_v5


Achin Gupta (7):
  ArmPkg/IndustryStandard: Add barebones FF-A header
  ArmPkg/ArmSvcLib: Return x4-x7 in output parameters
  StandaloneMmPkg: Use FF-A header file in Standalone MM Core entry
    point
  StandaloneMmPkg: Add option to use FF-A calls for communication with
    SPM
  ArmPkg: Use FF-A header file in Standalone MM Arm MMU library
  ArmPkg: Allow FF-A calls to get memory region's attributes
  ArmPkg: Allow FF-A calls to set memory region's attributes

Ilias Apalodimas (2):
  MdeModulePkg/VariableStandaloneMm: Set PcdFlashNvStorageVariableBase
    to Pcd
  StandaloneMmPkg: Allow sending FFA Direct Request message to
    StandaloneMm

Sughosh Ganu (5):
  ArmPkg: Introduce support for PcdFfaEnable
  ArmPkg: Add macros for SPM version
  StandaloneMmPkg: Use macros for SPM version check
  ArmPkg: Add macros for SPM version with FF-A support enabled
  StandaloneMmPkg: Add option to use FF-A calls for getting SPM version

 ArmPkg/ArmPkg.dec                             |   7 +
 .../ArmMmuStandaloneMmLib.inf                 |   3 +
 .../RuntimeDxe/VariableStandaloneMm.inf       |   4 +-
 .../StandaloneMmCoreEntryPoint.inf            |   3 +
 ArmPkg/Include/IndustryStandard/ArmFfaSvc.h   |  44 +++++
 ArmPkg/Include/IndustryStandard/ArmMmSvc.h    |   3 +
 ArmPkg/Include/Library/ArmSvcLib.h            |  10 +-
 .../AArch64/ArmMmuStandaloneMmLib.c           | 167 +++++++++++++++---
 .../StandaloneMmCpu/AArch64/EventHandle.c     |   4 +-
 .../AArch64/StandaloneMmCoreEntryPoint.c      | 133 +++++++++++---
 ArmPkg/Library/ArmSvcLib/AArch64/ArmSvc.S     |   4 +-
 11 files changed, 321 insertions(+), 61 deletions(-)
 create mode 100644 ArmPkg/Include/IndustryStandard/ArmFfaSvc.h

-- 
2.17.1




-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#71813): https://edk2.groups.io/g/devel/message/71813
Mute This Topic: https://groups.io/mt/80750044/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [edk2-devel] [PATCH v5 00/14] Add support for using FF-A calls
Posted by Ard Biesheuvel 3 years, 2 months ago
On Fri, 19 Feb 2021 at 07:36, Sughosh Ganu <sughosh.ganu@linaro.org> wrote:
>
> The following patch series adds support for using the Firmware
> Framework(FF-A) as a transport mechanism for requesting services from
> the Secure Partition Manager(SPM). This is done through a Pcd which
> can be used to enable the FF-A mechanism or to use the earlier used
> SVC calls.
>
> The patches have been pushed to my github repository[1]
>
> Ran the CI tests through the github draft pull request, and all the CI
> test pass. Ran the PatchCheck script, with no errors.
>
> Changes since V4:
> * Define all variable Pcd's under the [Pcd] section instead of
>   [FixedPcd], as suggested by Liming Gao
>
> Changes since V3:
> * Put the PcdFfaEnable under the PcdsFeatureFlag.AARCH64 section to
>   avoid build breakage for the X64 StandaloneMm builds.
> * Put the macro definitions for the SPM major and minor versions in a
>   separate patch, as suggested by Sami.
> * Separated out the declaration of the SPM major and minor version
>   macros in the earlier patch as was suggested by Sami.
> * Put the macro definitions for the SPM major and minor versions with
>   FF-A support in a separate patch, as suggested by Sami.
> * Declare the PcdFfaEnable Pcd Feature flag under FeaturePcd.AARCH64
>   to avoid build break for the X64 build of StandaloneMm.
> * Change the patch header to have the ArmPkg prefix instead of
>   StandaloneMmMmuLib as suggested by Sami.
>
> Changes since V2:
> * Added a STATIC storage class specifier for mSpmMajorVer and
>   mSpmMinorVer variables
> * Added a STATIC storage class specifier for mSpmMajorVerFfa and
>   mSpmMinorVerFfa variables
> * Add braces for if/else statements
> * Add a check for EFI_NOT_FOUND as a possible return value from
>   LocateStandaloneMmCorePeCoffData in _ModuleEntryPoint function
> * Check for the return value in Arg0 after the Direct Request call to
>   handle errors returned
> * Put a comment to reflect the fact that FFA_INTERRUPT and FFA_SUCCESS
>   response won't be expected in return to a Direct Request call to get
>   the memory attributes
> * Check for the return value in Arg0 after the Direct Request call to
>   handle errors returned
> * Put a comment to reflect the fact that FFA_INTERRUPT and FFA_SUCCESS
>   response won't be expected in return to a Direct Request call to set
>   the memory attributes
>
> Changes since V1:
> Handled review comments from Sami Mujawar
>
> [1] - https://github.com/sughoshg/edk2/tree/implement_ffa_svc_optional_v5
>
>
> Achin Gupta (7):
>   ArmPkg/IndustryStandard: Add barebones FF-A header
>   ArmPkg/ArmSvcLib: Return x4-x7 in output parameters
>   StandaloneMmPkg: Use FF-A header file in Standalone MM Core entry
>     point
>   StandaloneMmPkg: Add option to use FF-A calls for communication with
>     SPM
>   ArmPkg: Use FF-A header file in Standalone MM Arm MMU library
>   ArmPkg: Allow FF-A calls to get memory region's attributes
>   ArmPkg: Allow FF-A calls to set memory region's attributes
>
> Ilias Apalodimas (2):
>   MdeModulePkg/VariableStandaloneMm: Set PcdFlashNvStorageVariableBase
>     to Pcd
>   StandaloneMmPkg: Allow sending FFA Direct Request message to
>     StandaloneMm
>
> Sughosh Ganu (5):
>   ArmPkg: Introduce support for PcdFfaEnable
>   ArmPkg: Add macros for SPM version
>   StandaloneMmPkg: Use macros for SPM version check
>   ArmPkg: Add macros for SPM version with FF-A support enabled
>   StandaloneMmPkg: Add option to use FF-A calls for getting SPM version
>

Unfortunately, I won't be able to do a detailed review of this series,
but I have discussed these patches before with Sami off-list, and
based on that and on my earlier review of v3:

Acked-by: Ard Biesheuvel <ardb@kernel.org>

for the series, where necessary.

>  ArmPkg/ArmPkg.dec                             |   7 +
>  .../ArmMmuStandaloneMmLib.inf                 |   3 +
>  .../RuntimeDxe/VariableStandaloneMm.inf       |   4 +-
>  .../StandaloneMmCoreEntryPoint.inf            |   3 +
>  ArmPkg/Include/IndustryStandard/ArmFfaSvc.h   |  44 +++++
>  ArmPkg/Include/IndustryStandard/ArmMmSvc.h    |   3 +
>  ArmPkg/Include/Library/ArmSvcLib.h            |  10 +-
>  .../AArch64/ArmMmuStandaloneMmLib.c           | 167 +++++++++++++++---
>  .../StandaloneMmCpu/AArch64/EventHandle.c     |   4 +-
>  .../AArch64/StandaloneMmCoreEntryPoint.c      | 133 +++++++++++---
>  ArmPkg/Library/ArmSvcLib/AArch64/ArmSvc.S     |   4 +-
>  11 files changed, 321 insertions(+), 61 deletions(-)
>  create mode 100644 ArmPkg/Include/IndustryStandard/ArmFfaSvc.h
>
> --
> 2.17.1
>
>


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#71959): https://edk2.groups.io/g/devel/message/71959
Mute This Topic: https://groups.io/mt/80750044/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [edk2-devel] [PATCH v5 00/14] Add support for using FF-A calls
Posted by Sughosh Ganu 3 years, 2 months ago
hi Sami,

On Mon, 22 Feb 2021 at 19:40, Ard Biesheuvel <ardb@kernel.org> wrote:

> On Fri, 19 Feb 2021 at 07:36, Sughosh Ganu <sughosh.ganu@linaro.org>
> wrote:
> >
> > The following patch series adds support for using the Firmware
> > Framework(FF-A) as a transport mechanism for requesting services from
> > the Secure Partition Manager(SPM). This is done through a Pcd which
> > can be used to enable the FF-A mechanism or to use the earlier used
> > SVC calls.
> >
> > The patches have been pushed to my github repository[1]
> >
> > Ran the CI tests through the github draft pull request, and all the CI
> > test pass. Ran the PatchCheck script, with no errors.
> >
> > Changes since V4:
> > * Define all variable Pcd's under the [Pcd] section instead of
> >   [FixedPcd], as suggested by Liming Gao
> >
> > Changes since V3:
> > * Put the PcdFfaEnable under the PcdsFeatureFlag.AARCH64 section to
> >   avoid build breakage for the X64 StandaloneMm builds.
> > * Put the macro definitions for the SPM major and minor versions in a
> >   separate patch, as suggested by Sami.
> > * Separated out the declaration of the SPM major and minor version
> >   macros in the earlier patch as was suggested by Sami.
> > * Put the macro definitions for the SPM major and minor versions with
> >   FF-A support in a separate patch, as suggested by Sami.
> > * Declare the PcdFfaEnable Pcd Feature flag under FeaturePcd.AARCH64
> >   to avoid build break for the X64 build of StandaloneMm.
> > * Change the patch header to have the ArmPkg prefix instead of
> >   StandaloneMmMmuLib as suggested by Sami.
> >
> > Changes since V2:
> > * Added a STATIC storage class specifier for mSpmMajorVer and
> >   mSpmMinorVer variables
> > * Added a STATIC storage class specifier for mSpmMajorVerFfa and
> >   mSpmMinorVerFfa variables
> > * Add braces for if/else statements
> > * Add a check for EFI_NOT_FOUND as a possible return value from
> >   LocateStandaloneMmCorePeCoffData in _ModuleEntryPoint function
> > * Check for the return value in Arg0 after the Direct Request call to
> >   handle errors returned
> > * Put a comment to reflect the fact that FFA_INTERRUPT and FFA_SUCCESS
> >   response won't be expected in return to a Direct Request call to get
> >   the memory attributes
> > * Check for the return value in Arg0 after the Direct Request call to
> >   handle errors returned
> > * Put a comment to reflect the fact that FFA_INTERRUPT and FFA_SUCCESS
> >   response won't be expected in return to a Direct Request call to set
> >   the memory attributes
> >
> > Changes since V1:
> > Handled review comments from Sami Mujawar
> >
> > [1] -
> https://github.com/sughoshg/edk2/tree/implement_ffa_svc_optional_v5
> >
> >
> > Achin Gupta (7):
> >   ArmPkg/IndustryStandard: Add barebones FF-A header
> >   ArmPkg/ArmSvcLib: Return x4-x7 in output parameters
> >   StandaloneMmPkg: Use FF-A header file in Standalone MM Core entry
> >     point
> >   StandaloneMmPkg: Add option to use FF-A calls for communication with
> >     SPM
> >   ArmPkg: Use FF-A header file in Standalone MM Arm MMU library
> >   ArmPkg: Allow FF-A calls to get memory region's attributes
> >   ArmPkg: Allow FF-A calls to set memory region's attributes
> >
> > Ilias Apalodimas (2):
> >   MdeModulePkg/VariableStandaloneMm: Set PcdFlashNvStorageVariableBase
> >     to Pcd
> >   StandaloneMmPkg: Allow sending FFA Direct Request message to
> >     StandaloneMm
> >
> > Sughosh Ganu (5):
> >   ArmPkg: Introduce support for PcdFfaEnable
> >   ArmPkg: Add macros for SPM version
> >   StandaloneMmPkg: Use macros for SPM version check
> >   ArmPkg: Add macros for SPM version with FF-A support enabled
> >   StandaloneMmPkg: Add option to use FF-A calls for getting SPM version
> >
>
> Unfortunately, I won't be able to do a detailed review of this series,
> but I have discussed these patches before with Sami off-list, and
> based on that and on my earlier review of v3:
>
> Acked-by: Ard Biesheuvel <ardb@kernel.org>
>
> for the series, where necessary.
>

Can you please merge this patch series for the stable tag
edk2-stable202102. I have created a bugzilla ticket for this feature
addition[1]. Please let me know if anything else is needed. Thanks.

-sughosh

[1] - https://bugzilla.tianocore.org/show_bug.cgi?id=3230


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#71981): https://edk2.groups.io/g/devel/message/71981
Mute This Topic: https://groups.io/mt/80750044/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [edk2-devel] [PATCH v5 00/14] Add support for using FF-A calls
Posted by Sami Mujawar 3 years, 2 months ago
Hi Sughosh,

Pushed as a2b5ea38a6fb..68e5ecc4d208

Regards,

Sami Mujawar

From: Sughosh Ganu <sughosh.ganu@linaro.org>
Sent: 22 February 2021 03:19 PM
To: Ard Biesheuvel <ardb@kernel.org>; Sami Mujawar <Sami.Mujawar@arm.com>
Cc: devel@edk2.groups.io; Ilias Apalodimas <ilias.apalodimas@linaro.org>; Laszlo Ersek <lersek@redhat.com>; Leif Lindholm <leif@nuviainc.com>; michael.d.kinney@intel.com; Jiewen Yao <jiewen.yao@intel.com>; Achin Gupta <Achin.Gupta@arm.com>
Subject: Re: [PATCH v5 00/14] Add support for using FF-A calls

hi Sami,

On Mon, 22 Feb 2021 at 19:40, Ard Biesheuvel <ardb@kernel.org<mailto:ardb@kernel.org>> wrote:
On Fri, 19 Feb 2021 at 07:36, Sughosh Ganu <sughosh.ganu@linaro.org<mailto:sughosh.ganu@linaro.org>> wrote:
>
> The following patch series adds support for using the Firmware
> Framework(FF-A) as a transport mechanism for requesting services from
> the Secure Partition Manager(SPM). This is done through a Pcd which
> can be used to enable the FF-A mechanism or to use the earlier used
> SVC calls.
>
> The patches have been pushed to my github repository[1]
>
> Ran the CI tests through the github draft pull request, and all the CI
> test pass. Ran the PatchCheck script, with no errors.
>
> Changes since V4:
> * Define all variable Pcd's under the [Pcd] section instead of
>   [FixedPcd], as suggested by Liming Gao
>
> Changes since V3:
> * Put the PcdFfaEnable under the PcdsFeatureFlag.AARCH64 section to
>   avoid build breakage for the X64 StandaloneMm builds.
> * Put the macro definitions for the SPM major and minor versions in a
>   separate patch, as suggested by Sami.
> * Separated out the declaration of the SPM major and minor version
>   macros in the earlier patch as was suggested by Sami.
> * Put the macro definitions for the SPM major and minor versions with
>   FF-A support in a separate patch, as suggested by Sami.
> * Declare the PcdFfaEnable Pcd Feature flag under FeaturePcd.AARCH64
>   to avoid build break for the X64 build of StandaloneMm.
> * Change the patch header to have the ArmPkg prefix instead of
>   StandaloneMmMmuLib as suggested by Sami.
>
> Changes since V2:
> * Added a STATIC storage class specifier for mSpmMajorVer and
>   mSpmMinorVer variables
> * Added a STATIC storage class specifier for mSpmMajorVerFfa and
>   mSpmMinorVerFfa variables
> * Add braces for if/else statements
> * Add a check for EFI_NOT_FOUND as a possible return value from
>   LocateStandaloneMmCorePeCoffData in _ModuleEntryPoint function
> * Check for the return value in Arg0 after the Direct Request call to
>   handle errors returned
> * Put a comment to reflect the fact that FFA_INTERRUPT and FFA_SUCCESS
>   response won't be expected in return to a Direct Request call to get
>   the memory attributes
> * Check for the return value in Arg0 after the Direct Request call to
>   handle errors returned
> * Put a comment to reflect the fact that FFA_INTERRUPT and FFA_SUCCESS
>   response won't be expected in return to a Direct Request call to set
>   the memory attributes
>
> Changes since V1:
> Handled review comments from Sami Mujawar
>
> [1] - https://github.com/sughoshg/edk2/tree/implement_ffa_svc_optional_v5
>
>
> Achin Gupta (7):
>   ArmPkg/IndustryStandard: Add barebones FF-A header
>   ArmPkg/ArmSvcLib: Return x4-x7 in output parameters
>   StandaloneMmPkg: Use FF-A header file in Standalone MM Core entry
>     point
>   StandaloneMmPkg: Add option to use FF-A calls for communication with
>     SPM
>   ArmPkg: Use FF-A header file in Standalone MM Arm MMU library
>   ArmPkg: Allow FF-A calls to get memory region's attributes
>   ArmPkg: Allow FF-A calls to set memory region's attributes
>
> Ilias Apalodimas (2):
>   MdeModulePkg/VariableStandaloneMm: Set PcdFlashNvStorageVariableBase
>     to Pcd
>   StandaloneMmPkg: Allow sending FFA Direct Request message to
>     StandaloneMm
>
> Sughosh Ganu (5):
>   ArmPkg: Introduce support for PcdFfaEnable
>   ArmPkg: Add macros for SPM version
>   StandaloneMmPkg: Use macros for SPM version check
>   ArmPkg: Add macros for SPM version with FF-A support enabled
>   StandaloneMmPkg: Add option to use FF-A calls for getting SPM version
>

Unfortunately, I won't be able to do a detailed review of this series,
but I have discussed these patches before with Sami off-list, and
based on that and on my earlier review of v3:

Acked-by: Ard Biesheuvel <ardb@kernel.org<mailto:ardb@kernel.org>>

for the series, where necessary.

Can you please merge this patch series for the stable tag edk2-stable202102. I have created a bugzilla ticket for this feature addition[1]. Please let me know if anything else is needed. Thanks.

-sughosh

[1] - https://bugzilla.tianocore.org/show_bug.cgi?id=3230
IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#72088): https://edk2.groups.io/g/devel/message/72088
Mute This Topic: https://groups.io/mt/80750044/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-