]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Library/SmmMemLib/SmmMemLib.c
MdePkg: Apply uncrustify changes
[mirror_edk2.git] / MdePkg / Library / SmmMemLib / SmmMemLib.c
index d1fc9e3e46f2925e9c7db04e61278a5e9c8458bf..ef087d0f050ba715a4e9054f823a00a73667c93c 100644 (file)
@@ -11,7 +11,6 @@
 \r
 **/\r
 \r
-\r
 #include <PiSmm.h>\r
 \r
 #include <Library/BaseLib.h>\r
 #define EFI_MEMORY_INITIALIZED  0x0200000000000000ULL\r
 #define EFI_MEMORY_TESTED       0x0400000000000000ULL\r
 \r
-EFI_SMRAM_DESCRIPTOR *mSmmMemLibInternalSmramRanges;\r
-UINTN                mSmmMemLibInternalSmramCount;\r
+EFI_SMRAM_DESCRIPTOR  *mSmmMemLibInternalSmramRanges;\r
+UINTN                 mSmmMemLibInternalSmramCount;\r
 \r
 //\r
 // Maximum support address used to check input buffer\r
 //\r
 EFI_PHYSICAL_ADDRESS  mSmmMemLibInternalMaximumSupportAddress = 0;\r
 \r
-UINTN                 mMemoryMapEntryCount;\r
-EFI_MEMORY_DESCRIPTOR *mMemoryMap;\r
-UINTN                 mDescriptorSize;\r
+UINTN                  mMemoryMapEntryCount;\r
+EFI_MEMORY_DESCRIPTOR  *mMemoryMap;\r
+UINTN                  mDescriptorSize;\r
 \r
-EFI_GCD_MEMORY_SPACE_DESCRIPTOR   *mSmmMemLibGcdMemSpace       = NULL;\r
-UINTN                             mSmmMemLibGcdMemNumberOfDesc = 0;\r
+EFI_GCD_MEMORY_SPACE_DESCRIPTOR  *mSmmMemLibGcdMemSpace       = NULL;\r
+UINTN                            mSmmMemLibGcdMemNumberOfDesc = 0;\r
 \r
 EFI_MEMORY_ATTRIBUTES_TABLE  *mSmmMemLibMemoryAttributesTable = NULL;\r
 \r
-VOID                  *mRegistrationEndOfDxe;\r
-VOID                  *mRegistrationReadyToLock;\r
+VOID  *mRegistrationEndOfDxe;\r
+VOID  *mRegistrationReadyToLock;\r
 \r
