+\r
+ if (mBootMode == BOOT_ON_S3_RESUME) {\r
+ MemoryBase = PcdGet32 (PcdS3AcpiReservedMemoryBase);\r
+ MemorySize = PcdGet32 (PcdS3AcpiReservedMemorySize);\r
+ } else {\r
+ LowerMemorySize = GetSystemMemorySizeBelow4gb ();\r
+\r
+ //\r
+ // Determine the range of memory to use during PEI\r
+ //\r
+ MemoryBase = PcdGet32 (PcdOvmfDxeMemFvBase) + PcdGet32 (PcdOvmfDxeMemFvSize);\r
+ MemorySize = LowerMemorySize - MemoryBase;\r
+ if (MemorySize > SIZE_64MB) {\r
+ MemoryBase = LowerMemorySize - SIZE_64MB;\r
+ MemorySize = SIZE_64MB;\r
+ }\r
+ }\r
+\r
+ //\r
+ // Publish this memory to the PEI Core\r
+ //\r
+ Status = PublishSystemMemory(MemoryBase, MemorySize);\r
+ ASSERT_EFI_ERROR (Status);\r
+\r
+ return Status;\r
+}\r
+\r
+\r
+/**\r
+ Peform Memory Detection for QEMU / KVM\r
+\r
+**/\r
+STATIC\r
+VOID\r
+QemuInitializeRam (\r
+ VOID\r
+ )\r
+{\r
+ UINT64 LowerMemorySize;\r