]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Core/PiSmmCore/PiSmmCore.h
MdeModulePkg: Remove redundant library classes and GUIDs
[mirror_edk2.git] / MdeModulePkg / Core / PiSmmCore / PiSmmCore.h
index 2729a434d8f88eca77685149fc7d4c76066e0238..cbc27e717d80703c6509ff54c37dbf6619b36250 100644 (file)
@@ -2,14 +2,14 @@
   The internal header file includes the common header files, defines\r
   internal structure and functions used by SmmCore module.\r
 \r
-  Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved.<BR>\r
-  This program and the accompanying materials are licensed and made available \r
-  under the terms and conditions of the BSD License which accompanies this \r
-  distribution.  The full text of the license may be found at        \r
-  http://opensource.org/licenses/bsd-license.php                                            \r
+  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>\r
+  This program and the accompanying materials are licensed and made available\r
+  under the terms and conditions of the BSD License which accompanies this\r
+  distribution.  The full text of the license may be found at\r
+  http://opensource.org/licenses/bsd-license.php\r
 \r
-  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     \r
-  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.             \r
+  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 \r
 **/\r
 \r
 #include <Protocol/CpuIo2.h>\r
 #include <Protocol/SmmCommunication.h>\r
 #include <Protocol/SmmAccess2.h>\r
-#include <Protocol/FirmwareVolume2.h>   \r
-#include <Protocol/LoadedImage.h>       \r
-#include <Protocol/DevicePath.h>        \r
-#include <Protocol/Security.h>          \r
+#include <Protocol/FirmwareVolume2.h>\r
+#include <Protocol/LoadedImage.h>\r
+#include <Protocol/DevicePath.h>\r
+#include <Protocol/Security.h>\r
 #include <Protocol/Security2.h>\r
 #include <Protocol/SmmExitBootServices.h>\r
 #include <Protocol/SmmLegacyBoot.h>\r
 #include <Protocol/SmmReadyToBoot.h>\r
 #include <Protocol/SmmMemoryAttribute.h>\r
+#include <Protocol/SmmSxDispatch2.h>\r
 \r
 #include <Guid/Apriori.h>\r
 #include <Guid/EventGroup.h>\r
@@ -41,6 +42,7 @@
 #include <Guid/LoadModuleAtFixedAddress.h>\r
 #include <Guid/SmiHandlerProfile.h>\r
 #include <Guid/EndOfS3Resume.h>\r
+#include <Guid/S3SmmInitDone.h>\r
 \r
 #include <Library/BaseLib.h>\r
 #include <Library/BaseMemoryLib.h>\r
 #include <Library/DebugLib.h>\r
 #include <Library/ReportStatusCodeLib.h>\r
 #include <Library/MemoryAllocationLib.h>\r
-#include <Library/DevicePathLib.h>             \r
-#include <Library/UefiLib.h>                   \r
+#include <Library/DevicePathLib.h>\r
+#include <Library/UefiLib.h>\r
 #include <Library/UefiBootServicesTableLib.h>\r
 #include <Library/PcdLib.h>\r
 #include <Library/SmmCorePlatformHookLib.h>\r
 #include <Library/PerformanceLib.h>\r
-#include <Library/TimerLib.h>\r
 #include <Library/HobLib.h>\r
 #include <Library/SmmMemLib.h>\r
 \r
@@ -134,7 +135,7 @@ typedef struct {
   //\r
   PHYSICAL_ADDRESS                ImageEntryPoint;\r
   //\r
-  // Image Buffer in SMRAM  \r
+  // Image Buffer in SMRAM\r
   //\r
   PHYSICAL_ADDRESS                ImageBuffer;\r
   //\r
@@ -809,6 +810,29 @@ SmmReadyToBootHandler (
   IN OUT UINTN                    *CommBufferSize  OPTIONAL\r
   );\r
 \r
+/**\r
+  Software SMI handler that is called when the S3SmmInitDone signal is triggered.\r
+  This function installs the SMM S3SmmInitDone Protocol so SMM Drivers are informed that\r
+  S3 SMM initialization has been done.\r
+\r
+  @param  DispatchHandle  The unique handle assigned to this handler by SmiHandlerRegister().\r
+  @param  Context         Points to an optional handler context which was specified when the handler was registered.\r
+  @param  CommBuffer      A pointer to a collection of data in memory that will\r
+                          be conveyed from a non-SMM environment into an SMM environment.\r
+  @param  CommBufferSize  The size of the CommBuffer.\r
+\r
+  @return Status Code\r
+\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+SmmS3SmmInitDoneHandler (\r
+  IN     EFI_HANDLE  DispatchHandle,\r
+  IN     CONST VOID  *Context,        OPTIONAL\r
+  IN OUT VOID        *CommBuffer,     OPTIONAL\r
+  IN OUT UINTN       *CommBufferSize  OPTIONAL\r
+  );\r
+\r
 /**\r
   Software SMI handler that is called when the EndOfS3Resume event is trigged.\r
   This function installs the SMM EndOfS3Resume Protocol so SMM Drivers are informed that\r