From: Bret Barkelew <bret.barke...@microsoft.com> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1772
Transfer reset data start with a null sting and followed by gEdkiiCapsuleArmedResetGuid for capsule update. Cc: Jian J Wang <jian.j.w...@intel.com> Cc: Hao Wu <hao.a...@intel.com> Cc: Ray Ni <ray...@intel.com> Cc: Star Zeng <star.z...@intel.com> Cc: Liming Gao <liming....@intel.com> Cc: Sean Brogan <sean.bro...@microsoft.com> Cc: Michael Turner <michael.tur...@microsoft.com> Cc: Bret Barkelew <bret.barke...@microsoft.com> Signed-off-by: Zhichao Gao <zhichao....@intel.com> --- MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf | 2 ++ MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleService.c | 2 +- MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleService.h | 3 ++- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf b/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf index 9da450722b..fedeeac19e 100644 --- a/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf +++ b/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf @@ -62,6 +62,7 @@ PrintLib BaseMemoryLib CacheMaintenanceLib + ResetUtilityLib [LibraryClasses.X64] UefiLib @@ -72,6 +73,7 @@ ## SOMETIMES_PRODUCES ## Variable:L"CapsuleLongModeBuffer" # The long mode buffer used by IA32 Capsule PEIM to call X64 CapsuleCoalesce code to handle >4GB capsule blocks gEfiCapsuleVendorGuid gEfiFmpCapsuleGuid ## SOMETIMES_CONSUMES ## GUID # FMP capsule GUID + gEdkiiCapsuleArmedResetGuid ## SOMETIMES_CONSUMES [Protocols] gEfiCapsuleArchProtocolGuid ## PRODUCES diff --git a/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleService.c b/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleService.c index 77b8f00062..2022b4eabd 100644 --- a/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleService.c +++ b/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleService.c @@ -218,7 +218,7 @@ UpdateCapsule ( // will initiate a reset of the platform which is compatible with the passed-in capsule request and will // not return back to the caller. // - EfiResetSystem (EfiResetWarm, EFI_SUCCESS, 0, NULL); + ResetSystemWithSubtype (EfiResetWarm, &gEdkiiCapsuleArmedResetGuid); } } return Status; diff --git a/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleService.h b/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleService.h index 069df3c750..e0466f7da7 100644 --- a/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleService.h +++ b/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleService.h @@ -4,7 +4,7 @@ It installs the Capsule Architectural Protocol defined in PI1.0a to signify the capsule runtime services are ready. - Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR> + Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> Copyright (c) 2018, Linaro, Ltd. All rights reserved.<BR> SPDX-License-Identifier: BSD-2-Clause-Patent @@ -30,6 +30,7 @@ #include <Library/BaseLib.h> #include <Library/PrintLib.h> #include <Library/BaseMemoryLib.h> +#include <Library/ResetUtilityLib.h> /** Create the variable to save the base address of page table and stack -- 2.21.0.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#45067): https://edk2.groups.io/g/devel/message/45067 Mute This Topic: https://groups.io/mt/32794363/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-