]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ArmPlatformPkg/MemoryInitPei/MemoryInitPeiLib.c
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / ArmPlatformPkg / MemoryInitPei / MemoryInitPeiLib.c
index 1163e86381dbff93db002af0a8ada9ed516be9c6..d7afccfb854b8891c42f927cad13e01e2e779d91 100644 (file)
@@ -26,12 +26,11 @@ InitMmu (
   IN ARM_MEMORY_REGION_DESCRIPTOR  *MemoryTable\r
   )\r
 {\r
+  VOID           *TranslationTableBase;\r
+  UINTN          TranslationTableSize;\r
+  RETURN_STATUS  Status;\r
 \r
-  VOID                          *TranslationTableBase;\r
-  UINTN                         TranslationTableSize;\r
-  RETURN_STATUS                 Status;\r
-\r
-  //Note: Because we called PeiServicesInstallPeiMemory() before to call InitMmu() the MMU Page Table resides in\r
+  // Note: Because we called PeiServicesInstallPeiMemory() before to call InitMmu() the MMU Page Table resides in\r
   //      DRAM (even at the top of DRAM as it is the first permanent memory allocation)\r
   Status = ArmConfigureMmu (MemoryTable, &TranslationTableBase, &TranslationTableSize);\r
   if (EFI_ERROR (Status)) {\r
@@ -58,18 +57,18 @@ Returns:
 EFI_STATUS\r
 EFIAPI\r
 MemoryPeim (\r
-  IN EFI_PHYSICAL_ADDRESS               UefiMemoryBase,\r
-  IN UINT64                             UefiMemorySize\r
+  IN EFI_PHYSICAL_ADDRESS  UefiMemoryBase,\r
+  IN UINT64                UefiMemorySize\r
   )\r
 {\r
-  ARM_MEMORY_REGION_DESCRIPTOR *MemoryTable;\r
-  EFI_RESOURCE_ATTRIBUTE_TYPE  ResourceAttributes;\r
-  UINT64                       ResourceLength;\r
-  EFI_PEI_HOB_POINTERS         NextHob;\r
-  EFI_PHYSICAL_ADDRESS         FdTop;\r
-  EFI_PHYSICAL_ADDRESS         SystemMemoryTop;\r
-  EFI_PHYSICAL_ADDRESS         ResourceTop;\r
-  BOOLEAN                      Found;\r
+  ARM_MEMORY_REGION_DESCRIPTOR  *MemoryTable;\r
+  EFI_RESOURCE_ATTRIBUTE_TYPE   ResourceAttributes;\r
+  UINT64                        ResourceLength;\r
+  EFI_PEI_HOB_POINTERS          NextHob;\r
+  EFI_PHYSICAL_ADDRESS          FdTop;\r
+  EFI_PHYSICAL_ADDRESS          SystemMemoryTop;\r
+  EFI_PHYSICAL_ADDRESS          ResourceTop;\r
+  BOOLEAN                       Found;\r
 \r
   // Get Virtual Memory Map from the Platform Library\r
   ArmPlatformGetVirtualMemoryMap (&MemoryTable);\r
@@ -81,18 +80,18 @@ MemoryPeim (
   // Now, the permanent memory has been installed, we can call AllocatePages()\r
   //\r
   ResourceAttributes = (\r
-      EFI_RESOURCE_ATTRIBUTE_PRESENT |\r
-      EFI_RESOURCE_ATTRIBUTE_INITIALIZED |\r
-      EFI_RESOURCE_ATTRIBUTE_WRITE_COMBINEABLE |\r
-      EFI_RESOURCE_ATTRIBUTE_WRITE_THROUGH_CACHEABLE |\r
-      EFI_RESOURCE_ATTRIBUTE_WRITE_BACK_CACHEABLE |\r
-      EFI_RESOURCE_ATTRIBUTE_TESTED\r
-  );\r
+                        EFI_RESOURCE_ATTRIBUTE_PRESENT |\r
+                        EFI_RESOURCE_ATTRIBUTE_INITIALIZED |\r
+                        EFI_RESOURCE_ATTRIBUTE_WRITE_COMBINEABLE |\r
+                        EFI_RESOURCE_ATTRIBUTE_WRITE_THROUGH_CACHEABLE |\r
+                        EFI_RESOURCE_ATTRIBUTE_WRITE_BACK_CACHEABLE |\r
+                        EFI_RESOURCE_ATTRIBUTE_TESTED\r
+                        );\r
 \r
   //\r
   // Check if the resource for the main system memory has been declared\r
   //\r
-  Found = FALSE;\r
+  Found       = FALSE;\r
   NextHob.Raw = GetHobList ();\r
   while ((NextHob.Raw = GetNextHob (EFI_HOB_TYPE_RESOURCE_DESCRIPTOR, NextHob.Raw)) != NULL) {\r
     if ((NextHob.ResourceDescriptor->ResourceType == EFI_RESOURCE_SYSTEM_MEMORY) &&\r
@@ -102,17 +101,18 @@ MemoryPeim (
       Found = TRUE;\r
       break;\r
     }\r
+\r
     NextHob.Raw = GET_NEXT_HOB (NextHob);\r
   }\r
 \r
   if (!Found) {\r
     // Reserved the memory space occupied by the firmware volume\r
     BuildResourceDescriptorHob (\r
-        EFI_RESOURCE_SYSTEM_MEMORY,\r
-        ResourceAttributes,\r
-        PcdGet64 (PcdSystemMemoryBase),\r
-        PcdGet64 (PcdSystemMemorySize)\r
-    );\r
+      EFI_RESOURCE_SYSTEM_MEMORY,\r
+      ResourceAttributes,\r
+      PcdGet64 (PcdSystemMemoryBase),\r
+      PcdGet64 (PcdSystemMemorySize)\r
+      );\r
   }\r
 \r
   //\r
@@ -120,7 +120,7 @@ MemoryPeim (
   //\r
 \r
   SystemMemoryTop = (EFI_PHYSICAL_ADDRESS)PcdGet64 (PcdSystemMemoryBase) + (EFI_PHYSICAL_ADDRESS)PcdGet64 (PcdSystemMemorySize);\r
-  FdTop = (EFI_PHYSICAL_ADDRESS)PcdGet64 (PcdFdBaseAddress) + (EFI_PHYSICAL_ADDRESS)PcdGet32 (PcdFdSize);\r
+  FdTop           = (EFI_PHYSICAL_ADDRESS)PcdGet64 (PcdFdBaseAddress) + (EFI_PHYSICAL_ADDRESS)PcdGet32 (PcdFdSize);\r
 \r
   // EDK2 does not have the concept of boot firmware copied into DRAM. To avoid the DXE\r
   // core to overwrite this area we must create a memory allocation HOB for the region,\r
@@ -136,27 +136,31 @@ MemoryPeim (
           (FdTop <= NextHob.ResourceDescriptor->PhysicalStart + NextHob.ResourceDescriptor->ResourceLength))\r
       {\r
         ResourceAttributes = NextHob.ResourceDescriptor->ResourceAttribute;\r
-        ResourceLength = NextHob.ResourceDescriptor->ResourceLength;\r
-        ResourceTop = NextHob.ResourceDescriptor->PhysicalStart + ResourceLength;\r
+        ResourceLength     = NextHob.ResourceDescriptor->ResourceLength;\r
+        ResourceTop        = NextHob.ResourceDescriptor->PhysicalStart + ResourceLength;\r
 \r
         if (PcdGet64 (PcdFdBaseAddress) == NextHob.ResourceDescriptor->PhysicalStart) {\r
           if (SystemMemoryTop != FdTop) {\r
             // Create the System Memory HOB for the firmware\r
-            BuildResourceDescriptorHob (EFI_RESOURCE_SYSTEM_MEMORY,\r
-                                        ResourceAttributes,\r
-                                        PcdGet64 (PcdFdBaseAddress),\r
-                                        PcdGet32 (PcdFdSize));\r
+            BuildResourceDescriptorHob (\r
+              EFI_RESOURCE_SYSTEM_MEMORY,\r
+              ResourceAttributes,\r
+              PcdGet64 (PcdFdBaseAddress),\r
+              PcdGet32 (PcdFdSize)\r
+              );\r
 \r
             // Top of the FD is system memory available for UEFI\r
-            NextHob.ResourceDescriptor->PhysicalStart += PcdGet32(PcdFdSize);\r
-            NextHob.ResourceDescriptor->ResourceLength -= PcdGet32(PcdFdSize);\r
+            NextHob.ResourceDescriptor->PhysicalStart  += PcdGet32 (PcdFdSize);\r
+            NextHob.ResourceDescriptor->ResourceLength -= PcdGet32 (PcdFdSize);\r
           }\r
         } else {\r
           // Create the System Memory HOB for the firmware\r
-          BuildResourceDescriptorHob (EFI_RESOURCE_SYSTEM_MEMORY,\r
-                                      ResourceAttributes,\r
-                                      PcdGet64 (PcdFdBaseAddress),\r
-                                      PcdGet32 (PcdFdSize));\r
+          BuildResourceDescriptorHob (\r
+            EFI_RESOURCE_SYSTEM_MEMORY,\r
+            ResourceAttributes,\r
+            PcdGet64 (PcdFdBaseAddress),\r
+            PcdGet32 (PcdFdSize)\r
+            );\r
 \r
           // Update the HOB\r
           NextHob.ResourceDescriptor->ResourceLength = PcdGet64 (PcdFdBaseAddress) - NextHob.ResourceDescriptor->PhysicalStart;\r
@@ -164,25 +168,30 @@ MemoryPeim (
           // If there is some memory available on the top of the FD then create a HOB\r
           if (FdTop < NextHob.ResourceDescriptor->PhysicalStart + ResourceLength) {\r
             // Create the System Memory HOB for the remaining region (top of the FD)\r
-            BuildResourceDescriptorHob (EFI_RESOURCE_SYSTEM_MEMORY,\r
-                                        ResourceAttributes,\r
-                                        FdTop,\r
-                                        ResourceTop - FdTop);\r
+            BuildResourceDescriptorHob (\r
+              EFI_RESOURCE_SYSTEM_MEMORY,\r
+              ResourceAttributes,\r
+              FdTop,\r
+              ResourceTop - FdTop\r
+              );\r
           }\r
         }\r
 \r
         // Mark the memory covering the Firmware Device as boot services data\r
-        BuildMemoryAllocationHob (PcdGet64 (PcdFdBaseAddress),\r
-                                  PcdGet32 (PcdFdSize),\r
-                                  EfiBootServicesData);\r
+        BuildMemoryAllocationHob (\r
+          PcdGet64 (PcdFdBaseAddress),\r
+          PcdGet32 (PcdFdSize),\r
+          EfiBootServicesData\r
+          );\r
 \r
         Found = TRUE;\r
         break;\r
       }\r
+\r
       NextHob.Raw = GET_NEXT_HOB (NextHob);\r
     }\r
 \r
-    ASSERT(Found);\r
+    ASSERT (Found);\r
   }\r
 \r
   // Build Memory Allocation Hob\r