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

Cc: Yao Jiewen <jiewen....@intel.com>
Cc: Jeff Fan <jeff....@intel.com>
Cc: David Wei <david....@intel.com>
Cc: Tim He <tim...@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <ler...@redhat.com>
---
 IntelFrameworkModulePkg/Universal/Acpi/AcpiS3SaveDxe/AcpiS3SaveDxe.inf |  4 +-
 IntelFrameworkModulePkg/Universal/Acpi/AcpiS3SaveDxe/AcpiS3Save.h      | 28 
+------
 IntelFrameworkModulePkg/Universal/Acpi/AcpiS3SaveDxe/AcpiS3Save.c      | 78 
+-------------------
 3 files changed, 6 insertions(+), 104 deletions(-)

diff --git 
a/IntelFrameworkModulePkg/Universal/Acpi/AcpiS3SaveDxe/AcpiS3SaveDxe.inf 
b/IntelFrameworkModulePkg/Universal/Acpi/AcpiS3SaveDxe/AcpiS3SaveDxe.inf
index e5fb92e..c6fd1dc 100644
--- a/IntelFrameworkModulePkg/Universal/Acpi/AcpiS3SaveDxe/AcpiS3SaveDxe.inf
+++ b/IntelFrameworkModulePkg/Universal/Acpi/AcpiS3SaveDxe/AcpiS3SaveDxe.inf
@@ -1,5 +1,5 @@
 ## @file
-# AcpiS3Save module installs ACPI S3 Save protocol to prepare S3 boot data.
+# AcpiS3Save module installs EndOfDxe callback to prepare S3 boot data.
 #
 # Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>
 #
@@ -63,14 +63,12 @@ [Guids]
   gEfiEndOfDxeEventGroupGuid                    ## CONSUMES  ## Event
 
 [Protocols]
-  gEfiAcpiS3SaveProtocolGuid                    ## PRODUCES
   gFrameworkEfiMpServiceProtocolGuid            ## SOMETIMES_CONSUMES
   ## NOTIFY
   ## SOMETIMES_CONSUMES
   gEdkiiVariableLockProtocolGuid
 
 [FeaturePcd]
-  gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPlatformCsmSupport          ## 
CONSUMES
   gEfiMdeModulePkgTokenSpaceGuid.PcdFrameworkCompatibilitySupport          ## 
CONSUMES
   gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode                 ## 
CONSUMES
 
diff --git a/IntelFrameworkModulePkg/Universal/Acpi/AcpiS3SaveDxe/AcpiS3Save.h 
b/IntelFrameworkModulePkg/Universal/Acpi/AcpiS3SaveDxe/AcpiS3Save.h
index 65974a3..6d8a9bb 100644
--- a/IntelFrameworkModulePkg/Universal/Acpi/AcpiS3SaveDxe/AcpiS3Save.h
+++ b/IntelFrameworkModulePkg/Universal/Acpi/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/IntelFrameworkModulePkg/Universal/Acpi/AcpiS3SaveDxe/AcpiS3Save.c 
b/IntelFrameworkModulePkg/Universal/Acpi/AcpiS3SaveDxe/AcpiS3Save.c
index e0fa866..3d7d3cd 100644
--- a/IntelFrameworkModulePkg/Universal/Acpi/AcpiS3SaveDxe/AcpiS3Save.c
+++ b/IntelFrameworkModulePkg/Universal/Acpi/AcpiS3SaveDxe/AcpiS3Save.c
@@ -29,7 +29,6 @@ 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 <IndustryStandard/Acpi.h>
 
 #include "AcpiS3Save.h"
@@ -52,13 +51,6 @@ S3ReadyThunkPlatform (
   IN ACPI_S3_CONTEXT      *AcpiS3Context
   );
 
-UINTN     mLegacyRegionSize;
-
-EFI_ACPI_S3_SAVE_PROTOCOL mS3Save = {
-  LegacyGetS3MemorySize,
-  S3Ready,
-};
-
 EFI_GUID              mAcpiS3IdtrProfileGuid = {
   0xdea652b0, 0xd587, 0x4c54, { 0xb5, 0xb4, 0xc6, 0x82, 0xe7, 0xa0, 0xaa, 0x3d 
}
 };
@@ -407,52 +399,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;
@@ -464,17 +420,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;
@@ -567,13 +518,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);
 
   //
@@ -607,27 +554,10 @@ InstallAcpiS3Save (
   EFI_STATUS        Status;
   EFI_EVENT         EndOfDxeEvent;
 
-  if (!FeaturePcdGet(PcdPlatformCsmSupport)) {
-    //
-    // More memory for no CSM tip, because GDT need relocation
-    //
-    mLegacyRegionSize = 0x250;
-  } else {
-    mLegacyRegionSize = 0x100;
-  }
-
   if (FeaturePcdGet(PcdFrameworkCompatibilitySupport)) {
     InstallAcpiS3SaveThunk ();
   }
 
-  Status = gBS->InstallProtocolInterface (
-                  &ImageHandle,
-                  &gEfiAcpiS3SaveProtocolGuid,
-                  EFI_NATIVE_INTERFACE,
-                  &mS3Save
-                  );
-  ASSERT_EFI_ERROR (Status);
-
   Status = gBS->CreateEventEx (
                   EVT_NOTIFY_SIGNAL,
                   TPL_CALLBACK,
-- 
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