]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ArmVirtPkg/Library/QemuVirtMemInfoLib/QemuVirtMemInfoLib.c
ArmVirtPkg/QemuVirtMemInfoLib: remove 1:1 mapping of top of PA range
[mirror_edk2.git] / ArmVirtPkg / Library / QemuVirtMemInfoLib / QemuVirtMemInfoLib.c
index 760bcc169cf44fb61fa9c406ec9ab30a3a957f72..0285a11b1d7701a568274cf72417bce0141fb61b 100644 (file)
 // Number of Virtual Memory Map Descriptors\r
 #define MAX_VIRTUAL_MEMORY_MAP_DESCRIPTORS          5\r
 \r
-EFI_PHYSICAL_ADDRESS\r
-ArmGetPhysAddrTop (\r
-  VOID\r
-  );\r
-\r
 /**\r
   Return the Virtual Memory Map of your platform\r
 \r
@@ -45,7 +40,6 @@ ArmVirtGetMemoryMap (
   )\r
 {\r
   ARM_MEMORY_REGION_DESCRIPTOR  *VirtualMemoryTable;\r
-  UINT64                        TopOfMemory;\r
 \r
   ASSERT (VirtualMemoryMap != NULL);\r
 \r
@@ -78,23 +72,14 @@ ArmVirtGetMemoryMap (
   VirtualMemoryTable[1].Length       = VirtualMemoryTable[0].PhysicalBase;\r
   VirtualMemoryTable[1].Attributes   = ARM_MEMORY_REGION_ATTRIBUTE_DEVICE;\r
 \r
-  // Peripheral space after DRAM\r
-  TopOfMemory = MIN (1ULL << FixedPcdGet8 (PcdPrePiCpuMemorySize),\r
-                     ArmGetPhysAddrTop ());\r
-  VirtualMemoryTable[2].PhysicalBase = VirtualMemoryTable[0].Length + VirtualMemoryTable[1].Length;\r
-  VirtualMemoryTable[2].VirtualBase  = VirtualMemoryTable[2].PhysicalBase;\r
-  VirtualMemoryTable[2].Length       = TopOfMemory -\r
-                                       VirtualMemoryTable[2].PhysicalBase;\r
-  VirtualMemoryTable[2].Attributes   = ARM_MEMORY_REGION_ATTRIBUTE_DEVICE;\r
-\r
   // Remap the FD region as normal executable memory\r
-  VirtualMemoryTable[3].PhysicalBase = PcdGet64 (PcdFdBaseAddress);\r
-  VirtualMemoryTable[3].VirtualBase  = VirtualMemoryTable[3].PhysicalBase;\r
-  VirtualMemoryTable[3].Length       = FixedPcdGet32 (PcdFdSize);\r
-  VirtualMemoryTable[3].Attributes   = ARM_MEMORY_REGION_ATTRIBUTE_WRITE_BACK;\r
+  VirtualMemoryTable[2].PhysicalBase = PcdGet64 (PcdFdBaseAddress);\r
+  VirtualMemoryTable[2].VirtualBase  = VirtualMemoryTable[2].PhysicalBase;\r
+  VirtualMemoryTable[2].Length       = FixedPcdGet32 (PcdFdSize);\r
+  VirtualMemoryTable[2].Attributes   = ARM_MEMORY_REGION_ATTRIBUTE_WRITE_BACK;\r
 \r
   // End of Table\r
-  ZeroMem (&VirtualMemoryTable[4], sizeof (ARM_MEMORY_REGION_DESCRIPTOR));\r
+  ZeroMem (&VirtualMemoryTable[3], sizeof (ARM_MEMORY_REGION_DESCRIPTOR));\r
 \r
   *VirtualMemoryMap = VirtualMemoryTable;\r
 }\r