At this point, nothing in the OVMF build calls EFI_ACPI_S3_SAVE_PROTOCOL
member functions; simplify the code by dropping this protocol interface.

Cc: Jordan Justen <jordan.l.jus...@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <ler...@redhat.com>
---
 OvmfPkg/AcpiS3SaveDxe/AcpiS3SaveDxe.inf |  4 +-
 OvmfPkg/AcpiS3SaveDxe/AcpiS3Save.h      | 28 +-------
 OvmfPkg/AcpiS3SaveDxe/AcpiS3Save.c      | 71 ++------------------
 3 files changed, 6 insertions(+), 97 deletions(-)

diff --git a/OvmfPkg/AcpiS3SaveDxe/AcpiS3SaveDxe.inf 
b/OvmfPkg/AcpiS3SaveDxe/AcpiS3SaveDxe.inf
index e657bbe..a503327 100644
--- a/OvmfPkg/AcpiS3SaveDxe/AcpiS3SaveDxe.inf
+++ b/OvmfPkg/AcpiS3SaveDxe/AcpiS3SaveDxe.inf
@@ -1,5 +1,5 @@
 ## @file
-# Component description file for AcpiS3Save module.
+# AcpiS3Save module installs EndOfDxe callback to prepare S3 boot data.
 #
 # This is an implementation of the ACPI S3 Save protocol.
 # Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
@@ -61,14 +61,12 @@ [Guids]
   gEfiEndOfDxeEventGroupGuid                    ## CONSUMES  ## Event
 
 [Protocols]
-  gEfiAcpiS3SaveProtocolGuid                    # PROTOCOL ALWAYS_PRODUCED
   gEfiLockBoxProtocolGuid                       # PROTOCOL ALWAYS_PRODUCED
   gEfiLegacyBiosProtocolGuid                    # PROTOCOL ALWAYS_CONSUMED
   gEfiLegacyRegion2ProtocolGuid                 # PROTOCOL SOMETIMES_CONSUMED
   gFrameworkEfiMpServiceProtocolGuid            # PROTOCOL SOMETIMES_CONSUMED
 
 [FeaturePcd]
-  gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPlatformCsmSupport          ## 
CONSUMES
   gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode
 
 [Pcd]
diff --git a/OvmfPkg/AcpiS3SaveDxe/AcpiS3Save.h 
b/OvmfPkg/AcpiS3SaveDxe/AcpiS3Save.h
index 65974a3..6d8a9bb 100644
--- a/OvmfPkg/AcpiS3SaveDxe/AcpiS3Save.h
+++ b/OvmfPkg/AcpiS3SaveDxe/AcpiS3Save.h
@@ -19,41 +19,15 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER 
EXPRESS OR IMPLIED.
 #define _ACPI_S3_SAVE_H_
 
 /**
-  Gets the buffer of legacy memory below 1 MB 
-  This function is to get the buffer in legacy memory below 1MB that is 
required during S3 resume.
-
-  @param This           A pointer to the EFI_ACPI_S3_SAVE_PROTOCOL instance.
-  @param Size           The returned size of legacy memory below 1 MB.
-
-  @retval EFI_SUCCESS           Size is successfully returned.
-  @retval EFI_INVALID_PARAMETER The pointer Size is NULL.
-
-**/
-EFI_STATUS
-EFIAPI
-LegacyGetS3MemorySize (
-  IN  EFI_ACPI_S3_SAVE_PROTOCOL    * This,
-  OUT UINTN                        * Size
-  );
-
-/**
   Prepares all information that is needed in the S3 resume boot path.
   
   Allocate the resources or prepare informations and save in ACPI variable set 
for S3 resume boot path  
   
-  @param This                 A pointer to the EFI_ACPI_S3_SAVE_PROTOCOL 
instance.
-  @param LegacyMemoryAddress  The base address of legacy memory.
-
-  @retval EFI_NOT_FOUND         Some necessary information cannot be found.
   @retval EFI_SUCCESS           All information was saved successfully.
-  @retval EFI_OUT_OF_RESOURCES  Resources were insufficient to save all the 
information.
-  @retval EFI_INVALID_PARAMETER The memory range is not located below 1 MB.
-
 **/
 EFI_STATUS
 EFIAPI
 S3Ready (
-  IN EFI_ACPI_S3_SAVE_PROTOCOL     *This,
-  IN VOID                          *LegacyMemoryAddress   
+  VOID
   );
 #endif
diff --git a/OvmfPkg/AcpiS3SaveDxe/AcpiS3Save.c 
b/OvmfPkg/AcpiS3SaveDxe/AcpiS3Save.c
index 8372db8..659acae 100644
--- a/OvmfPkg/AcpiS3SaveDxe/AcpiS3Save.c
+++ b/OvmfPkg/AcpiS3SaveDxe/AcpiS3Save.c
@@ -30,19 +30,11 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER 
EXPRESS OR IMPLIED.
 #include <Guid/AcpiS3Context.h>
 #include <Guid/Acpi.h>
 #include <Guid/EventGroup.h>
