]> git.proxmox.com Git - mirror_edk2.git/blobdiff - UefiPayloadPkg/BlSupportSmm/BlSupportSmm.c
UefiPayloadPkg: Apply uncrustify changes
[mirror_edk2.git] / UefiPayloadPkg / BlSupportSmm / BlSupportSmm.c
index 2283b6b4af22d70487913b2234d9a27ee0f567ca..dcc4d60bb2c0b4471dd4828ed24ce33c9b98a068 100644 (file)
 \r
 #include <BlSupportSmm.h>\r
 \r
-PLD_S3_COMMUNICATION              mPldS3Hob;\r
-EFI_SMRAM_HOB_DESCRIPTOR_BLOCK    *mSmramHob         = NULL;\r
-PLD_SMM_REGISTERS                 *mSmmRegisterHob   = NULL;;\r
-UINT64                            mSmmFeatureControl = 0;\r
+PLD_S3_COMMUNICATION            mPldS3Hob;\r
+EFI_SMRAM_HOB_DESCRIPTOR_BLOCK  *mSmramHob         = NULL;\r
+PLD_SMM_REGISTERS               *mSmmRegisterHob   = NULL;\r
+UINT64                          mSmmFeatureControl = 0;\r
 \r
 /**\r
   Save SMM rebase and SMI handler information to SMM communication area\r
@@ -33,24 +33,26 @@ UINT64                            mSmmFeatureControl = 0;
 **/\r
 EFI_STATUS\r
 SaveSmmInfoForS3 (\r
-  IN UINT8                         BlSwSmiHandlerInput\r
+  IN UINT8  BlSwSmiHandlerInput\r
   )\r
 {\r
-  EFI_STATUS                       Status;\r
-  EFI_PROCESSOR_INFORMATION        ProcessorInfo;\r
-  EFI_MP_SERVICES_PROTOCOL         *MpService;\r
-  CPU_SMMBASE                      *SmmBaseInfo;\r
-  PLD_TO_BL_SMM_INFO               *PldSmmInfo;\r
-  UINTN                            Index;\r
-\r
-  PldSmmInfo = (PLD_TO_BL_SMM_INFO *)(UINTN)mPldS3Hob.CommBuffer.PhysicalStart;\r
+  EFI_STATUS                 Status;\r
+  EFI_PROCESSOR_INFORMATION  ProcessorInfo;\r
+  EFI_MP_SERVICES_PROTOCOL   *MpService;\r
+  CPU_SMMBASE                *SmmBaseInfo;\r
+  PLD_TO_BL_SMM_INFO         *PldSmmInfo;\r
+  UINTN                      Index;\r
+\r
+  PldSmmInfo                          = (PLD_TO_BL_SMM_INFO *)(UINTN)mPldS3Hob.CommBuffer.PhysicalStart;\r
   PldSmmInfo->Header.Header.HobLength = (UINT16)(sizeof (PLD_TO_BL_SMM_INFO) + gSmst->NumberOfCpus * sizeof (CPU_SMMBASE));\r
   for (Index = 0; Index < mSmramHob->NumberOfSmmReservedRegions; Index++) {\r
     if ((mPldS3Hob.CommBuffer.PhysicalStart >= mSmramHob->Descriptor[Index].PhysicalStart) &&\r
-        (mPldS3Hob.CommBuffer.PhysicalStart <  mSmramHob->Descriptor[Index].PhysicalStart + mSmramHob->Descriptor[Index].PhysicalSize)) {\r
+        (mPldS3Hob.CommBuffer.PhysicalStart <  mSmramHob->Descriptor[Index].PhysicalStart + mSmramHob->Descriptor[Index].PhysicalSize))\r
+    {\r
       break;\r
     }\r
   }\r
+\r
   if (Index == mSmramHob->NumberOfSmmReservedRegions) {\r
     return EFI_NOT_FOUND;\r
   }\r
@@ -76,14 +78,15 @@ SaveSmmInfoForS3 (
   // Save APIC ID and SMM base\r
   //\r
   Status = gBS->LocateProtocol (&gEfiMpServiceProtocolGuid, NULL, (VOID **)&MpService);\r
-  if (EFI_ERROR(Status)) {\r
+  if (EFI_ERROR (Status)) {\r
     return Status;\r
   }\r
-  PldSmmInfo->S3Info.CpuCount         = (UINT32)gSmst->NumberOfCpus;\r
-  SmmBaseInfo = &PldSmmInfo->S3Info.SmmBase[0];\r
+\r
+  PldSmmInfo->S3Info.CpuCount = (UINT32)gSmst->NumberOfCpus;\r
+  SmmBaseInfo                 = &PldSmmInfo->S3Info.SmmBase[0];\r
   for (Index = 0; Index < gSmst->NumberOfCpus; Index++) {\r
     Status = MpService->GetProcessorInfo (MpService, Index, &ProcessorInfo);\r
-    if (EFI_ERROR(Status)) {\r
+    if (EFI_ERROR (Status)) {\r
       return Status;\r
     }\r
 \r
@@ -96,7 +99,6 @@ SaveSmmInfoForS3 (
   return EFI_SUCCESS;\r
 }\r
 \r
-\r
 /**\r
   Get specified SMI register based on given register ID\r
 \r
@@ -108,16 +110,17 @@ SaveSmmInfoForS3 (
 **/\r
 PLD_GENERIC_REGISTER *\r
 GetRegisterById (\r
-  UINT64                Id\r
+  UINT64  Id\r
   )\r
 {\r
-  UINT32                Index;\r
+  UINT32  Index;\r
 \r
   for (Index = 0; Index < mSmmRegisterHob->Count; Index++) {\r
     if (mSmmRegisterHob->Registers[Index].Id == Id) {\r
       return &mSmmRegisterHob->Registers[Index];\r
     }\r
   }\r
+\r
   return NULL;\r
 }\r
 \r
@@ -130,9 +133,9 @@ LockSmiGlobalEn (
   VOID\r
   )\r
 {\r
-  PLD_GENERIC_REGISTER       *SmiLockReg;\r
+  PLD_GENERIC_REGISTER  *SmiLockReg;\r
 \r
-    DEBUG ((DEBUG_ERROR, "LockSmiGlobalEn .....\n"));\r
+  DEBUG ((DEBUG_ERROR, "LockSmiGlobalEn .....\n"));\r
 \r
   SmiLockReg = GetRegisterById (REGISTER_ID_SMI_GBL_EN_LOCK);\r
   if (SmiLockReg == NULL) {\r
@@ -147,7 +150,8 @@ LockSmiGlobalEn (
       (SmiLockReg->Address.Address          != 0) &&\r
       (SmiLockReg->Address.RegisterBitWidth == 1) &&\r
       (SmiLockReg->Address.AddressSpaceId   == EFI_ACPI_3_0_SYSTEM_MEMORY) &&\r
-      (SmiLockReg->Value == 1)) {\r
+      (SmiLockReg->Value == 1))\r
+  {\r
     DEBUG ((DEBUG_ERROR, "LockSmiGlobalEn ....is locked\n"));\r
 \r
     MmioOr32 ((UINT32)SmiLockReg->Address.Address, 1 << SmiLockReg->Address.RegisterBitOffset);\r
@@ -166,22 +170,20 @@ SmmFeatureLockOnS3 (
   VOID\r
   )\r
 {\r
-\r
   if (mSmmFeatureControl != 0) {\r
     return;\r
   }\r
 \r
-  mSmmFeatureControl = AsmReadMsr64(MSR_SMM_FEATURE_CONTROL);\r
+  mSmmFeatureControl = AsmReadMsr64 (MSR_SMM_FEATURE_CONTROL);\r
   if ((mSmmFeatureControl & 0x5) != 0x5) {\r
     //\r
     // Set Lock bit [BIT0] for this register and SMM code check enable bit [BIT2]\r
     //\r
     AsmWriteMsr64 (MSR_SMM_FEATURE_CONTROL, mSmmFeatureControl | 0x5);\r
   }\r
-  mSmmFeatureControl = AsmReadMsr64(MSR_SMM_FEATURE_CONTROL);\r
-}\r
-\r
 \r
+  mSmmFeatureControl = AsmReadMsr64 (MSR_SMM_FEATURE_CONTROL);\r
+}\r
 \r
 /**\r
   Function to program SMRR base and mask.\r
@@ -190,7 +192,7 @@ SmmFeatureLockOnS3 (
 **/\r
 VOID\r
 SetSmrr (\r
-  IN VOID                   *ProcedureArgument\r
+  IN VOID  *ProcedureArgument\r
   )\r
 {\r
   if (ProcedureArgument != NULL) {\r
@@ -208,11 +210,11 @@ SetSmrrOnS3 (
   VOID\r
   )\r
 {\r
-  EFI_STATUS            Status;\r
-  SMRR_BASE_MASK        Arguments;\r
-  UINTN                 Index;\r
-  UINT32                SmmBase;\r
-  UINT32                SmmSize;\r
+  EFI_STATUS      Status;\r
+  SMRR_BASE_MASK  Arguments;\r
+  UINTN           Index;\r
+  UINT32          SmmBase;\r
+  UINT32          SmmSize;\r
 \r
   if ((AsmReadMsr64 (MSR_IA32_SMRR_PHYSBASE) != 0) && ((AsmReadMsr64 (MSR_IA32_SMRR_PHYSMASK) & BIT11) != 0)) {\r
     return;\r
@@ -224,18 +226,19 @@ SetSmrrOnS3 (
     DEBUG ((DEBUG_ERROR, "%d SMM ranges are not supported.\n", mSmramHob->NumberOfSmmReservedRegions));\r
     return;\r
   } else if (mSmramHob->NumberOfSmmReservedRegions == 2) {\r
-    if ((mSmramHob->Descriptor[1].PhysicalStart + mSmramHob->Descriptor[1].PhysicalSize) == SmmBase){\r
+    if ((mSmramHob->Descriptor[1].PhysicalStart + mSmramHob->Descriptor[1].PhysicalSize) == SmmBase) {\r
       SmmBase = (UINT32)(UINTN)mSmramHob->Descriptor[1].PhysicalStart;\r
     } else if (mSmramHob->Descriptor[1].PhysicalStart != (SmmBase + SmmSize)) {\r
       DEBUG ((DEBUG_ERROR, "Two SMM regions are not continous.\n"));\r
       return;\r
     }\r
+\r
     SmmSize += (UINT32)(UINTN)mSmramHob->Descriptor[1].PhysicalSize;\r
   }\r
 \r
   if ((SmmBase == 0) || (SmmSize < SIZE_4KB)) {\r
     DEBUG ((DEBUG_ERROR, "Invalid SMM range.\n"));\r
-    return ;\r
+    return;\r
   }\r
 \r
   //\r
@@ -244,7 +247,7 @@ SetSmrrOnS3 (
   //\r
   if ((SmmSize != GetPowerOfTwo32 (SmmSize)) || ((SmmBase & ~(SmmSize - 1)) != SmmBase)) {\r
     DEBUG ((DEBUG_ERROR, " Invalid SMM range.\n"));\r
-    return ;\r
+    return;\r
   }\r
 \r
   //\r
@@ -261,18 +264,17 @@ SetSmrrOnS3 (
   //\r
   // Program smrr base and mask on BSP first and then on APs\r
   //\r
-  SetSmrr(&Arguments);\r
+  SetSmrr (&Arguments);\r
   for (Index = 0; Index < gSmst->NumberOfCpus; Index++) {\r
     if (Index != gSmst->CurrentlyExecutingCpu) {\r
       Status = gSmst->SmmStartupThisAp (SetSmrr, Index, (VOID *)&Arguments);\r
-      if (EFI_ERROR(Status)) {\r
+      if (EFI_ERROR (Status)) {\r
         DEBUG ((DEBUG_ERROR, "Programming SMRR on AP# %d status: %r\n", Index, Status));\r
       }\r
     }\r
   }\r
 }\r
 \r
-\r
 /**\r
   Software SMI callback for restoring SMRR base and mask in S3 path.\r
 \r
@@ -289,10 +291,10 @@ SetSmrrOnS3 (
 EFI_STATUS\r
 EFIAPI\r
 BlSwSmiHandler (\r
-  IN EFI_HANDLE                  DispatchHandle,\r
-  IN CONST VOID                  *Context,\r
-  IN OUT VOID                    *CommBuffer,\r
-  IN OUT UINTN                   *CommBufferSize\r
+  IN EFI_HANDLE  DispatchHandle,\r
+  IN CONST VOID  *Context,\r
+  IN OUT VOID    *CommBuffer,\r
+  IN OUT UINTN   *CommBufferSize\r
   )\r
 {\r
   SetSmrrOnS3 ();\r
@@ -302,7 +304,6 @@ BlSwSmiHandler (
   return EFI_SUCCESS;\r
 }\r
 \r
-\r
 /**\r
   Lock SMI in this SMM ready to lock event.\r
 \r
@@ -316,9 +317,9 @@ BlSwSmiHandler (
 EFI_STATUS\r
 EFIAPI\r
 BlSupportSmmReadyToLockCallback (\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
   //\r
@@ -328,7 +329,6 @@ BlSupportSmmReadyToLockCallback (
   return EFI_SUCCESS;\r
 }\r
 \r
-\r
 /**\r
   The driver's entry point.\r
 \r
@@ -342,8 +342,8 @@ BlSupportSmmReadyToLockCallback (
 EFI_STATUS\r
 EFIAPI\r
 BlSupportSmm (\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
   EFI_STATUS                     Status;\r
@@ -359,8 +359,8 @@ BlSupportSmm (
   //\r
   GuidHob = GetFirstGuidHob (&gS3CommunicationGuid);\r
   if (GuidHob != NULL) {\r
-    SmmHob = (VOID *) (GET_GUID_HOB_DATA(GuidHob));\r
-    CopyMem (&mPldS3Hob, SmmHob, GET_GUID_HOB_DATA_SIZE(GuidHob));\r
+    SmmHob = (VOID *)(GET_GUID_HOB_DATA (GuidHob));\r
+    CopyMem (&mPldS3Hob, SmmHob, GET_GUID_HOB_DATA_SIZE (GuidHob));\r
   } else {\r
     return EFI_NOT_FOUND;\r
   }\r
@@ -375,12 +375,13 @@ BlSupportSmm (
   //\r
   GuidHob = GetFirstGuidHob (&gEfiSmmSmramMemoryGuid);\r
   if (GuidHob != NULL) {\r
-    SmmHob = (VOID *) (GET_GUID_HOB_DATA(GuidHob));\r
-    mSmramHob = AllocatePool (GET_GUID_HOB_DATA_SIZE(GuidHob));\r
+    SmmHob    = (VOID *)(GET_GUID_HOB_DATA (GuidHob));\r
+    mSmramHob = AllocatePool (GET_GUID_HOB_DATA_SIZE (GuidHob));\r
     if (mSmramHob == NULL) {\r
       return EFI_OUT_OF_RESOURCES;\r
     }\r
-    CopyMem (mSmramHob, SmmHob, GET_GUID_HOB_DATA_SIZE(GuidHob));\r
+\r
+    CopyMem (mSmramHob, SmmHob, GET_GUID_HOB_DATA_SIZE (GuidHob));\r
   } else {\r
     return EFI_NOT_FOUND;\r
   }\r
@@ -390,12 +391,13 @@ BlSupportSmm (
   //\r
   GuidHob = GetFirstGuidHob (&gSmmRegisterInfoGuid);\r
   if (GuidHob != NULL) {\r
-    SmmHob = (VOID *) (GET_GUID_HOB_DATA(GuidHob));\r
-    mSmmRegisterHob = AllocatePool (GET_GUID_HOB_DATA_SIZE(GuidHob));\r
+    SmmHob          = (VOID *)(GET_GUID_HOB_DATA (GuidHob));\r
+    mSmmRegisterHob = AllocatePool (GET_GUID_HOB_DATA_SIZE (GuidHob));\r
     if (mSmmRegisterHob == NULL) {\r
       return EFI_OUT_OF_RESOURCES;\r
     }\r
-    CopyMem (mSmmRegisterHob, SmmHob, GET_GUID_HOB_DATA_SIZE(GuidHob));\r
+\r
+    CopyMem (mSmmRegisterHob, SmmHob, GET_GUID_HOB_DATA_SIZE (GuidHob));\r
   } else {\r
     return EFI_NOT_FOUND;\r
   }\r
@@ -403,12 +405,13 @@ BlSupportSmm (
   //\r
   // Get the Sw dispatch protocol and register SMI handler.\r
   //\r
-  Status = gSmst->SmmLocateProtocol (&gEfiSmmSwDispatch2ProtocolGuid, NULL, (VOID**)&SwDispatch);\r
+  Status = gSmst->SmmLocateProtocol (&gEfiSmmSwDispatch2ProtocolGuid, NULL, (VOID **)&SwDispatch);\r
   if (EFI_ERROR (Status)) {\r
     return Status;\r
   }\r
-  SwContext.SwSmiInputValue = (UINTN) -1;\r
-  Status = SwDispatch->Register (SwDispatch, BlSwSmiHandler, &SwContext, &SwHandle);\r
+\r
+  SwContext.SwSmiInputValue = (UINTN)-1;\r
+  Status                    = SwDispatch->Register (SwDispatch, BlSwSmiHandler, &SwContext, &SwHandle);\r
   if (EFI_ERROR (Status)) {\r
     DEBUG ((DEBUG_ERROR, "Registering S3 smi handler failed: %r\n", Status));\r
     return Status;\r
@@ -428,4 +431,3 @@ BlSupportSmm (
 \r
   return EFI_SUCCESS;\r
 }\r
-\r