-BOOLEAN               mSmmMemLibSmmReadyToLock = FALSE;\r
+BOOLEAN  mSmmMemLibSmmReadyToLock = FALSE;\r
 \r
 /**\r
   Calculate and save the maximum support address.\r
@@ -66,25 +65,26 @@ SmmMemLibInternalCalculateMaximumSupportAddress (
   VOID\r
   )\r
 {\r
-  VOID         *Hob;\r
-  UINT32       RegEax;\r
-  UINT8        PhysicalAddressBits;\r
+  VOID    *Hob;\r
+  UINT32  RegEax;\r
+  UINT8   PhysicalAddressBits;\r
 \r
   //\r
   // Get physical address bits supported.\r
   //\r
   Hob = GetFirstHob (EFI_HOB_TYPE_CPU);\r
   if (Hob != NULL) {\r
-    PhysicalAddressBits = ((EFI_HOB_CPU *) Hob)->SizeOfMemorySpace;\r
+    PhysicalAddressBits = ((EFI_HOB_CPU *)Hob)->SizeOfMemorySpace;\r
   } else {\r
     AsmCpuid (0x80000000, &RegEax, NULL, NULL, NULL);\r
     if (RegEax >= 0x80000008) {\r
       AsmCpuid (0x80000008, &RegEax, NULL, NULL, NULL);\r
-      PhysicalAddressBits = (UINT8) RegEax;\r
+      PhysicalAddressBits = (UINT8)RegEax;\r
     } else {\r
       PhysicalAddressBits = 36;\r
     }\r
   }\r
+\r
   //\r
   // IA-32e paging translates 48-bit linear addresses to 52-bit physical addresses.\r
   //\r
@@ -124,7 +124,8 @@ SmmIsBufferOutsideSmmValid (
   //\r
   if ((Length > mSmmMemLibInternalMaximumSupportAddress) ||\r
       (Buffer > mSmmMemLibInternalMaximumSupportAddress) ||\r
-      ((Length != 0) && (Buffer > (mSmmMemLibInternalMaximumSupportAddress - (Length - 1)))) ) {\r
+      ((Length != 0) && (Buffer > (mSmmMemLibInternalMaximumSupportAddress - (Length - 1)))))\r
+  {\r
     //\r
     // Overflow happen\r
     //\r
@@ -138,9 +139,10 @@ SmmIsBufferOutsideSmmValid (
     return FALSE;\r
   }\r
 \r
-  for (Index = 0; Index < mSmmMemLibInternalSmramCount; Index ++) {\r
+  for (Index = 0; Index < mSmmMemLibInternalSmramCount; Index++) {\r
     if (((Buffer >= mSmmMemLibInternalSmramRanges[Index].CpuStart) && (Buffer < mSmmMemLibInternalSmramRanges[Index].CpuStart + mSmmMemLibInternalSmramRanges[Index].PhysicalSize)) ||\r
-        ((mSmmMemLibInternalSmramRanges[Index].CpuStart >= Buffer) && (mSmmMemLibInternalSmramRanges[Index].CpuStart < Buffer + Length))) {\r
+        ((mSmmMemLibInternalSmramRanges[Index].CpuStart >= Buffer) && (mSmmMemLibInternalSmramRanges[Index].CpuStart < Buffer + Length)))\r
+    {\r
       DEBUG ((\r
         DEBUG_ERROR,\r
         "SmmIsBufferOutsideSmmValid: Overlap: Buffer (0x%lx) - Length (0x%lx), ",\r
@@ -161,17 +163,19 @@ SmmIsBufferOutsideSmmValid (
   // Check override for Valid Communication Region\r
   //\r
   if (mSmmMemLibSmmReadyToLock) {\r
-    EFI_MEMORY_DESCRIPTOR          *MemoryMap;\r
-    BOOLEAN                        InValidCommunicationRegion;\r
+    EFI_MEMORY_DESCRIPTOR  *MemoryMap;\r
+    BOOLEAN                InValidCommunicationRegion;\r
 \r
     InValidCommunicationRegion = FALSE;\r
-    MemoryMap = mMemoryMap;\r
+    MemoryMap                  = mMemoryMap;\r
     for (Index = 0; Index < mMemoryMapEntryCount; Index++) {\r
       if ((Buffer >= MemoryMap->PhysicalStart) &&\r
-          (Buffer + Length <= MemoryMap->PhysicalStart + LShiftU64 (MemoryMap->NumberOfPages, EFI_PAGE_SHIFT))) {\r
+          (Buffer + Length <= MemoryMap->PhysicalStart + LShiftU64 (MemoryMap->NumberOfPages, EFI_PAGE_SHIFT)))\r
+      {\r
         InValidCommunicationRegion = TRUE;\r
       }\r
-      MemoryMap = NEXT_MEMORY_DESCRIPTOR(MemoryMap, mDescriptorSize);\r
+\r
+      MemoryMap = NEXT_MEMORY_DESCRIPTOR (MemoryMap, mDescriptorSize);\r
     }\r
 \r
     if (!InValidCommunicationRegion) {\r
@@ -189,7 +193,8 @@ SmmIsBufferOutsideSmmValid (
     //\r
     for (Index = 0; Index < mSmmMemLibGcdMemNumberOfDesc; Index++) {\r
       if (((Buffer >= mSmmMemLibGcdMemSpace[Index].BaseAddress) && (Buffer < mSmmMemLibGcdMemSpace[Index].BaseAddress + mSmmMemLibGcdMemSpace[Index].Length)) ||\r
-          ((mSmmMemLibGcdMemSpace[Index].BaseAddress >= Buffer) && (mSmmMemLibGcdMemSpace[Index].BaseAddress < Buffer + Length))) {\r
+          ((mSmmMemLibGcdMemSpace[Index].BaseAddress >= Buffer) && (mSmmMemLibGcdMemSpace[Index].BaseAddress < Buffer + Length)))\r
+      {\r
         DEBUG ((\r
           DEBUG_ERROR,\r
           "SmmIsBufferOutsideSmmValid: In Untested Memory Region: Buffer (0x%lx) - Length (0x%lx)\n",\r
@@ -204,14 +209,15 @@ SmmIsBufferOutsideSmmValid (
     // Check UEFI runtime memory with EFI_MEMORY_RO as invalid communication buffer.\r
     //\r
     if (mSmmMemLibMemoryAttributesTable != NULL) {\r
-      EFI_MEMORY_DESCRIPTOR *Entry;\r
+      EFI_MEMORY_DESCRIPTOR  *Entry;\r
 \r
       Entry = (EFI_MEMORY_DESCRIPTOR *)(mSmmMemLibMemoryAttributesTable + 1);\r
       for (Index = 0; Index < mSmmMemLibMemoryAttributesTable->NumberOfEntries; Index++) {\r
-        if (Entry->Type == EfiRuntimeServicesCode || Entry->Type == EfiRuntimeServicesData) {\r
+        if ((Entry->Type == EfiRuntimeServicesCode) || (Entry->Type == EfiRuntimeServicesData)) {\r
           if ((Entry->Attribute & EFI_MEMORY_RO) != 0) {\r
             if (((Buffer >= Entry->PhysicalStart) && (Buffer < Entry->PhysicalStart + LShiftU64 (Entry->NumberOfPages, EFI_PAGE_SHIFT))) ||\r
-                ((Entry->PhysicalStart >= Buffer) && (Entry->PhysicalStart < Buffer + Length))) {\r
+                ((Entry->PhysicalStart >= Buffer) && (Entry->PhysicalStart < Buffer + Length)))\r
+            {\r
               DEBUG ((\r
                 DEBUG_ERROR,\r
                 "SmmIsBufferOutsideSmmValid: In RuntimeCode Region: Buffer (0x%lx) - Length (0x%lx)\n",\r
@@ -222,10 +228,12 @@ SmmIsBufferOutsideSmmValid (
             }\r
           }\r
         }\r
+\r
         Entry = NEXT_MEMORY_DESCRIPTOR (Entry, mSmmMemLibMemoryAttributesTable->DescriptorSize);\r
       }\r
     }\r
   }\r
+\r
   return TRUE;\r
 }\r
 \r
@@ -258,6 +266,7 @@ SmmCopyMemToSmram (
     DEBUG ((DEBUG_ERROR, "SmmCopyMemToSmram: Security Violation: Source (0x%x), Length (0x%x)\n", SourceBuffer, Length));\r
     return EFI_SECURITY_VIOLATION;\r
   }\r
+\r
   CopyMem (DestinationBuffer, SourceBuffer, Length);\r
   return EFI_SUCCESS;\r
 }\r
@@ -291,6 +300,7 @@ SmmCopyMemFromSmram (
     DEBUG ((DEBUG_ERROR, "SmmCopyMemFromSmram: Security Violation: Destination (0x%x), Length (0x%x)\n", DestinationBuffer, Length));\r
     return EFI_SECURITY_VIOLATION;\r
   }\r
+\r
   CopyMem (DestinationBuffer, SourceBuffer, Length);\r
   return EFI_SUCCESS;\r
 }\r
@@ -325,10 +335,12 @@ SmmCopyMem (
     DEBUG ((DEBUG_ERROR, "SmmCopyMem: Security Violation: Destination (0x%x), Length (0x%x)\n", DestinationBuffer, Length));\r
     return EFI_SECURITY_VIOLATION;\r
   }\r
+\r
   if (!SmmIsBufferOutsideSmmValid ((EFI_PHYSICAL_ADDRESS)(UINTN)SourceBuffer, Length)) {\r
     DEBUG ((DEBUG_ERROR, "SmmCopyMem: Security Violation: Source (0x%x), Length (0x%x)\n", SourceBuffer, Length));\r
     return EFI_SECURITY_VIOLATION;\r
   }\r
+\r
   CopyMem (DestinationBuffer, SourceBuffer, Length);\r
   return EFI_SUCCESS;\r
 }\r
@@ -361,6 +373,7 @@ SmmSetMem (
     DEBUG ((DEBUG_ERROR, "SmmSetMem: Security Violation: Source (0x%x), Length (0x%x)\n", Buffer, Length));\r
     return EFI_SECURITY_VIOLATION;\r
   }\r
+\r
   SetMem (Buffer, Length, Value);\r
   return EFI_SUCCESS;\r
 }\r
@@ -381,15 +394,16 @@ SmmMemLibInternalGetGcdMemoryMap (
 \r
   Status = gDS->GetMemorySpaceMap (&NumberOfDescriptors, &MemSpaceMap);\r
   if (EFI_ERROR (Status)) {\r
-    return ;\r
+    return;\r
   }\r
 \r
   mSmmMemLibGcdMemNumberOfDesc = 0;\r
   for (Index = 0; Index < NumberOfDescriptors; Index++) {\r
-    if (MemSpaceMap[Index].GcdMemoryType == EfiGcdMemoryTypeReserved &&\r
-        (MemSpaceMap[Index].Capabilities & (EFI_MEMORY_PRESENT | EFI_MEMORY_INITIALIZED | EFI_MEMORY_TESTED)) ==\r
-          (EFI_MEMORY_PRESENT | EFI_MEMORY_INITIALIZED)\r
-          ) {\r
+    if ((MemSpaceMap[Index].GcdMemoryType == EfiGcdMemoryTypeReserved) &&\r
+        ((MemSpaceMap[Index].Capabilities & (EFI_MEMORY_PRESENT | EFI_MEMORY_INITIALIZED | EFI_MEMORY_TESTED)) ==\r
+         (EFI_MEMORY_PRESENT | EFI_MEMORY_INITIALIZED))\r
+        )\r
+    {\r
       mSmmMemLibGcdMemNumberOfDesc++;\r
     }\r
   }\r
@@ -399,19 +413,20 @@ SmmMemLibInternalGetGcdMemoryMap (
   if (mSmmMemLibGcdMemSpace == NULL) {\r
     mSmmMemLibGcdMemNumberOfDesc = 0;\r
     gBS->FreePool (MemSpaceMap);\r
-    return ;\r
+    return;\r
   }\r
 \r
   mSmmMemLibGcdMemNumberOfDesc = 0;\r
   for (Index = 0; Index < NumberOfDescriptors; Index++) {\r
-    if (MemSpaceMap[Index].GcdMemoryType == EfiGcdMemoryTypeReserved &&\r
-        (MemSpaceMap[Index].Capabilities & (EFI_MEMORY_PRESENT | EFI_MEMORY_INITIALIZED | EFI_MEMORY_TESTED)) ==\r
-          (EFI_MEMORY_PRESENT | EFI_MEMORY_INITIALIZED)\r
-          ) {\r
+    if ((MemSpaceMap[Index].GcdMemoryType == EfiGcdMemoryTypeReserved) &&\r
+        ((MemSpaceMap[Index].Capabilities & (EFI_MEMORY_PRESENT | EFI_MEMORY_INITIALIZED | EFI_MEMORY_TESTED)) ==\r
+         (EFI_MEMORY_PRESENT | EFI_MEMORY_INITIALIZED))\r
+        )\r
+    {\r
       CopyMem (\r
         &mSmmMemLibGcdMemSpace[mSmmMemLibGcdMemNumberOfDesc],\r
         &MemSpaceMap[Index],\r
-        sizeof(EFI_GCD_MEMORY_SPACE_DESCRIPTOR)\r
+        sizeof (EFI_GCD_MEMORY_SPACE_DESCRIPTOR)\r
         );\r
       mSmmMemLibGcdMemNumberOfDesc++;\r
     }\r
@@ -434,7 +449,7 @@ SmmMemLibInternalGetUefiMemoryAttributesTable (
 \r
   Status = EfiGetSystemConfigurationTable (&gEfiMemoryAttributesTableGuid, (VOID **)&MemoryAttributesTable);\r
   if (!EFI_ERROR (Status) && (MemoryAttributesTable != NULL)) {\r
-    MemoryAttributesTableSize = sizeof(EFI_MEMORY_ATTRIBUTES_TABLE) + MemoryAttributesTable->DescriptorSize * MemoryAttributesTable->NumberOfEntries;\r
+    MemoryAttributesTableSize       = sizeof (EFI_MEMORY_ATTRIBUTES_TABLE) + MemoryAttributesTable->DescriptorSize * MemoryAttributesTable->NumberOfEntries;\r
     mSmmMemLibMemoryAttributesTable = AllocateCopyPool (MemoryAttributesTableSize, MemoryAttributesTable);\r
     ASSERT (mSmmMemLibMemoryAttributesTable != NULL);\r
   }\r
@@ -457,26 +472,26 @@ SmmLibInternalEndOfDxeNotify (
   IN EFI_HANDLE      Handle\r
   )\r
 {\r
-  EFI_STATUS            Status;\r
-  UINTN                 MapKey;\r
-  UINTN                 MemoryMapSize;\r
-  EFI_MEMORY_DESCRIPTOR *MemoryMap;\r
-  EFI_MEMORY_DESCRIPTOR *MemoryMapStart;\r
-  EFI_MEMORY_DESCRIPTOR *SmmMemoryMapStart;\r
-  UINTN                 MemoryMapEntryCount;\r
-  UINTN                 DescriptorSize;\r
-  UINT32                DescriptorVersion;\r
-  UINTN                 Index;\r
+  EFI_STATUS             Status;\r
+  UINTN                  MapKey;\r
+  UINTN                  MemoryMapSize;\r
+  EFI_MEMORY_DESCRIPTOR  *MemoryMap;\r
+  EFI_MEMORY_DESCRIPTOR  *MemoryMapStart;\r
+  EFI_MEMORY_DESCRIPTOR  *SmmMemoryMapStart;\r
+  UINTN                  MemoryMapEntryCount;\r
+  UINTN                  DescriptorSize;\r
+  UINT32                 DescriptorVersion;\r
+  UINTN                  Index;\r
 \r
   MemoryMapSize = 0;\r
-  MemoryMap = NULL;\r
-  Status = gBS->GetMemoryMap (\r
-             &MemoryMapSize,\r
-             MemoryMap,\r
-             &MapKey,\r
-             &DescriptorSize,\r
-             &DescriptorVersion\r
-             );\r
+  MemoryMap     = NULL;\r
+  Status        = gBS->GetMemoryMap (\r
+                         &MemoryMapSize,\r
+                         MemoryMap,\r
+                         &MapKey,\r
+                         &DescriptorSize,\r
+                         &DescriptorVersion\r
+                         );\r
   ASSERT (Status == EFI_BUFFER_TOO_SMALL);\r
 \r
   do {\r
@@ -484,12 +499,12 @@ SmmLibInternalEndOfDxeNotify (
     ASSERT (MemoryMap != NULL);\r
 \r
     Status = gBS->GetMemoryMap (\r
-               &MemoryMapSize,\r
-               MemoryMap,\r
-               &MapKey,\r
-               &DescriptorSize,\r
-               &DescriptorVersion\r
-               );\r
+                    &MemoryMapSize,\r
+                    MemoryMap,\r
+                    &MapKey,\r
+                    &DescriptorSize,\r
+                    &DescriptorVersion\r
+                    );\r
     if (EFI_ERROR (Status)) {\r
       gBS->FreePool (MemoryMap);\r
     }\r
@@ -498,21 +513,23 @@ SmmLibInternalEndOfDxeNotify (
   //\r
   // Get Count\r
   //\r
-  mDescriptorSize = DescriptorSize;\r
-  MemoryMapEntryCount = MemoryMapSize/DescriptorSize;\r
-  MemoryMapStart = MemoryMap;\r
+  mDescriptorSize      = DescriptorSize;\r
+  MemoryMapEntryCount  = MemoryMapSize/DescriptorSize;\r
+  MemoryMapStart       = MemoryMap;\r
   mMemoryMapEntryCount = 0;\r
   for (Index = 0; Index < MemoryMapEntryCount; Index++) {\r
     switch (MemoryMap->Type) {\r
-    case EfiReservedMemoryType:\r
-    case EfiRuntimeServicesCode:\r
-    case EfiRuntimeServicesData:\r
-    case EfiACPIMemoryNVS:\r
-      mMemoryMapEntryCount++;\r
-      break;\r
+      case EfiReservedMemoryType:\r
+      case EfiRuntimeServicesCode:\r
+      case EfiRuntimeServicesData:\r
+      case EfiACPIMemoryNVS:\r
+        mMemoryMapEntryCount++;\r
+        break;\r
     }\r
-    MemoryMap = NEXT_MEMORY_DESCRIPTOR(MemoryMap, DescriptorSize);\r
+\r
+    MemoryMap = NEXT_MEMORY_DESCRIPTOR (MemoryMap, DescriptorSize);\r
   }\r
+\r
   MemoryMap = MemoryMapStart;\r
 \r
   //\r
@@ -523,18 +540,20 @@ SmmLibInternalEndOfDxeNotify (
   SmmMemoryMapStart = mMemoryMap;\r
   for (Index = 0; Index < MemoryMapEntryCount; Index++) {\r
     switch (MemoryMap->Type) {\r
-    case EfiReservedMemoryType:\r
-    case EfiRuntimeServicesCode:\r
-    case EfiRuntimeServicesData:\r
-    case EfiACPIMemoryNVS:\r
-      CopyMem (mMemoryMap, MemoryMap, DescriptorSize);\r
-      mMemoryMap = NEXT_MEMORY_DESCRIPTOR(mMemoryMap, DescriptorSize);\r
-      break;\r
+      case EfiReservedMemoryType:\r
+      case EfiRuntimeServicesCode:\r
+      case EfiRuntimeServicesData:\r
+      case EfiACPIMemoryNVS:\r
+        CopyMem (mMemoryMap, MemoryMap, DescriptorSize);\r
+        mMemoryMap = NEXT_MEMORY_DESCRIPTOR (mMemoryMap, DescriptorSize);\r
+        break;\r
     }\r
-    MemoryMap = NEXT_MEMORY_DESCRIPTOR(MemoryMap, DescriptorSize);\r
+\r
+    MemoryMap = NEXT_MEMORY_DESCRIPTOR (MemoryMap, DescriptorSize);\r
   }\r
+\r
   mMemoryMap = SmmMemoryMapStart;\r
-  MemoryMap = MemoryMapStart;\r
+  MemoryMap  = MemoryMapStart;\r
 \r
   gBS->FreePool (MemoryMap);\r
 \r
@@ -571,6 +590,7 @@ SmmLibInternalReadyToLockNotify (
   mSmmMemLibSmmReadyToLock = TRUE;\r
   return EFI_SUCCESS;\r
 }\r
+\r
 /**\r
   The constructor function initializes the Smm Mem library\r
 \r
@@ -587,9 +607,9 @@ SmmMemLibConstructor (
   IN EFI_SYSTEM_TABLE  *SystemTable\r
   )\r
 {\r
-  EFI_STATUS                    Status;\r
-  EFI_SMM_ACCESS2_PROTOCOL      *SmmAccess;\r
-  UINTN                         Size;\r
+  EFI_STATUS                Status;\r
+  EFI_SMM_ACCESS2_PROTOCOL  *SmmAccess;\r
+  UINTN                     Size;\r
 \r
   //\r
   // Get SMRAM information\r
@@ -597,7 +617,7 @@ SmmMemLibConstructor (
   Status = gBS->LocateProtocol (&gEfiSmmAccess2ProtocolGuid, NULL, (VOID **)&SmmAccess);\r
   ASSERT_EFI_ERROR (Status);\r
 \r
-  Size = 0;\r
+  Size   = 0;\r
   Status = SmmAccess->GetCapabilities (SmmAccess, &Size, NULL);\r
   ASSERT (Status == EFI_BUFFER_TOO_SMALL);\r
 \r