MdeModulePkg/ResetSystemRuntimeDxe: Remove DoS3 in warm reset
authorBret Barkelew <Bret.Barkelew@microsoft.com>
Fri, 22 Mar 2019 03:07:18 +0000 (11:07 +0800)
committerLiming Gao <liming.gao@intel.com>
Tue, 2 Apr 2019 04:49:03 +0000 (12:49 +0800)
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1462

Original logic is that checking the CapsuleUpdate variable
and do the EnterS3WithImmediateWake if the system require a
capsule update. The EnterS3WithImmediateWake is usually
implemented in Platform ResetSystemLib instance and it may
do some operation for capsule update. For now, thess preparations
of capsule are platform reset notify functions' duty. Most
platforms need flush cache to memory before warm reset during
capsule update and this operation is added to capsule flow.
So it is safe to remove it and do not affect the capsule update
function.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Zhichao Gao <zhichao.gao@intel.com>
Cc: Jian J Wang <jian.j.wang@intel.com>
Cc: Hao Wu <hao.a.wu@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Star Zeng <star.zeng@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystem.c

index 4c7107f..36234f4 100644 (file)
@@ -206,22 +206,6 @@ InitializeResetSystem (
   return Status;\r
 }\r
 \r
-/**\r
-  Put the system into S3 power state.\r
-**/\r
-VOID\r
-DoS3 (\r
-  VOID\r
-  )\r
-{\r
-  EnterS3WithImmediateWake ();\r
-\r
-  //\r
-  // Should not return\r
-  //\r
-  CpuDeadLoop ();\r
-}\r
-\r
 /**\r
   Resets the entire platform.\r
 \r
@@ -249,9 +233,6 @@ RuntimeServiceResetSystem (
   IN VOID             *ResetData OPTIONAL\r
   )\r
 {\r
-  EFI_STATUS          Status;\r
-  UINTN               Size;\r
-  UINTN               CapsuleDataPtr;\r
   LIST_ENTRY          *Link;\r
   RESET_NOTIFY_ENTRY  *Entry;\r
 \r
@@ -315,25 +296,6 @@ RuntimeServiceResetSystem (
   switch (ResetType) {\r
   case EfiResetWarm:\r
 \r
-    //\r
-    //Check if there are pending capsules to process\r
-    //\r
-    Size = sizeof (CapsuleDataPtr);\r
-    Status =  EfiGetVariable (\r
-                 EFI_CAPSULE_VARIABLE_NAME,\r
-                 &gEfiCapsuleVendorGuid,\r
-                 NULL,\r
-                 &Size,\r
-                 (VOID *) &CapsuleDataPtr\r
-                 );\r
-\r
-    if (Status == EFI_SUCCESS) {\r
-      //\r
-      //Process capsules across a system reset.\r
-      //\r
-      DoS3();\r
-    }\r
-\r
     ResetWarm ();\r
     break;\r
 \r