]> git.proxmox.com Git - mirror_edk2.git/commitdiff
StandaloneMmPkg: Allow sending FFA Direct Request message to StandaloneMm
authorIlias Apalodimas <ilias.apalodimas@linaro.org>
Fri, 19 Feb 2021 06:36:07 +0000 (12:06 +0530)
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Tue, 23 Feb 2021 15:40:37 +0000 (15:40 +0000)
Allow passing of a request to StandaloneMm Core through the Firmware
Framework(FF-A) using FFA_MSG_SEND_DIRECT_REQ method. This method is
used as a mechanism for requesting some service from StandaloneMm.

Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org>
Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
Acked-by: Ard Biesheuvel <ardb@kernel.org>
StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/EventHandle.c

index d86d21bb013ce3a9749cdf92bf950091df455537..63fbe266421f3303adacb7a2ad5e9108e9587977 100644 (file)
@@ -22,6 +22,7 @@
 #include <Guid/ZeroGuid.h>\r
 #include <Guid/MmramMemoryReserve.h>\r
 \r
+#include <IndustryStandard/ArmFfaSvc.h>\r
 #include <IndustryStandard/ArmStdSmc.h>\r
 \r
 #include "StandaloneMmCpu.h"\r
@@ -91,7 +92,8 @@ PiMmStandaloneArmTfCpuDriverEntry (
   // receipt of a synchronous MM request. Use the Event ID to distinguish\r
   // between synchronous and asynchronous events.\r
   //\r
-  if (ARM_SMC_ID_MM_COMMUNICATE_AARCH64 != EventId) {\r
+  if ((ARM_SMC_ID_MM_COMMUNICATE_AARCH64 != EventId) &&\r
+      (ARM_SVC_ID_FFA_MSG_SEND_DIRECT_REQ_AARCH64 != EventId)) {\r
     DEBUG ((DEBUG_INFO, "UnRecognized Event - 0x%x\n", EventId));\r
     return EFI_INVALID_PARAMETER;\r
   }\r