]> git.proxmox.com Git - mirror_edk2.git/commitdiff
MdeModulePkg/FaultTolerantWriteSmmDxe: switch to MM communicate 2
authorArd Biesheuvel <ard.biesheuvel@arm.com>
Sat, 18 Apr 2020 16:45:29 +0000 (18:45 +0200)
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Tue, 12 May 2020 19:23:44 +0000 (19:23 +0000)
Switch to the new MM communicate 2 protocol which supports both
traditional and standalone MM.

Signed-off-by: Ard Biesheuvel <ard.biesheuvel@arm.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteSmmCommon.h
MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteSmmDxe.c
MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteSmmDxe.h
MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteSmmDxe.inf

index 4546a1b445b9d3db3b6510309adb08556cd139bb..5f0eec0506ed8ecbdca408ff831bdb9aa7b43041 100644 (file)
@@ -29,7 +29,7 @@ typedef struct {
 ///\r
 /// Size of SMM communicate header, without including the payload.\r
 ///\r
-#define SMM_COMMUNICATE_HEADER_SIZE  (OFFSET_OF (EFI_SMM_COMMUNICATE_HEADER, Data))\r
+#define SMM_COMMUNICATE_HEADER_SIZE  (OFFSET_OF (EFI_MM_COMMUNICATE_HEADER, Data))\r
 \r
 ///\r
 /// Size of SMM FTW communicate function header, without including the payload.\r
index 6e3eb3b58b0901b50135e4c279f1e97236858aef..24c20950296dfdff2df5d961f3450155274f3cf3 100644 (file)
@@ -11,7 +11,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 #include "FaultTolerantWriteSmmDxe.h"\r
 \r
 EFI_HANDLE                         mHandle                   = NULL;\r
-EFI_SMM_COMMUNICATION_PROTOCOL     *mSmmCommunication        = NULL;\r
+EFI_MM_COMMUNICATION2_PROTOCOL     *mMmCommunication2        = NULL;\r
 UINTN                              mPrivateDataSize          = 0;\r
 \r
 EFI_FAULT_TOLERANT_WRITE_PROTOCOL  mFaultTolerantWriteDriver = {\r
@@ -40,7 +40,7 @@ InitCommunicateBuffer (
   IN      UINTN                             Function\r
   )\r
 {\r
-  EFI_SMM_COMMUNICATE_HEADER                *SmmCommunicateHeader;\r
+  EFI_MM_COMMUNICATE_HEADER                 *SmmCommunicateHeader;\r
   SMM_FTW_COMMUNICATE_FUNCTION_HEADER       *SmmFtwFunctionHeader;\r
 \r
   //\r
@@ -74,7 +74,7 @@ InitCommunicateBuffer (
 **/\r
 EFI_STATUS\r
 SendCommunicateBuffer (\r
-  IN OUT  EFI_SMM_COMMUNICATE_HEADER        *SmmCommunicateHeader,\r
+  IN OUT  EFI_MM_COMMUNICATE_HEADER         *SmmCommunicateHeader,\r
   IN      UINTN                             DataSize\r
   )\r
 {\r
@@ -83,7 +83,10 @@ SendCommunicateBuffer (
   SMM_FTW_COMMUNICATE_FUNCTION_HEADER       *SmmFtwFunctionHeader;\r
 \r
   CommSize = DataSize + SMM_COMMUNICATE_HEADER_SIZE + SMM_FTW_COMMUNICATE_HEADER_SIZE;\r
-  Status = mSmmCommunication->Communicate (mSmmCommunication, SmmCommunicateHeader, &CommSize);\r
+  Status = mMmCommunication2->Communicate (mMmCommunication2,\r
+                                           SmmCommunicateHeader,\r
+                                           SmmCommunicateHeader,\r
+                                           &CommSize);\r
   ASSERT_EFI_ERROR (Status);\r
 \r
   SmmFtwFunctionHeader = (SMM_FTW_COMMUNICATE_FUNCTION_HEADER *) SmmCommunicateHeader->Data;\r
@@ -148,7 +151,7 @@ FtwGetMaxBlockSize (
 {\r
   EFI_STATUS                                Status;\r
   UINTN                                     PayloadSize;\r
-  EFI_SMM_COMMUNICATE_HEADER                *SmmCommunicateHeader;\r
+  EFI_MM_COMMUNICATE_HEADER                 *SmmCommunicateHeader;\r
   SMM_FTW_GET_MAX_BLOCK_SIZE_HEADER         *SmmFtwBlockSizeHeader;\r
 \r
   //\r
@@ -204,7 +207,7 @@ FtwAllocate (
 {\r
   EFI_STATUS                                Status;\r
   UINTN                                     PayloadSize;\r
-  EFI_SMM_COMMUNICATE_HEADER                *SmmCommunicateHeader;\r
+  EFI_MM_COMMUNICATE_HEADER                 *SmmCommunicateHeader;\r
   SMM_FTW_ALLOCATE_HEADER                   *SmmFtwAllocateHeader;\r
 \r
   //\r
@@ -270,7 +273,7 @@ FtwWrite (
 {\r
   EFI_STATUS                                Status;\r
   UINTN                                     PayloadSize;\r
-  EFI_SMM_COMMUNICATE_HEADER                *SmmCommunicateHeader;\r
+  EFI_MM_COMMUNICATE_HEADER                 *SmmCommunicateHeader;\r
   SMM_FTW_WRITE_HEADER                      *SmmFtwWriteHeader;\r
 \r
   //\r
@@ -336,7 +339,7 @@ FtwRestart (
 {\r
   EFI_STATUS                                Status;\r
   UINTN                                     PayloadSize;\r
-  EFI_SMM_COMMUNICATE_HEADER                *SmmCommunicateHeader;\r
+  EFI_MM_COMMUNICATE_HEADER                 *SmmCommunicateHeader;\r
   SMM_FTW_RESTART_HEADER                    *SmmFtwRestartHeader;\r
 \r
   //\r
@@ -381,7 +384,7 @@ FtwAbort (
   )\r
 {\r
   EFI_STATUS                                Status;\r
-  EFI_SMM_COMMUNICATE_HEADER                *SmmCommunicateHeader;\r
+  EFI_MM_COMMUNICATE_HEADER                 *SmmCommunicateHeader;\r
 \r
   //\r
   // Initialize the communicate buffer.\r
@@ -438,7 +441,7 @@ FtwGetLastWrite (
 {\r
   EFI_STATUS                                Status;\r
   UINTN                                     PayloadSize;\r
-  EFI_SMM_COMMUNICATE_HEADER                *SmmCommunicateHeader;\r
+  EFI_MM_COMMUNICATE_HEADER                 *SmmCommunicateHeader;\r
   SMM_FTW_GET_LAST_WRITE_HEADER             *SmmFtwGetLastWriteHeader;\r
 \r
   //\r
@@ -501,7 +504,7 @@ SmmFtwReady (
     return;\r
   }\r
 \r
-  Status = gBS->LocateProtocol (&gEfiSmmCommunicationProtocolGuid, NULL, (VOID **) &mSmmCommunication);\r
+  Status = gBS->LocateProtocol (&gEfiMmCommunication2ProtocolGuid, NULL, (VOID **) &mMmCommunication2);\r
   ASSERT_EFI_ERROR (Status);\r
 \r
   //\r
index 22df9103d21aa502145ac0a0349ef718443ffb9e..a15644abd731d760ff8303aa65ee212f1970be19 100644 (file)
@@ -13,7 +13,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 \r
 #include <PiDxe.h>\r
 \r
-#include <Protocol/SmmCommunication.h>\r
+#include <Protocol/MmCommunication2.h>\r
 \r
 #include <Library/UefiBootServicesTableLib.h>\r
 #include <Library/UefiDriverEntryPoint.h>\r
index f5dc4bb4fee3480f20596e57b01c27b2ffdef4c1..f0dd829653f164b442b41e04a057c80d9ba2b658 100644 (file)
@@ -45,7 +45,7 @@
 \r
 [Protocols]\r
   gEfiFaultTolerantWriteProtocolGuid            ## PRODUCES\r
-  gEfiSmmCommunicationProtocolGuid              ## CONSUMES\r
+  gEfiMmCommunication2ProtocolGuid              ## CONSUMES\r
   ## NOTIFY\r
   ## UNDEFINED # Used to do smm communication\r
   ## CONSUMES\r
@@ -53,7 +53,7 @@
   gEfiFirmwareVolumeBlockProtocolGuid           ## CONSUMES\r
 \r
 [Depex]\r
-  gEfiSmmCommunicationProtocolGuid\r
+  gEfiMmCommunication2ProtocolGuid\r
 \r
 [UserExtensions.TianoCore."ExtraFiles"]\r
   FaultTolerantWriteSmmDxeExtra.uni\r