]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Core/PiSmmCore/PiSmmCore.h
Add PI1.2.1 EndOfDxe support.
[mirror_edk2.git] / MdeModulePkg / Core / PiSmmCore / PiSmmCore.h
index 1cbae1ca5a855f028ae8e6eb1735df50ace8a055..5392fb231519960e4ebf16dd85991bbfa203d07f 100644 (file)
@@ -2,7 +2,7 @@
   The internal header file includes the common header files, defines\r
   internal structure and functions used by SmmCore module.\r
 \r
-  Copyright (c) 2009 - 2010, Intel Corporation.  All rights reserved.<BR>\r
+  Copyright (c) 2009 - 2012, 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
@@ -20,6 +20,7 @@
 \r
 #include <Protocol/DxeSmmReadyToLock.h>\r
 #include <Protocol/SmmReadyToLock.h>\r
+#include <Protocol/SmmEndOfDxe.h>\r
 #include <Protocol/CpuIo2.h>\r
 #include <Protocol/SmmCommunication.h>\r
 #include <Protocol/SmmAccess2.h>\r
@@ -27,6 +28,7 @@
 #include <Protocol/LoadedImage.h>       \r
 #include <Protocol/DevicePath.h>        \r
 #include <Protocol/Security.h>          \r
+#include <Protocol/Security2.h>\r
 \r
 #include <Guid/Apriori.h>\r
 #include <Guid/EventGroup.h>\r
@@ -43,6 +45,9 @@
 #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
 \r
 #include "PiSmmCorePrivateData.h"\r
 \r
@@ -80,9 +85,7 @@ typedef struct {
   EFI_GUID                        BeforeAfterGuid;\r
 \r
   BOOLEAN                         Dependent;\r
-  BOOLEAN                         Unrequested;\r
   BOOLEAN                         Scheduled;\r
-  BOOLEAN                         Untrusted;\r
   BOOLEAN                         Initialized;\r
   BOOLEAN                         DepexProtocolError;\r
 \r
@@ -584,6 +587,28 @@ SmmReadyToLockHandler (
   IN OUT UINTN                    *CommBufferSize  OPTIONAL\r
   );\r
 \r
+/**\r
+  This function is the main entry point for an SMM handler dispatch\r
+  or communicate-based callback.\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
+SmmEndOfDxeHandler (\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
   Place holder function until all the SMM System Table Service are available.\r
 \r
@@ -702,8 +727,7 @@ SmmRemoveInterfaceFromProtocol (
 /**\r
   This is the POSTFIX version of the dependency evaluator.  This code does\r
   not need to handle Before or After, as it is not valid to call this\r
-  routine in this case. The SOR is just ignored and is a nop in the grammer.\r
-  POSTFIX means all the math is done on top of the stack.\r
+  routine in this case. POSTFIX means all the math is done on top of the stack.\r
 \r
   @param  DriverEntry           DriverEntry element to update.\r
 \r