]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ArmPlatformPkg/MemoryInitPei/MemoryInitPeim.c
ShellPkg: Fix the bug that handling Ctrl-C improperly
[mirror_edk2.git] / ArmPlatformPkg / MemoryInitPei / MemoryInitPeim.c
old mode 100755 (executable)
new mode 100644 (file)
index 4821fdc..e7880d3
@@ -96,20 +96,12 @@ InitializeMemory (
 {\r
   EFI_STATUS                            Status;\r
   UINTN                                 SystemMemoryBase;\r
-  UINT                                SystemMemoryTop;\r
+  UINT64                                SystemMemoryTop;\r
   UINTN                                 FdBase;\r
   UINTN                                 FdTop;\r
   UINTN                                 UefiMemoryBase;\r
 \r
-  DEBUG ((EFI_D_ERROR, "Memory Init PEIM Loaded\n"));\r
-\r
-  // Ensure PcdSystemMemorySize has been set\r
-  ASSERT (FixedPcdGet64 (PcdSystemMemorySize) != 0);\r
-\r
-  SystemMemoryBase = (UINTN)FixedPcdGet64 (PcdSystemMemoryBase);\r
-  SystemMemoryTop = SystemMemoryBase + (UINTN)FixedPcdGet64 (PcdSystemMemorySize);\r
-  FdBase = (UINTN)PcdGet32 (PcdFdBaseAddress);\r
-  FdTop = FdBase + (UINTN)PcdGet32 (PcdFdSize);\r
+  DEBUG ((EFI_D_LOAD | EFI_D_INFO, "Memory Init PEIM Loaded\n"));\r
 \r
   //\r
   // Initialize the System Memory (DRAM)\r
@@ -119,6 +111,18 @@ InitializeMemory (
     ArmPlatformInitializeSystemMemory ();\r
   }\r
 \r
+  // Ensure PcdSystemMemorySize has been set\r
+  ASSERT (PcdGet64 (PcdSystemMemorySize) != 0);\r
+  ASSERT (PcdGet64 (PcdSystemMemoryBase) < (UINT64)MAX_ADDRESS);\r
+\r
+  SystemMemoryBase = (UINTN)PcdGet64 (PcdSystemMemoryBase);\r
+  SystemMemoryTop = SystemMemoryBase + PcdGet64 (PcdSystemMemorySize);\r
+  if (SystemMemoryTop - 1 > MAX_ADDRESS) {\r
+    SystemMemoryTop = (UINT64)MAX_ADDRESS + 1;\r
+  }\r
+  FdBase = (UINTN)PcdGet64 (PcdFdBaseAddress);\r
+  FdTop = FdBase + (UINTN)PcdGet32 (PcdFdSize);\r
+\r
   //\r
   // Declare the UEFI memory to PEI\r
   //\r