]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Update OVMF Platform PEI to declare IO and MMIO resources.
authormdkinney <mdkinney@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 16 Jul 2010 19:04:41 +0000 (19:04 +0000)
committermdkinney <mdkinney@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 16 Jul 2010 19:04:41 +0000 (19:04 +0000)
Update default memory type information to reduce EFI Memory Map fragmentation.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10657 6f19259b-4bc3-4df7-8a09-765794883524

OvmfPkg/PlatformPei/Platform.c

index 86084e466acff13fa3885179211d01e63e9e7c9b..d35a1fbb5c0115e8df198330799693136f187574 100644 (file)
 \r
 EFI_MEMORY_TYPE_INFORMATION mDefaultMemoryTypeInformation[] = {\r
   { EfiACPIMemoryNVS,       0x004 },\r
-  { EfiACPIReclaimMemory,   0x01C },\r
-  { EfiRuntimeServicesData, 0x050 },\r
-  { EfiRuntimeServicesCode, 0x020 },\r
-  { EfiBootServicesCode,    0x0F0 },\r
-  { EfiBootServicesData,    0xA00 },\r
+  { EfiACPIReclaimMemory,   0x008 },\r
+  { EfiReservedMemoryType,  0x004 },     \r
+  { EfiRuntimeServicesData, 0x024 },\r
+  { EfiRuntimeServicesCode, 0x030 },\r
+  { EfiBootServicesCode,    0x180 },\r
+  { EfiBootServicesData,    0xF00 },\r
   { EfiMaxMemoryType,       0x000 }\r
 };\r
 \r
@@ -49,17 +50,12 @@ AddIoMemoryBaseSizeHob (
   UINT64                      MemorySize\r
   )\r
 {\r
-  STATIC EFI_RESOURCE_ATTRIBUTE_TYPE Attributes =\r
-    (\r
+  BuildResourceDescriptorHob (\r
+    EFI_RESOURCE_MEMORY_MAPPED_IO,\r
       EFI_RESOURCE_ATTRIBUTE_PRESENT     |\r
       EFI_RESOURCE_ATTRIBUTE_INITIALIZED |\r
       EFI_RESOURCE_ATTRIBUTE_UNCACHEABLE |\r
-      EFI_RESOURCE_ATTRIBUTE_TESTED\r
-    );\r
-\r
-  BuildResourceDescriptorHob (\r
-    EFI_RESOURCE_MEMORY_MAPPED_IO,\r
-    Attributes,\r
+      EFI_RESOURCE_ATTRIBUTE_TESTED,\r
     MemoryBase,\r
     MemorySize\r
     );\r
@@ -82,20 +78,15 @@ AddMemoryBaseSizeHob (
   UINT64                      MemorySize\r
   )\r
 {\r
-  STATIC EFI_RESOURCE_ATTRIBUTE_TYPE Attributes =\r
-    (\r
+  BuildResourceDescriptorHob (\r
+    EFI_RESOURCE_SYSTEM_MEMORY,\r
       EFI_RESOURCE_ATTRIBUTE_PRESENT |\r
       EFI_RESOURCE_ATTRIBUTE_INITIALIZED |\r
       EFI_RESOURCE_ATTRIBUTE_UNCACHEABLE |\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
-  BuildResourceDescriptorHob (\r
-    EFI_RESOURCE_SYSTEM_MEMORY,\r
-    Attributes,\r
+      EFI_RESOURCE_ATTRIBUTE_TESTED,\r
     MemoryBase,\r
     MemorySize\r
     );\r
@@ -111,7 +102,6 @@ AddMemoryRangeHob (
   AddMemoryBaseSizeHob (MemoryBase, (UINT64)(MemoryLimit - MemoryBase));\r
 }\r
 \r
-\r
 VOID\r
 MemMapInitialization (\r
   )\r
@@ -125,6 +115,22 @@ MemMapInitialization (
     sizeof(mDefaultMemoryTypeInformation)\r
     );\r
 \r
+  //\r
+  // Add PCI IO Port space available for PCI resource allocations.\r
+  //\r
+  BuildResourceDescriptorHob (\r
+    EFI_RESOURCE_IO,\r
+      EFI_RESOURCE_ATTRIBUTE_PRESENT     |\r
+      EFI_RESOURCE_ATTRIBUTE_INITIALIZED,\r
+    0x1000,\r
+    0xF000\r
+    );\r
+\r
+  //\r
+  // Add PCI MMIO space available to PCI resource allocations\r
+  //\r
+  AddIoMemoryBaseSizeHob (0x80000000, 0xFEC00000 - 0x80000000);\r
+\r
   //\r
   // Local APIC range\r
   //\r
@@ -214,4 +220,3 @@ InitializePlatform (
 \r
   return EFI_SUCCESS;\r
 }\r
-\r