-#include <Protocol/AcpiS3Save.h>
 #include <Protocol/LockBox.h>
 #include <IndustryStandard/Acpi.h>
 
 #include "AcpiS3Save.h"
 
-UINTN     mLegacyRegionSize;
-
-EFI_ACPI_S3_SAVE_PROTOCOL mS3Save = {
-  LegacyGetS3MemorySize,
-  S3Ready,
-};
-
 EFI_GUID              mAcpiS3IdtrProfileGuid = {
   0xdea652b0, 0xd587, 0x4c54, { 0xb5, 0xb4, 0xc6, 0x82, 0xe7, 0xa0, 0xaa, 0x3d 
}
 };
@@ -385,52 +377,16 @@ S3CreateIdentityMappingPageTables (
 }
 
 /**
-  Gets the buffer of legacy memory below 1 MB 
-  This function is to get the buffer in legacy memory below 1MB that is 
required during S3 resume.
-
-  @param This           A pointer to the EFI_ACPI_S3_SAVE_PROTOCOL instance.
-  @param Size           The returned size of legacy memory below 1 MB.
-
-  @retval EFI_SUCCESS           Size is successfully returned.
-  @retval EFI_INVALID_PARAMETER The pointer Size is NULL.
-
-**/
-EFI_STATUS
-EFIAPI
-LegacyGetS3MemorySize (
-  IN  EFI_ACPI_S3_SAVE_PROTOCOL   *This,
-  OUT UINTN                       *Size
-  )
-{
-  ASSERT (FALSE);
-
-  if (Size == NULL) {
-    return EFI_INVALID_PARAMETER;
-  }
-
-  *Size = mLegacyRegionSize;
-  return EFI_SUCCESS;
-}
-
-/**
   Prepares all information that is needed in the S3 resume boot path.
   
   Allocate the resources or prepare informations and save in ACPI variable set 
for S3 resume boot path  
   
-  @param This                 A pointer to the EFI_ACPI_S3_SAVE_PROTOCOL 
instance.
-  @param LegacyMemoryAddress  The base address of legacy memory.
-
-  @retval EFI_NOT_FOUND         Some necessary information cannot be found.
   @retval EFI_SUCCESS           All information was saved successfully.
-  @retval EFI_OUT_OF_RESOURCES  Resources were insufficient to save all the 
information.
-  @retval EFI_INVALID_PARAMETER The memory range is not located below 1 MB.
-
 **/
 EFI_STATUS
 EFIAPI
 S3Ready (
-  IN EFI_ACPI_S3_SAVE_PROTOCOL    *This,
-  IN VOID                         *LegacyMemoryAddress
+  VOID
   )
 {
   EFI_STATUS                                    Status;
@@ -442,17 +398,12 @@ S3Ready (
 
   DEBUG ((EFI_D_INFO, "S3Ready!\n"));
 
-  //
-  // Platform may invoke AcpiS3Save->S3Save() before ExitPmAuth, because we 
need save S3 information there, while BDS ReadyToBoot may invoke it again.
-  // So if 2nd S3Save() is triggered later, we need ignore it.
-  //
+  ASSERT (!AlreadyEntered);
   if (AlreadyEntered) {
     return EFI_SUCCESS;
   }
   AlreadyEntered = TRUE;
 
-  ASSERT (LegacyMemoryAddress == NULL);
-
   AcpiS3Context = AllocateMemoryBelow4G (EfiReservedMemoryType, 
sizeof(*AcpiS3Context));
   ASSERT (AcpiS3Context != NULL);
   AcpiS3ContextBuffer = (EFI_PHYSICAL_ADDRESS)(UINTN)AcpiS3Context;
@@ -539,13 +490,9 @@ OnEndOfDxe (
   EFI_STATUS Status;
 
   //
-  // Our S3Ready() function ignores both of its parameters, and always
-  // succeeds.
+  // Our S3Ready() function always succeeds.
   //
-  Status = S3Ready (
-             NULL, // This
-             NULL  // LegacyMemoryAddress
-             );
+  Status = S3Ready ();
   ASSERT_EFI_ERROR (Status);
 
   //
@@ -583,18 +530,8 @@ InstallAcpiS3Save (
     return EFI_LOAD_ERROR;
   }
 
-  if (!FeaturePcdGet(PcdPlatformCsmSupport)) {
-    //
-    // More memory for no CSM tip, because GDT need relocation
-    //
-    mLegacyRegionSize = 0x250;
-  } else {
-    mLegacyRegionSize = 0x100;
-  }
-
   Status = gBS->InstallMultipleProtocolInterfaces (
                   &ImageHandle,
-                  &gEfiAcpiS3SaveProtocolGuid, &mS3Save,
                   &gEfiLockBoxProtocolGuid, NULL,
                   NULL
                   );
-- 
1.8.3.1


------------------------------------------------------------------------------
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

Reply via email to