From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web08.510.1610691256767109321 for ; Thu, 14 Jan 2021 22:14:16 -0800 Authentication-Results: mx.groups.io; dkim=missing; spf=softfail (domain: linaro.org, ip: 217.140.110.172, mailfrom: sughosh.ganu@linaro.org) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 314B5ED1; Thu, 14 Jan 2021 22:14:15 -0800 (PST) Received: from a076522.blr.arm.com (a076522.blr.arm.com [10.162.16.44]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 471B63F70D; Thu, 14 Jan 2021 22:14:13 -0800 (PST) From: "Sughosh Ganu" To: devel@edk2.groups.io Cc: Sami Mujawar , Ard Biesheuvel , Leif Lindholm , Sahil Malhotra , Ilias Apalodimas Subject: [PATCH v3 00/13] Add support for using FF-A calls Date: Fri, 15 Jan 2021 11:43:51 +0530 Message-Id: <20210115061404.13552-1-sughosh.ganu@linaro.org> X-Mailer: git-send-email 2.17.1 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] 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/SNG-ARM/edk2/tree/implement_ffa_svc_optional_v3 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 StandaloneMmPkg: Use FF-A header file in Standalone MM Arm MMU library StandaloneMmMmuLib: Allow FF-A calls to get memory region's attributes StandaloneMmMmuLib: 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 (4): ArmPkg: Introduce support for PcdFfaEnable StandaloneMmPkg: Add macros for SPM version StandaloneMmPkg: Add the SPM version for FF-A StandaloneMmPkg: Add option to use FF-A calls for getting SPM version ArmPkg/ArmPkg.dec | 6 + .../ArmMmuStandaloneMmLib.inf | 3 + .../RuntimeDxe/VariableStandaloneMm.inf | 6 +- .../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, 322 insertions(+), 61 deletions(-) create mode 100644 ArmPkg/Include/IndustryStandard/ArmFfaSvc.h -- 2.17.1