]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFrameworkPkg/Include/Protocol/SmmBase.h
Move SmmLib from IntelFrameworkPkg to MdePkg because this library is useful to both...
[mirror_edk2.git] / IntelFrameworkPkg / Include / Protocol / SmmBase.h
index 8a73549b37ed6a9cafd3ea79d45bdcace9b37e77..65d0979496ba4ae5c0297df72af79e7483851869 100644 (file)
   workarounds for the century rollover in CMOS should provide commensurate services throughout\r
   preboot and OS runtime.\r
 \r
+  Copyright (c) 2007 - 2009, Intel Corporation\r
+  All rights reserved. This program and the accompanying materials\r
+  are licensed and made available under the terms and conditions of the BSD License\r
+  which accompanies this 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
+\r
   @par Revision Reference:\r
   This Protocol is defined in Framework of EFI SMM Core Interface Spec\r
   Version 0.9.\r
 \r
-Copyright (c) 2007 - 2009, Intel Corporation\r
-All rights reserved. This program and the accompanying materials\r
-are licensed and made available under the terms and conditions of the BSD License\r
-which accompanies this 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
-\r
 **/\r
 \r
 #ifndef _SMM_BASE_H_\r
 #define _SMM_BASE_H_\r
 \r
+//\r
+// Share some common definitions with PI SMM\r
+//\r
+#include <Framework/SmmCis.h>\r
+#include <Protocol/SmmCommunication.h>\r
+\r
 ///\r
 /// Global ID for the EFI_SMM_BASE_PROTOCOL\r
 ///\r
@@ -60,24 +66,6 @@ typedef struct _EFI_SMM_BASE_PROTOCOL  EFI_SMM_BASE_PROTOCOL;
 #define EFI_HANDLER_SOURCE_PENDING  0x0003\r
 ///@}\r
 \r
-///\r
-/// The header data is mandatory for messages sent into the SMM agent.\r
-///\r
-typedef struct {\r
-  ///\r
-  /// Allows for disambiguation of the message format.\r
-  ///\r
-  EFI_GUID                         HeaderGuid;\r
-  ///\r
-  /// Describes the size of the message, not including the header.\r
-  ///\r
-  UINTN                            MessageLength;\r
-  ///\r
-  /// Designates an array of bytes that is MessageLength in size.\r
-  ///\r
-  UINT8                            Data[1];\r
-} EFI_SMM_COMMUNICATE_HEADER;\r
-\r
 /**\r
   Entry Point to Callback service\r
 \r
@@ -127,7 +115,7 @@ EFI_STATUS
 typedef\r
 EFI_STATUS\r
 (EFIAPI *EFI_SMM_REGISTER_HANDLER)(\r
-  IN EFI_SMM_BASE_PROTOCOL                           *This,\r
+  IN  EFI_SMM_BASE_PROTOCOL                          *This,\r
   IN  EFI_DEVICE_PATH_PROTOCOL                       *FilePath,\r
   IN  VOID                                           *SourceBuffer OPTIONAL,\r
   IN  UINTN                                          SourceSize,\r