]> git.proxmox.com Git - mirror_edk2.git/commitdiff
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 4c7107faeab1812ffc8354cea010bd497f8db3ba..36234f4d5b2ae2cb040265e5676409c77ac5ca25 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