]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteSmm.c
MdeModulePkg: Apply uncrustify changes
[mirror_edk2.git] / MdeModulePkg / Universal / FaultTolerantWriteDxe / FaultTolerantWriteSmm.c
index de7544e0ac16d1b9d91308fbe2a5789c61fa6032..8c2d209fa07b597906d4b6d2c2488dbd470f80f1 100644 (file)
@@ -56,13 +56,13 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 #include "FaultTolerantWriteSmmCommon.h"\r
 #include <Protocol/MmEndOfDxe.h>\r
 \r
-VOID                                      *mFvbRegistration = NULL;\r
-EFI_FTW_DEVICE                            *mFtwDevice      = NULL;\r
+VOID            *mFvbRegistration = NULL;\r
+EFI_FTW_DEVICE  *mFtwDevice       = NULL;\r
 \r
 ///\r
 /// The flag to indicate whether the platform has left the DXE phase of execution.\r
 ///\r
-BOOLEAN                                   mEndOfDxe = FALSE;\r
+BOOLEAN  mEndOfDxe = FALSE;\r
 \r
 /**\r
   Retrieve the SMM FVB protocol interface by HANDLE.\r
@@ -88,7 +88,7 @@ FtwGetFvbByHandle (
   return gMmst->MmHandleProtocol (\r
                   FvBlockHandle,\r
                   &gEfiSmmFirmwareVolumeBlockProtocolGuid,\r
-                  (VOID **) FvBlock\r
+                  (VOID **)FvBlock\r
                   );\r
 }\r
 \r
@@ -104,10 +104,10 @@ FtwGetFvbByHandle (
 **/\r
 EFI_STATUS\r
 FtwGetSarProtocol (\r
-  OUT VOID                                **SarProtocol\r
+  OUT VOID  **SarProtocol\r
   )\r
 {\r
-  EFI_STATUS                              Status;\r
+  EFI_STATUS  Status;\r
 \r
   //\r
   // Locate Smm Swap Address Range protocol\r
@@ -137,12 +137,12 @@ FtwGetSarProtocol (
 **/\r
 EFI_STATUS\r
 GetFvbCountAndBuffer (\r
-  OUT UINTN                               *NumberHandles,\r
-  OUT EFI_HANDLE                          **Buffer\r
+  OUT UINTN       *NumberHandles,\r
+  OUT EFI_HANDLE  **Buffer\r
   )\r
 {\r
-  EFI_STATUS                              Status;\r
-  UINTN                                   BufferSize;\r
+  EFI_STATUS  Status;\r
+  UINTN       BufferSize;\r
 \r
   if ((NumberHandles == NULL) || (Buffer == NULL)) {\r
     return EFI_INVALID_PARAMETER;\r
@@ -151,14 +151,14 @@ GetFvbCountAndBuffer (
   BufferSize     = 0;\r
   *NumberHandles = 0;\r
   *Buffer        = NULL;\r
-  Status = gMmst->MmLocateHandle (\r
-                    ByProtocol,\r
-                    &gEfiSmmFirmwareVolumeBlockProtocolGuid,\r
-                    NULL,\r
-                    &BufferSize,\r
-                    *Buffer\r
-                    );\r
-  if (EFI_ERROR(Status) && Status != EFI_BUFFER_TOO_SMALL) {\r
+  Status         = gMmst->MmLocateHandle (\r
+                            ByProtocol,\r
+                            &gEfiSmmFirmwareVolumeBlockProtocolGuid,\r
+                            NULL,\r
+                            &BufferSize,\r
+                            *Buffer\r
+                            );\r
+  if (EFI_ERROR (Status) && (Status != EFI_BUFFER_TOO_SMALL)) {\r
     return EFI_NOT_FOUND;\r
   }\r
 \r
@@ -175,8 +175,8 @@ GetFvbCountAndBuffer (
                     *Buffer\r
                     );\r
 \r
-  *NumberHandles = BufferSize / sizeof(EFI_HANDLE);\r
-  if (EFI_ERROR(Status)) {\r
+  *NumberHandles = BufferSize / sizeof (EFI_HANDLE);\r
+  if (EFI_ERROR (Status)) {\r
     *NumberHandles = 0;\r
     FreePool (*Buffer);\r
     *Buffer = NULL;\r
@@ -185,7 +185,6 @@ GetFvbCountAndBuffer (
   return Status;\r
 }\r
 \r
-\r
 /**\r
   Get the handle of the SMM FVB protocol by the FVB base address and attributes.\r
 \r
@@ -199,9 +198,9 @@ GetFvbCountAndBuffer (
 **/\r
 EFI_STATUS\r
 GetFvbByAddressAndAttribute (\r
-  IN  EFI_PHYSICAL_ADDRESS            Address,\r
-  IN  EFI_FVB_ATTRIBUTES_2            Attributes,\r
-  OUT EFI_HANDLE                      *SmmFvbHandle\r
+  IN  EFI_PHYSICAL_ADDRESS  Address,\r
+  IN  EFI_FVB_ATTRIBUTES_2  Attributes,\r
+  OUT EFI_HANDLE            *SmmFvbHandle\r
   )\r
 {\r
   EFI_STATUS                          Status;\r
@@ -230,6 +229,7 @@ GetFvbByAddressAndAttribute (
     if (EFI_ERROR (Status)) {\r
       break;\r
     }\r
+\r
     //\r
     // Compare the address.\r
     //\r
@@ -237,8 +237,9 @@ GetFvbByAddressAndAttribute (
     if (EFI_ERROR (Status)) {\r
       continue;\r
     }\r
+\r
     if (Address != FvbBaseAddress) {\r
-     continue;\r
+      continue;\r
     }\r
 \r
     //\r
@@ -248,8 +249,9 @@ GetFvbByAddressAndAttribute (
     if (EFI_ERROR (Status)) {\r
       continue;\r
     }\r
+\r
     if (Attributes != FvbAttributes) {\r
-     continue;\r
+      continue;\r
     }\r
 \r
     //\r
@@ -293,31 +295,31 @@ GetFvbByAddressAndAttribute (
 EFI_STATUS\r
 EFIAPI\r
 SmmFaultTolerantWriteHandler (\r
-  IN     EFI_HANDLE                                DispatchHandle,\r
-  IN     CONST VOID                                *RegisterContext,\r
-  IN OUT VOID                                      *CommBuffer,\r
-  IN OUT UINTN                                     *CommBufferSize\r
+  IN     EFI_HANDLE  DispatchHandle,\r
+  IN     CONST VOID  *RegisterContext,\r
+  IN OUT VOID        *CommBuffer,\r
+  IN OUT UINTN       *CommBufferSize\r
   )\r
 {\r
-  EFI_STATUS                                       Status;\r
-  SMM_FTW_COMMUNICATE_FUNCTION_HEADER              *SmmFtwFunctionHeader;\r
-  SMM_FTW_GET_MAX_BLOCK_SIZE_HEADER                *SmmGetMaxBlockSizeHeader;\r
-  SMM_FTW_ALLOCATE_HEADER                          *SmmFtwAllocateHeader;\r
-  SMM_FTW_WRITE_HEADER                             *SmmFtwWriteHeader;\r
-  SMM_FTW_RESTART_HEADER                           *SmmFtwRestartHeader;\r
-  SMM_FTW_GET_LAST_WRITE_HEADER                    *SmmFtwGetLastWriteHeader;\r
-  VOID                                             *PrivateData;\r
-  EFI_HANDLE                                       SmmFvbHandle;\r
-  UINTN                                            InfoSize;\r
-  UINTN                                            CommBufferPayloadSize;\r
-  UINTN                                            PrivateDataSize;\r
-  UINTN                                            Length;\r
-  UINTN                                            TempCommBufferSize;\r
+  EFI_STATUS                           Status;\r
+  SMM_FTW_COMMUNICATE_FUNCTION_HEADER  *SmmFtwFunctionHeader;\r
+  SMM_FTW_GET_MAX_BLOCK_SIZE_HEADER    *SmmGetMaxBlockSizeHeader;\r
+  SMM_FTW_ALLOCATE_HEADER              *SmmFtwAllocateHeader;\r
+  SMM_FTW_WRITE_HEADER                 *SmmFtwWriteHeader;\r
+  SMM_FTW_RESTART_HEADER               *SmmFtwRestartHeader;\r
+  SMM_FTW_GET_LAST_WRITE_HEADER        *SmmFtwGetLastWriteHeader;\r
+  VOID                                 *PrivateData;\r
+  EFI_HANDLE                           SmmFvbHandle;\r
+  UINTN                                InfoSize;\r
+  UINTN                                CommBufferPayloadSize;\r
+  UINTN                                PrivateDataSize;\r
+  UINTN                                Length;\r
+  UINTN                                TempCommBufferSize;\r
 \r
   //\r
   // If input is invalid, stop processing this SMI\r
   //\r
-  if (CommBuffer == NULL || CommBufferSize == NULL) {\r
+  if ((CommBuffer == NULL) || (CommBufferSize == NULL)) {\r
     return EFI_SUCCESS;\r
   }\r
 \r
@@ -327,6 +329,7 @@ SmmFaultTolerantWriteHandler (
     DEBUG ((DEBUG_ERROR, "SmmFtwHandler: SMM communication buffer size invalid!\n"));\r
     return EFI_SUCCESS;\r
   }\r
+\r
   CommBufferPayloadSize = TempCommBufferSize - SMM_FTW_COMMUNICATE_HEADER_SIZE;\r
 \r
   if (!FtwSmmIsBufferOutsideSmmValid ((UINTN)CommBuffer, TempCommBufferSize)) {\r
@@ -351,7 +354,8 @@ SmmFaultTolerantWriteHandler (
         DEBUG ((DEBUG_ERROR, "GetMaxBlockSize: SMM communication buffer size invalid!\n"));\r
         return EFI_SUCCESS;\r
       }\r
-      SmmGetMaxBlockSizeHeader = (SMM_FTW_GET_MAX_BLOCK_SIZE_HEADER *) SmmFtwFunctionHeader->Data;\r
+\r
+      SmmGetMaxBlockSizeHeader = (SMM_FTW_GET_MAX_BLOCK_SIZE_HEADER *)SmmFtwFunctionHeader->Data;\r
 \r
       Status = FtwGetMaxBlockSize (\r
                  &mFtwDevice->FtwInstance,\r
@@ -364,13 +368,14 @@ SmmFaultTolerantWriteHandler (
         DEBUG ((DEBUG_ERROR, "Allocate: SMM communication buffer size invalid!\n"));\r
         return EFI_SUCCESS;\r
       }\r
-      SmmFtwAllocateHeader = (SMM_FTW_ALLOCATE_HEADER *) SmmFtwFunctionHeader->Data;\r
-      Status = FtwAllocate (\r
-                 &mFtwDevice->FtwInstance,\r
-                 &SmmFtwAllocateHeader->CallerId,\r
-                 SmmFtwAllocateHeader->PrivateDataSize,\r
-                 SmmFtwAllocateHeader->NumberOfWrites\r
-                 );\r
+\r
+      SmmFtwAllocateHeader = (SMM_FTW_ALLOCATE_HEADER *)SmmFtwFunctionHeader->Data;\r
+      Status               = FtwAllocate (\r
+                               &mFtwDevice->FtwInstance,\r
+                               &SmmFtwAllocateHeader->CallerId,\r
+                               SmmFtwAllocateHeader->PrivateDataSize,\r
+                               SmmFtwAllocateHeader->NumberOfWrites\r
+                               );\r
       break;\r
 \r
     case FTW_FUNCTION_WRITE:\r
@@ -378,17 +383,20 @@ SmmFaultTolerantWriteHandler (
         DEBUG ((DEBUG_ERROR, "Write: SMM communication buffer size invalid!\n"));\r
         return EFI_SUCCESS;\r
       }\r
-      SmmFtwWriteHeader = (SMM_FTW_WRITE_HEADER *) SmmFtwFunctionHeader->Data;\r
-      Length = SmmFtwWriteHeader->Length;\r
-      PrivateDataSize = SmmFtwWriteHeader->PrivateDataSize;\r
+\r
+      SmmFtwWriteHeader = (SMM_FTW_WRITE_HEADER *)SmmFtwFunctionHeader->Data;\r
+      Length            = SmmFtwWriteHeader->Length;\r
+      PrivateDataSize   = SmmFtwWriteHeader->PrivateDataSize;\r
       if (((UINTN)(~0) - Length < OFFSET_OF (SMM_FTW_WRITE_HEADER, Data)) ||\r
-        ((UINTN)(~0) - PrivateDataSize < OFFSET_OF (SMM_FTW_WRITE_HEADER, Data) + Length)) {\r
+          ((UINTN)(~0) - PrivateDataSize < OFFSET_OF (SMM_FTW_WRITE_HEADER, Data) + Length))\r
+      {\r
         //\r
         // Prevent InfoSize overflow\r
         //\r
         Status = EFI_ACCESS_DENIED;\r
         break;\r
       }\r
+\r
       InfoSize = OFFSET_OF (SMM_FTW_WRITE_HEADER, Data) + Length + PrivateDataSize;\r
 \r
       //\r
@@ -405,6 +413,7 @@ SmmFaultTolerantWriteHandler (
       } else {\r
         PrivateData = (VOID *)&SmmFtwWriteHeader->Data[Length];\r
       }\r
+\r
       Status = GetFvbByAddressAndAttribute (\r
                  SmmFtwWriteHeader->FvbBaseAddress,\r
                  SmmFtwWriteHeader->FvbAttributes,\r
@@ -417,7 +426,7 @@ SmmFaultTolerantWriteHandler (
         // calling into FtwWrite().\r
         //\r
         SpeculationBarrier ();\r
-        Status = FtwWrite(\r
+        Status = FtwWrite (\r
                    &mFtwDevice->FtwInstance,\r
                    SmmFtwWriteHeader->Lba,\r
                    SmmFtwWriteHeader->Offset,\r
@@ -427,6 +436,7 @@ SmmFaultTolerantWriteHandler (
                    SmmFtwWriteHeader->Data\r
                    );\r
       }\r
+\r
       break;\r
 \r
     case FTW_FUNCTION_RESTART:\r
@@ -434,15 +444,17 @@ SmmFaultTolerantWriteHandler (
         DEBUG ((DEBUG_ERROR, "Restart: SMM communication buffer size invalid!\n"));\r
         return EFI_SUCCESS;\r
       }\r
-      SmmFtwRestartHeader = (SMM_FTW_RESTART_HEADER *) SmmFtwFunctionHeader->Data;\r
-      Status = GetFvbByAddressAndAttribute (\r
-                 SmmFtwRestartHeader->FvbBaseAddress,\r
-                 SmmFtwRestartHeader->FvbAttributes,\r
-                 &SmmFvbHandle\r
-                 );\r
+\r
+      SmmFtwRestartHeader = (SMM_FTW_RESTART_HEADER *)SmmFtwFunctionHeader->Data;\r
+      Status              = GetFvbByAddressAndAttribute (\r
+                              SmmFtwRestartHeader->FvbBaseAddress,\r
+                              SmmFtwRestartHeader->FvbAttributes,\r
+                              &SmmFvbHandle\r
+                              );\r
       if (!EFI_ERROR (Status)) {\r
         Status = FtwRestart (&mFtwDevice->FtwInstance, SmmFvbHandle);\r
       }\r
+\r
       break;\r
 \r
     case FTW_FUNCTION_ABORT:\r
@@ -454,15 +466,17 @@ SmmFaultTolerantWriteHandler (
         DEBUG ((DEBUG_ERROR, "GetLastWrite: SMM communication buffer size invalid!\n"));\r
         return EFI_SUCCESS;\r
       }\r
-      SmmFtwGetLastWriteHeader = (SMM_FTW_GET_LAST_WRITE_HEADER *) SmmFtwFunctionHeader->Data;\r
-      PrivateDataSize = SmmFtwGetLastWriteHeader->PrivateDataSize;\r
-      if ((UINTN)(~0) - PrivateDataSize < OFFSET_OF (SMM_FTW_GET_LAST_WRITE_HEADER, Data)){\r
+\r
+      SmmFtwGetLastWriteHeader = (SMM_FTW_GET_LAST_WRITE_HEADER *)SmmFtwFunctionHeader->Data;\r
+      PrivateDataSize          = SmmFtwGetLastWriteHeader->PrivateDataSize;\r
+      if ((UINTN)(~0) - PrivateDataSize < OFFSET_OF (SMM_FTW_GET_LAST_WRITE_HEADER, Data)) {\r
         //\r
         // Prevent InfoSize overflow\r
         //\r
         Status = EFI_ACCESS_DENIED;\r
         break;\r
       }\r
+\r
       InfoSize = OFFSET_OF (SMM_FTW_GET_LAST_WRITE_HEADER, Data) + PrivateDataSize;\r
 \r
       //\r
@@ -496,7 +510,6 @@ SmmFaultTolerantWriteHandler (
   return EFI_SUCCESS;\r
 }\r
 \r
-\r
 /**\r
   SMM Firmware Volume Block Protocol notification event handler.\r
 \r
@@ -510,14 +523,14 @@ SmmFaultTolerantWriteHandler (
 EFI_STATUS\r
 EFIAPI\r
 FvbNotificationEvent (\r
-  IN CONST EFI_GUID                       *Protocol,\r
-  IN VOID                                 *Interface,\r
-  IN EFI_HANDLE                           Handle\r
+  IN CONST EFI_GUID  *Protocol,\r
+  IN VOID            *Interface,\r
+  IN EFI_HANDLE      Handle\r
   )\r
 {\r
-  EFI_STATUS                              Status;\r
-  EFI_SMM_FAULT_TOLERANT_WRITE_PROTOCOL   *FtwProtocol;\r
-  EFI_HANDLE                              SmmFtwHandle;\r
+  EFI_STATUS                             Status;\r
+  EFI_SMM_FAULT_TOLERANT_WRITE_PROTOCOL  *FtwProtocol;\r
+  EFI_HANDLE                             SmmFtwHandle;\r
 \r
   //\r
   // Just return to avoid install SMM FaultTolerantWriteProtocol again\r
@@ -526,7 +539,7 @@ FvbNotificationEvent (
   Status = gMmst->MmLocateProtocol (\r
                     &gEfiSmmFaultTolerantWriteProtocolGuid,\r
                     NULL,\r
-                    (VOID **) &FtwProtocol\r
+                    (VOID **)&FtwProtocol\r
                     );\r
   if (!EFI_ERROR (Status)) {\r
     return EFI_SUCCESS;\r
@@ -536,7 +549,7 @@ FvbNotificationEvent (
   // Found proper FVB protocol and initialize FtwDevice for protocol installation\r
   //\r
   Status = InitFtwProtocol (mFtwDevice);\r
-  if (EFI_ERROR(Status)) {\r
+  if (EFI_ERROR (Status)) {\r
     return Status;\r
   }\r
 \r
@@ -578,9 +591,9 @@ FvbNotificationEvent (
 EFI_STATUS\r
 EFIAPI\r
 MmEndOfDxeCallback (\r
-  IN CONST EFI_GUID                       *Protocol,\r
-  IN VOID                                 *Interface,\r
-  IN EFI_HANDLE                           Handle\r
+  IN CONST EFI_GUID  *Protocol,\r
+  IN VOID            *Interface,\r
+  IN EFI_HANDLE      Handle\r
   )\r
 {\r
   mEndOfDxe = TRUE;\r
@@ -599,14 +612,14 @@ MmFaultTolerantWriteInitialize (
   VOID\r
   )\r
 {\r
-  EFI_STATUS                              Status;\r
-  VOID                                    *MmEndOfDxeRegistration;\r
+  EFI_STATUS  Status;\r
+  VOID        *MmEndOfDxeRegistration;\r
 \r
   //\r
   // Allocate private data structure for SMM FTW protocol and do some initialization\r
   //\r
   Status = InitFtwDevice (&mFtwDevice);\r
-  if (EFI_ERROR(Status)) {\r
+  if (EFI_ERROR (Status)) {\r
     return Status;\r
   }\r
 \r