]> git.proxmox.com Git - mirror_edk2.git/commitdiff
OvmfPkg: PlatformPei: allow caching in AddReservedMemoryBaseSizeHob()
authorLaszlo Ersek <lersek@redhat.com>
Mon, 30 Nov 2015 18:41:29 +0000 (18:41 +0000)
committerlersek <lersek@Edk2>
Mon, 30 Nov 2015 18:41:29 +0000 (18:41 +0000)
AddReservedMemoryBaseSizeHob() should be able to set the same resource
attributes for reserved memory as AddMemoryBaseSizeHob() sets for system
memory. Add a new parameter called "Cacheable" to
AddReservedMemoryBaseSizeHob(), and set it to FALSE in the only caller we
have at the moment.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19038 6f19259b-4bc3-4df7-8a09-765794883524

OvmfPkg/PlatformPei/Platform.c
OvmfPkg/PlatformPei/Platform.h
OvmfPkg/PlatformPei/Xen.c

index a6d961673d3ac16f62d725b0ef3889dd0e2dc944..0b112751571778b34d0ddf4b03e552fcf77b1182 100644 (file)
@@ -88,7 +88,8 @@ AddIoMemoryBaseSizeHob (
 VOID\r
 AddReservedMemoryBaseSizeHob (\r
   EFI_PHYSICAL_ADDRESS        MemoryBase,\r
-  UINT64                      MemorySize\r
+  UINT64                      MemorySize,\r
+  BOOLEAN                     Cacheable\r
   )\r
 {\r
   BuildResourceDescriptorHob (\r
@@ -96,6 +97,12 @@ AddReservedMemoryBaseSizeHob (
       EFI_RESOURCE_ATTRIBUTE_PRESENT     |\r
       EFI_RESOURCE_ATTRIBUTE_INITIALIZED |\r
       EFI_RESOURCE_ATTRIBUTE_UNCACHEABLE |\r
+      (Cacheable ?\r
+       EFI_RESOURCE_ATTRIBUTE_WRITE_COMBINEABLE |\r
+       EFI_RESOURCE_ATTRIBUTE_WRITE_THROUGH_CACHEABLE |\r
+       EFI_RESOURCE_ATTRIBUTE_WRITE_BACK_CACHEABLE :\r
+       0\r
+       ) |\r
       EFI_RESOURCE_ATTRIBUTE_TESTED,\r
     MemoryBase,\r
     MemorySize\r
index 8b6a9760eb557a880991cac78aa0d3cd9c03be83..dad3c61e2641c2cb566a33bb6ff0fe22d33bb67a 100644 (file)
@@ -50,7 +50,8 @@ AddUntestedMemoryBaseSizeHob (
 VOID\r
 AddReservedMemoryBaseSizeHob (\r
   EFI_PHYSICAL_ADDRESS        MemoryBase,\r
-  UINT64                      MemorySize\r
+  UINT64                      MemorySize,\r
+  BOOLEAN                     Cacheable\r
   );\r
 \r
 VOID\r
index 1886326f20c66ed30f5c4263e435b2ce05dea3bd..7fa9019f1a053f6e46876cec4609851f99834337 100644 (file)
@@ -223,7 +223,7 @@ InitializeXen (
   // Reserve away HVMLOADER reserved memory [0xFC000000,0xFD000000).\r
   // This needs to match HVMLOADER RESERVED_MEMBASE/RESERVED_MEMSIZE.\r
   //\r
-  AddReservedMemoryBaseSizeHob (0xFC000000, 0x1000000);\r
+  AddReservedMemoryBaseSizeHob (0xFC000000, 0x1000000, FALSE);\r
 \r
   PcdSetBool (PcdPciDisableBusEnumeration, TRUE);\r
 \r