Jeff, On 06/25/15 11:22, Ard Biesheuvel wrote: > The AcpiS3->S3Save() call needs to occur before the end-of-DXE event > is signalled. The end-of-DXE event needs to be signalled prior to > invoking any UEFI drivers, applications, or connecting consoles. > > This means the call to S3Save() that occurs in BdsLibBootViaBootOption() > violates the ordering constraints, and should be removed. Since it is > the responsibility of the platform BDS to signal the end-of-DXE event, > it should also perform the AcpiS3->S3Save() call at an appropriate time. > > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Ard Biesheuvel <ard.biesheu...@linaro.org> > --- > IntelFrameworkModulePkg/Library/GenericBdsLib/BdsBoot.c | 10 > ---------- > .../Library/GenericBdsLib/GenericBdsLib.inf | 1 - > IntelFrameworkModulePkg/Library/GenericBdsLib/InternalBdsLib.h | 1 - > 3 files changed, 12 deletions(-) > > diff --git a/IntelFrameworkModulePkg/Library/GenericBdsLib/BdsBoot.c > b/IntelFrameworkModulePkg/Library/GenericBdsLib/BdsBoot.c > index e02a71015edc..4b7eca7bbd34 100644 > --- a/IntelFrameworkModulePkg/Library/GenericBdsLib/BdsBoot.c > +++ b/IntelFrameworkModulePkg/Library/GenericBdsLib/BdsBoot.c > @@ -2233,7 +2233,6 @@ BdsLibBootViaBootOption ( > EFI_DEVICE_PATH_PROTOCOL *FilePath; > EFI_LOADED_IMAGE_PROTOCOL *ImageInfo; > EFI_DEVICE_PATH_PROTOCOL *WorkingDevicePath; > - EFI_ACPI_S3_SAVE_PROTOCOL *AcpiS3Save; > LIST_ENTRY TempBootLists; > EFI_BOOT_LOGO_PROTOCOL *BootLogo; > > @@ -2241,15 +2240,6 @@ BdsLibBootViaBootOption ( > *ExitData = NULL; > > // > - // Notes: this code can be remove after the s3 script table > - // hook on the event EVT_SIGNAL_READY_TO_BOOT or > - // EVT_SIGNAL_LEGACY_BOOT > - // > - Status = gBS->LocateProtocol (&gEfiAcpiS3SaveProtocolGuid, NULL, (VOID **) > &AcpiS3Save); > - if (!EFI_ERROR (Status)) { > - AcpiS3Save->S3Save (AcpiS3Save, NULL); > - } > - // > // If it's Device Path that starts with a hard drive path, append it with > the front part to compose a > // full device path > // > diff --git a/IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf > b/IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf > index 5381e331ff8c..5a138a9169b3 100644 > --- a/IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf > +++ b/IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf > @@ -119,7 +119,6 @@ [Protocols] > gEfiLegacyBiosProtocolGuid ## SOMETIMES_CONSUMES > gEfiCpuArchProtocolGuid ## CONSUMES > gEfiDevicePathProtocolGuid ## CONSUMES > - gEfiAcpiS3SaveProtocolGuid ## SOMETIMES_CONSUMES > gEfiGraphicsOutputProtocolGuid ## SOMETIMES_CONSUMES > gEfiUgaDrawProtocolGuid |gEfiMdePkgTokenSpaceGuid.PcdUgaConsumeSupport ## > SOMETIMES_CONSUMES > gEfiOEMBadgingProtocolGuid ## SOMETIMES_CONSUMES > diff --git a/IntelFrameworkModulePkg/Library/GenericBdsLib/InternalBdsLib.h > b/IntelFrameworkModulePkg/Library/GenericBdsLib/InternalBdsLib.h > index c32579bfc577..7201d8a33527 100644 > --- a/IntelFrameworkModulePkg/Library/GenericBdsLib/InternalBdsLib.h > +++ b/IntelFrameworkModulePkg/Library/GenericBdsLib/InternalBdsLib.h > @@ -33,7 +33,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER > EXPRESS OR IMPLIED. > #include <Protocol/SimpleNetwork.h> > #include <Protocol/FirmwareVolume2.h> > #include <Protocol/PciIo.h> > -#include <Protocol/AcpiS3Save.h> > #include <Protocol/OEMBadging.h> > #include <Protocol/GraphicsOutput.h> > #include <Protocol/UgaDraw.h> >
please do not commit this patch. As discussed earlier, it would break OVMF's S3. I'm working on a series, and I'll include this patch from Ard in it (with the Reviewed-by tags that it has collected), in the right position. Thanks! Laszlo ------------------------------------------------------------------------------ Monitor 25 network devices or servers for free with OpManager! OpManager is web-based network management software that monitors network devices and physical & virtual servers, alerts via email & sms for fault. Monitor 25 devices for free with no restriction. Download now http://ad.doubleclick.net/ddm/clk/292181274;119417398;o _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel