OvmfPkg/PlatformPei: Skip various items for S3 resume
authorJordan Justen <jordan.l.justen@intel.com>
Tue, 4 Mar 2014 08:02:30 +0000 (08:02 +0000)
committerjljusten <jljusten@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 4 Mar 2014 08:02:30 +0000 (08:02 +0000)
We will not be running DXE on S3 resume, so we don't
need to do these initialization items:
 * Reserve EMU Variable memory range
 * Declare Firmware volumes
 * Add memory HOBs

v5:
 * Move MiscInitialization back to running on S3 resume

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

OvmfPkg/PlatformPei/MemDetect.c
OvmfPkg/PlatformPei/Platform.c

index 11c79687c435da5fcccaa962660b5119540aba39..c198c3846fdcf68a4757c9e029b87e27dfb26099 100644 (file)
@@ -147,18 +147,22 @@ QemuInitializeRam (
   LowerMemorySize = GetSystemMemorySizeBelow4gb ();\r
   UpperMemorySize = GetSystemMemorySizeAbove4gb ();\r
 \r
-  //\r
-  // Create memory HOBs\r
-  //\r
-  AddMemoryRangeHob (BASE_1MB, LowerMemorySize);\r
-  AddMemoryRangeHob (0, BASE_512KB + BASE_128KB);\r
+  if (mBootMode != BOOT_ON_S3_RESUME) {\r
+    //\r
+    // Create memory HOBs\r
+    //\r
+    AddMemoryRangeHob (BASE_1MB, LowerMemorySize);\r
+    AddMemoryRangeHob (0, BASE_512KB + BASE_128KB);\r
+  }\r
 \r
   MtrrSetMemoryAttribute (BASE_1MB, LowerMemorySize - BASE_1MB, CacheWriteBack);\r
 \r
   MtrrSetMemoryAttribute (0, BASE_512KB + BASE_128KB, CacheWriteBack);\r
 \r
   if (UpperMemorySize != 0) {\r
-    AddUntestedMemoryBaseSizeHob (BASE_4GB, UpperMemorySize);\r
+    if (mBootMode != BOOT_ON_S3_RESUME) {\r
+      AddUntestedMemoryBaseSizeHob (BASE_4GB, UpperMemorySize);\r
+    }\r
 \r
     MtrrSetMemoryAttribute (BASE_4GB, UpperMemorySize, CacheWriteBack);\r
   }\r
index 00c688d68a9142284b422b80d062f7c7abc0e657..11b4cb7a14800aa75e3f69ba6977092546dfb331 100644 (file)
@@ -375,11 +375,13 @@ InitializePlatform (
     InitializeXen ();\r
   }\r
 \r
-  ReserveEmuVariableNvStore ();\r
+  if (mBootMode != BOOT_ON_S3_RESUME) {\r
+    ReserveEmuVariableNvStore ();\r
 \r
-  PeiFvInitialization ();\r
+    PeiFvInitialization ();\r
 \r
-  MemMapInitialization ();\r
+    MemMapInitialization ();\r
+  }\r
 \r
   MiscInitialization ();\r
 \r