diff options
-rw-r--r-- | OvmfPkg/PlatformPei/Platform.c | 9 | ||||
-rw-r--r-- | OvmfPkg/PlatformPei/Platform.h | 3 | ||||
-rw-r--r-- | OvmfPkg/PlatformPei/Xen.c | 2 |
3 files changed, 11 insertions, 3 deletions
diff --git a/OvmfPkg/PlatformPei/Platform.c b/OvmfPkg/PlatformPei/Platform.c index a6d9616..0b11275 100644 --- a/OvmfPkg/PlatformPei/Platform.c +++ b/OvmfPkg/PlatformPei/Platform.c @@ -88,7 +88,8 @@ AddIoMemoryBaseSizeHob ( VOID
AddReservedMemoryBaseSizeHob (
EFI_PHYSICAL_ADDRESS MemoryBase,
- UINT64 MemorySize
+ UINT64 MemorySize,
+ BOOLEAN Cacheable
)
{
BuildResourceDescriptorHob (
@@ -96,6 +97,12 @@ AddReservedMemoryBaseSizeHob ( EFI_RESOURCE_ATTRIBUTE_PRESENT |
EFI_RESOURCE_ATTRIBUTE_INITIALIZED |
EFI_RESOURCE_ATTRIBUTE_UNCACHEABLE |
+ (Cacheable ?
+ EFI_RESOURCE_ATTRIBUTE_WRITE_COMBINEABLE |
+ EFI_RESOURCE_ATTRIBUTE_WRITE_THROUGH_CACHEABLE |
+ EFI_RESOURCE_ATTRIBUTE_WRITE_BACK_CACHEABLE :
+ 0
+ ) |
EFI_RESOURCE_ATTRIBUTE_TESTED,
MemoryBase,
MemorySize
diff --git a/OvmfPkg/PlatformPei/Platform.h b/OvmfPkg/PlatformPei/Platform.h index 8b6a976..dad3c61 100644 --- a/OvmfPkg/PlatformPei/Platform.h +++ b/OvmfPkg/PlatformPei/Platform.h @@ -50,7 +50,8 @@ AddUntestedMemoryBaseSizeHob ( VOID
AddReservedMemoryBaseSizeHob (
EFI_PHYSICAL_ADDRESS MemoryBase,
- UINT64 MemorySize
+ UINT64 MemorySize,
+ BOOLEAN Cacheable
);
VOID
diff --git a/OvmfPkg/PlatformPei/Xen.c b/OvmfPkg/PlatformPei/Xen.c index 1886326..7fa9019 100644 --- a/OvmfPkg/PlatformPei/Xen.c +++ b/OvmfPkg/PlatformPei/Xen.c @@ -223,7 +223,7 @@ InitializeXen ( // Reserve away HVMLOADER reserved memory [0xFC000000,0xFD000000).
// This needs to match HVMLOADER RESERVED_MEMBASE/RESERVED_MEMSIZE.
//
- AddReservedMemoryBaseSizeHob (0xFC000000, 0x1000000);
+ AddReservedMemoryBaseSizeHob (0xFC000000, 0x1000000, FALSE);
PcdSetBool (PcdPciDisableBusEnumeration, TRUE);
|