]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/ScriptExecute.c
MdeModulePkg: Apply uncrustify changes
[mirror_edk2.git] / MdeModulePkg / Universal / Acpi / BootScriptExecutorDxe / ScriptExecute.c
index 4ed23979bd67b6f8dee5a88ad622c9004a68ec78..82481aacd6b238d7ca232b2a5e62dd2b185c9ca2 100644 (file)
@@ -13,12 +13,12 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 \r
 #include "ScriptExecute.h"\r
 \r
-EFI_GUID              mBootScriptExecutorImageGuid = {\r
+EFI_GUID  mBootScriptExecutorImageGuid = {\r
   0x9a8d3433, 0x9fe8, 0x42b6, { 0x87, 0xb, 0x1e, 0x31, 0xc8, 0x4e, 0xbe, 0x3b }\r
 };\r
 \r
-BOOLEAN               mPage1GSupport = FALSE;\r
-UINT64                mAddressEncMask = 0;\r
+BOOLEAN  mPage1GSupport  = FALSE;\r
+UINT64   mAddressEncMask = 0;\r
 \r
 /**\r
   Entry function of Boot script exector. This function will be executed in\r
@@ -34,8 +34,8 @@ UINT64                mAddressEncMask = 0;
 EFI_STATUS\r
 EFIAPI\r
 S3BootScriptExecutorEntryFunction (\r
-  IN ACPI_S3_CONTEXT       *AcpiS3Context,\r
-  IN PEI_S3_RESUME_STATE   *PeiS3ResumeState\r
+  IN ACPI_S3_CONTEXT      *AcpiS3Context,\r
+  IN PEI_S3_RESUME_STATE  *PeiS3ResumeState\r
   )\r
 {\r
   EFI_ACPI_4_0_FIRMWARE_ACPI_CONTROL_STRUCTURE  *Facs;\r
@@ -82,7 +82,7 @@ S3BootScriptExecutorEntryFunction (
   //\r
   // Get ACPI Table Address\r
   //\r
-  Facs = (EFI_ACPI_4_0_FIRMWARE_ACPI_CONTROL_STRUCTURE *) ((UINTN) (AcpiS3Context->AcpiFacsTable));\r
+  Facs = (EFI_ACPI_4_0_FIRMWARE_ACPI_CONTROL_STRUCTURE *)((UINTN)(AcpiS3Context->AcpiFacsTable));\r
 \r
   //\r
   // We need turn back to S3Resume - install boot script done ppi and report status code on S3resume.\r
@@ -102,13 +102,14 @@ S3BootScriptExecutorEntryFunction (
 \r
       if ((Facs != NULL) &&\r
           (Facs->Signature == EFI_ACPI_4_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_SIGNATURE) &&\r
-          (Facs->FirmwareWakingVector != 0) ) {\r
+          (Facs->FirmwareWakingVector != 0))\r
+      {\r
         //\r
         // more step needed - because relative address is handled differently between X64 and IA32.\r
         //\r
         AsmTransferControl16Address = (UINTN)AsmTransferControl16;\r
-        AsmFixAddress16 = (UINT32)AsmTransferControl16Address;\r
-        AsmJmpAddr32 = (UINT32)((Facs->FirmwareWakingVector & 0xF) | ((Facs->FirmwareWakingVector & 0xFFFF0) << 12));\r
+        AsmFixAddress16             = (UINT32)AsmTransferControl16Address;\r
+        AsmJmpAddr32                = (UINT32)((Facs->FirmwareWakingVector & 0xF) | ((Facs->FirmwareWakingVector & 0xFFFF0) << 12));\r
       }\r
 \r
       AsmDisablePaging64 (\r
@@ -136,7 +137,7 @@ S3BootScriptExecutorEntryFunction (
     //\r
     // Never run to here\r
     //\r
-    CpuDeadLoop();\r
+    CpuDeadLoop ();\r
     return EFI_UNSUPPORTED;\r
   }\r
 \r
@@ -147,10 +148,11 @@ S3BootScriptExecutorEntryFunction (
     //\r
     // Switch to native waking vector\r
     //\r
-    TempStackTop = (UINTN)&TempStack + sizeof(TempStack);\r
+    TempStackTop = (UINTN)&TempStack + sizeof (TempStack);\r
     if ((Facs->Version == EFI_ACPI_4_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_VERSION) &&\r
         ((Facs->Flags & EFI_ACPI_4_0_64BIT_WAKE_SUPPORTED_F) != 0) &&\r
-        ((Facs->OspmFlags & EFI_ACPI_4_0_OSPM_64BIT_WAKE__F) != 0)) {\r
+        ((Facs->OspmFlags & EFI_ACPI_4_0_OSPM_64BIT_WAKE__F) != 0))\r
+    {\r
       //\r
       // X64 long mode waking vector\r
       //\r
@@ -164,7 +166,7 @@ S3BootScriptExecutorEntryFunction (
           );\r
       } else {\r
         // Unsupported for 32bit DXE, 64bit OS vector\r
-        DEBUG (( DEBUG_ERROR, "Unsupported for 32bit DXE transfer to 64bit OS waking vector!\r\n"));\r
+        DEBUG ((DEBUG_ERROR, "Unsupported for 32bit DXE transfer to 64bit OS waking vector!\r\n"));\r
         ASSERT (FALSE);\r
       }\r
     } else {\r
@@ -200,7 +202,7 @@ S3BootScriptExecutorEntryFunction (
   //\r
   // Never run to here\r
   //\r
-  CpuDeadLoop();\r
+  CpuDeadLoop ();\r
   return EFI_UNSUPPORTED;\r
 }\r
 \r
@@ -215,28 +217,27 @@ S3BootScriptExecutorEntryFunction (
 **/\r
 VOID\r
 RegisterMemoryProfileImage (\r
-  IN EFI_GUID                       *FileName,\r
-  IN PHYSICAL_ADDRESS               ImageBase,\r
-  IN UINT64                         ImageSize,\r
-  IN EFI_FV_FILETYPE                FileType\r
+  IN EFI_GUID          *FileName,\r
+  IN PHYSICAL_ADDRESS  ImageBase,\r
+  IN UINT64            ImageSize,\r
+  IN EFI_FV_FILETYPE   FileType\r
   )\r
 {\r
-  EFI_STATUS                        Status;\r
-  EDKII_MEMORY_PROFILE_PROTOCOL     *ProfileProtocol;\r
-  MEDIA_FW_VOL_FILEPATH_DEVICE_PATH *FilePath;\r
-  UINT8                             TempBuffer[sizeof (MEDIA_FW_VOL_FILEPATH_DEVICE_PATH) + sizeof (EFI_DEVICE_PATH_PROTOCOL)];\r
+  EFI_STATUS                         Status;\r
+  EDKII_MEMORY_PROFILE_PROTOCOL      *ProfileProtocol;\r
+  MEDIA_FW_VOL_FILEPATH_DEVICE_PATH  *FilePath;\r
+  UINT8                              TempBuffer[sizeof (MEDIA_FW_VOL_FILEPATH_DEVICE_PATH) + sizeof (EFI_DEVICE_PATH_PROTOCOL)];\r
 \r
   if ((PcdGet8 (PcdMemoryProfilePropertyMask) & BIT0) != 0) {\r
-\r
     FilePath = (MEDIA_FW_VOL_FILEPATH_DEVICE_PATH *)TempBuffer;\r
-    Status = gBS->LocateProtocol (&gEdkiiMemoryProfileGuid, NULL, (VOID **) &ProfileProtocol);\r
+    Status   = gBS->LocateProtocol (&gEdkiiMemoryProfileGuid, NULL, (VOID **)&ProfileProtocol);\r
     if (!EFI_ERROR (Status)) {\r
       EfiInitializeFwVolDevicepathNode (FilePath, FileName);\r
       SetDevicePathEndNode (FilePath + 1);\r
 \r
       Status = ProfileProtocol->RegisterImage (\r
                                   ProfileProtocol,\r
-                                  (EFI_DEVICE_PATH_PROTOCOL *) FilePath,\r
+                                  (EFI_DEVICE_PATH_PROTOCOL *)FilePath,\r
                                   ImageBase,\r
                                   ImageSize,\r
                                   FileType\r
@@ -259,15 +260,15 @@ ReadyToLockEventNotify (
   IN VOID       *Context\r
   )\r
 {\r
-  EFI_STATUS                                    Status;\r
-  VOID                                          *Interface;\r
-  UINT8                                         *Buffer;\r
-  UINTN                                         BufferSize;\r
-  EFI_HANDLE                                    NewImageHandle;\r
-  UINTN                                         Pages;\r
-  EFI_PHYSICAL_ADDRESS                          FfsBuffer;\r
-  PE_COFF_LOADER_IMAGE_CONTEXT                  ImageContext;\r
-  EFI_GCD_MEMORY_SPACE_DESCRIPTOR               MemDesc;\r
+  EFI_STATUS                       Status;\r
+  VOID                             *Interface;\r
+  UINT8                            *Buffer;\r
+  UINTN                            BufferSize;\r
+  EFI_HANDLE                       NewImageHandle;\r
+  UINTN                            Pages;\r
+  EFI_PHYSICAL_ADDRESS             FfsBuffer;\r
+  PE_COFF_LOADER_IMAGE_CONTEXT     ImageContext;\r
+  EFI_GCD_MEMORY_SPACE_DESCRIPTOR  MemDesc;\r
 \r
   Status = gBS->LocateProtocol (&gEfiDxeSmmReadyToLockProtocolGuid, NULL, &Interface);\r
   if (EFI_ERROR (Status)) {\r
@@ -278,22 +279,22 @@ ReadyToLockEventNotify (
   // A workaround: Here we install a dummy handle\r
   //\r
   NewImageHandle = NULL;\r
-  Status = gBS->InstallProtocolInterface (\r
-                  &NewImageHandle,\r
-                  &gEfiCallerIdGuid,\r
-                  EFI_NATIVE_INTERFACE,\r
-                  NULL\r
-                  );\r
+  Status         = gBS->InstallProtocolInterface (\r
+                          &NewImageHandle,\r
+                          &gEfiCallerIdGuid,\r
+                          EFI_NATIVE_INTERFACE,\r
+                          NULL\r
+                          );\r
   ASSERT_EFI_ERROR (Status);\r
 \r
   //\r
   // Reload BootScriptExecutor image itself to RESERVED mem\r
   //\r
-  Status = GetSectionFromAnyFv  (\r
+  Status = GetSectionFromAnyFv (\r
              &gEfiCallerIdGuid,\r
              EFI_SECTION_PE32,\r
              0,\r
-             (VOID **) &Buffer,\r
+             (VOID **)&Buffer,\r
              &BufferSize\r
              );\r
   ASSERT_EFI_ERROR (Status);\r
@@ -305,24 +306,25 @@ ReadyToLockEventNotify (
   Status = PeCoffLoaderGetImageInfo (&ImageContext);\r
   ASSERT_EFI_ERROR (Status);\r
   if (ImageContext.SectionAlignment > EFI_PAGE_SIZE) {\r
-    Pages = EFI_SIZE_TO_PAGES ((UINTN) (ImageContext.ImageSize + ImageContext.SectionAlignment));\r
+    Pages = EFI_SIZE_TO_PAGES ((UINTN)(ImageContext.ImageSize + ImageContext.SectionAlignment));\r
   } else {\r
-    Pages = EFI_SIZE_TO_PAGES ((UINTN) ImageContext.ImageSize);\r
+    Pages = EFI_SIZE_TO_PAGES ((UINTN)ImageContext.ImageSize);\r
   }\r
+\r
   FfsBuffer = 0xFFFFFFFF;\r
-  Status = gBS->AllocatePages (\r
-                  AllocateMaxAddress,\r
-                  EfiReservedMemoryType,\r
-                  Pages,\r
-                  &FfsBuffer\r
-                  );\r
+  Status    = gBS->AllocatePages (\r
+                     AllocateMaxAddress,\r
+                     EfiReservedMemoryType,\r
+                     Pages,\r
+                     &FfsBuffer\r
+                     );\r
   ASSERT_EFI_ERROR (Status);\r
 \r
   //\r
   // Make sure that the buffer can be used to store code.\r
   //\r
   Status = gDS->GetMemorySpaceDescriptor (FfsBuffer, &MemDesc);\r
-  if (!EFI_ERROR (Status) && (MemDesc.Attributes & EFI_MEMORY_XP) != 0) {\r
+  if (!EFI_ERROR (Status) && ((MemDesc.Attributes & EFI_MEMORY_XP) != 0)) {\r
     gDS->SetMemorySpaceAttributes (\r
            FfsBuffer,\r
            EFI_PAGES_TO_SIZE (Pages),\r
@@ -365,7 +367,7 @@ ReadyToLockEventNotify (
     EFI_FV_FILETYPE_DRIVER\r
     );\r
 \r
-  Status = ((EFI_IMAGE_ENTRY_POINT)(UINTN)(ImageContext.EntryPoint)) (NewImageHandle, gST);\r
+  Status = ((EFI_IMAGE_ENTRY_POINT)(UINTN)(ImageContext.EntryPoint))(NewImageHandle, gST);\r
   ASSERT_EFI_ERROR (Status);\r
 \r
   //\r
@@ -398,20 +400,20 @@ ReadyToLockEventNotify (
 EFI_STATUS\r
 EFIAPI\r
 BootScriptExecutorEntryPoint (\r
-  IN EFI_HANDLE           ImageHandle,\r
-  IN EFI_SYSTEM_TABLE     *SystemTable\r
+  IN EFI_HANDLE        ImageHandle,\r
+  IN EFI_SYSTEM_TABLE  *SystemTable\r
   )\r
 {\r
-  UINTN                                         BufferSize;\r
-  UINTN                                         Pages;\r
-  BOOT_SCRIPT_EXECUTOR_VARIABLE                 *EfiBootScriptExecutorVariable;\r
-  EFI_PHYSICAL_ADDRESS                          BootScriptExecutorBuffer;\r
-  EFI_STATUS                                    Status;\r
-  VOID                                          *DevicePath;\r
-  EFI_EVENT                                     ReadyToLockEvent;\r
-  VOID                                          *Registration;\r
-  UINT32                                        RegEax;\r
-  UINT32                                        RegEdx;\r
+  UINTN                          BufferSize;\r
+  UINTN                          Pages;\r
+  BOOT_SCRIPT_EXECUTOR_VARIABLE  *EfiBootScriptExecutorVariable;\r
+  EFI_PHYSICAL_ADDRESS           BootScriptExecutorBuffer;\r
+  EFI_STATUS                     Status;\r
+  VOID                           *DevicePath;\r
+  EFI_EVENT                      ReadyToLockEvent;\r
+  VOID                           *Registration;\r
+  UINT32                         RegEax;\r
+  UINT32                         RegEdx;\r
 \r
   if (!PcdGetBool (PcdAcpiS3Enable)) {\r
     return EFI_UNSUPPORTED;\r
@@ -429,68 +431,68 @@ BootScriptExecutorEntryPoint (
   //\r
   Status = gBS->LocateProtocol (&gEfiCallerIdGuid, NULL, &DevicePath);\r
   if (EFI_ERROR (Status)) {\r
-      //\r
-      // Create ReadyToLock event to reload BootScriptExecutor image\r
-      // to RESERVED mem and save it to LockBox.\r
-      //\r
-      ReadyToLockEvent = EfiCreateProtocolNotifyEvent  (\r
-                           &gEfiDxeSmmReadyToLockProtocolGuid,\r
-                           TPL_NOTIFY,\r
-                           ReadyToLockEventNotify,\r
-                           NULL,\r
-                           &Registration\r
-                           );\r
-      ASSERT (ReadyToLockEvent != NULL);\r
-    } else {\r
-      //\r
-      // the entry point is invoked after reloading. following code only run in RESERVED mem\r
-      //\r
-      if (PcdGetBool(PcdUse1GPageTable)) {\r
-        AsmCpuid (0x80000000, &RegEax, NULL, NULL, NULL);\r
-        if (RegEax >= 0x80000001) {\r
-          AsmCpuid (0x80000001, NULL, NULL, NULL, &RegEdx);\r
-          if ((RegEdx & BIT26) != 0) {\r
-            mPage1GSupport = TRUE;\r
-          }\r
+    //\r
+    // Create ReadyToLock event to reload BootScriptExecutor image\r
+    // to RESERVED mem and save it to LockBox.\r
+    //\r
+    ReadyToLockEvent = EfiCreateProtocolNotifyEvent (\r
+                         &gEfiDxeSmmReadyToLockProtocolGuid,\r
+                         TPL_NOTIFY,\r
+                         ReadyToLockEventNotify,\r
+                         NULL,\r
+                         &Registration\r
+                         );\r
+    ASSERT (ReadyToLockEvent != NULL);\r
+  } else {\r
+    //\r
+    // the entry point is invoked after reloading. following code only run in RESERVED mem\r
+    //\r
+    if (PcdGetBool (PcdUse1GPageTable)) {\r
+      AsmCpuid (0x80000000, &RegEax, NULL, NULL, NULL);\r
+      if (RegEax >= 0x80000001) {\r
+        AsmCpuid (0x80000001, NULL, NULL, NULL, &RegEdx);\r
+        if ((RegEdx & BIT26) != 0) {\r
+          mPage1GSupport = TRUE;\r
         }\r
       }\r
+    }\r
 \r
-      BufferSize = sizeof (BOOT_SCRIPT_EXECUTOR_VARIABLE);\r
+    BufferSize = sizeof (BOOT_SCRIPT_EXECUTOR_VARIABLE);\r
 \r
-      BootScriptExecutorBuffer = 0xFFFFFFFF;\r
-      Pages = EFI_SIZE_TO_PAGES(BufferSize);\r
-      Status = gBS->AllocatePages (\r
-                      AllocateMaxAddress,\r
-                      EfiReservedMemoryType,\r
-                      Pages,\r
-                      &BootScriptExecutorBuffer\r
-                      );\r
-      ASSERT_EFI_ERROR (Status);\r
+    BootScriptExecutorBuffer = 0xFFFFFFFF;\r
+    Pages                    = EFI_SIZE_TO_PAGES (BufferSize);\r
+    Status                   = gBS->AllocatePages (\r
+                                      AllocateMaxAddress,\r
+                                      EfiReservedMemoryType,\r
+                                      Pages,\r
+                                      &BootScriptExecutorBuffer\r
+                                      );\r
+    ASSERT_EFI_ERROR (Status);\r
 \r
-      EfiBootScriptExecutorVariable = (BOOT_SCRIPT_EXECUTOR_VARIABLE *)(UINTN)BootScriptExecutorBuffer;\r
-      EfiBootScriptExecutorVariable->BootScriptExecutorEntrypoint = (UINTN) S3BootScriptExecutorEntryFunction ;\r
+    EfiBootScriptExecutorVariable                               = (BOOT_SCRIPT_EXECUTOR_VARIABLE *)(UINTN)BootScriptExecutorBuffer;\r
+    EfiBootScriptExecutorVariable->BootScriptExecutorEntrypoint = (UINTN)S3BootScriptExecutorEntryFunction;\r
 \r
-      Status = SaveLockBox (\r
-                 &gEfiBootScriptExecutorVariableGuid,\r
-                 &BootScriptExecutorBuffer,\r
-                 sizeof(BootScriptExecutorBuffer)\r
-                 );\r
-      ASSERT_EFI_ERROR (Status);\r
+    Status = SaveLockBox (\r
+               &gEfiBootScriptExecutorVariableGuid,\r
+               &BootScriptExecutorBuffer,\r
+               sizeof (BootScriptExecutorBuffer)\r
+               );\r
+    ASSERT_EFI_ERROR (Status);\r
 \r
-      //\r
-      // Additional step for BootScript integrity\r
-      // Save BootScriptExecutor context\r
-      //\r
-      Status = SaveLockBox (\r
-                 &gEfiBootScriptExecutorContextGuid,\r
-                 EfiBootScriptExecutorVariable,\r
-                 sizeof(*EfiBootScriptExecutorVariable)\r
-                 );\r
-      ASSERT_EFI_ERROR (Status);\r
-\r
-      Status = SetLockBoxAttributes (&gEfiBootScriptExecutorContextGuid, LOCK_BOX_ATTRIBUTE_RESTORE_IN_PLACE);\r
-      ASSERT_EFI_ERROR (Status);\r
-    }\r
+    //\r
+    // Additional step for BootScript integrity\r
+    // Save BootScriptExecutor context\r
+    //\r
+    Status = SaveLockBox (\r
+               &gEfiBootScriptExecutorContextGuid,\r
+               EfiBootScriptExecutorVariable,\r
+               sizeof (*EfiBootScriptExecutorVariable)\r
+               );\r
+    ASSERT_EFI_ERROR (Status);\r
+\r
+    Status = SetLockBoxAttributes (&gEfiBootScriptExecutorContextGuid, LOCK_BOX_ATTRIBUTE_RESTORE_IN_PLACE);\r
+    ASSERT_EFI_ERROR (Status);\r
+  }\r
 \r
-    return EFI_SUCCESS;\r
+  return EFI_SUCCESS;\r
 }\r