]> git.proxmox.com Git - mirror_edk2.git/commitdiff
MdeModulePkg: Add SmmCommunication PPI definition
authorjljusten <jljusten@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 19 Jul 2011 20:46:45 +0000 (20:46 +0000)
committerjljusten <jljusten@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 19 Jul 2011 20:46:45 +0000 (20:46 +0000)
Signed-off-by: jljusten
Reviewed-by: mdkinney
Reviewed-by: geekboy15a
Reviewed-by: jyao1
Reviewed-by: lgao4
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12028 6f19259b-4bc3-4df7-8a09-765794883524

MdeModulePkg/Include/Ppi/SmmCommunication.h [new file with mode: 0644]
MdeModulePkg/MdeModulePkg.dec

diff --git a/MdeModulePkg/Include/Ppi/SmmCommunication.h b/MdeModulePkg/Include/Ppi/SmmCommunication.h
new file mode 100644 (file)
index 0000000..a22ed9f
--- /dev/null
@@ -0,0 +1,64 @@
+/** @file\r
+  EFI SMM Communication PPI definition.\r
+\r
+  This Ppi provides a means of communicating between PEIM and SMI \r
+  handlers inside of SMM.\r
+  This Ppi is produced and consumed only in S3 resume boot path.\r
+  It is NOT available in normal boot path.\r
+\r
+Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>\r
+\r
+This program and the accompanying materials\r
+are licensed and made available under the terms and conditions\r
+of the BSD License which accompanies this distribution.  The\r
+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
+\r
+#ifndef _SMM_COMMUNICATION_PPI_H_\r
+#define _SMM_COMMUNICATION_PPI_H_\r
+\r
+#define EFI_PEI_SMM_COMMUNICATION_PPI_GUID \\r
+  { \\r
+    0xae933e1c, 0xcc47, 0x4e38, { 0x8f, 0xe, 0xe2, 0xf6, 0x1d, 0x26, 0x5, 0xdf } \\r
+  }\r
+\r
+typedef struct _EFI_PEI_SMM_COMMUNICATION_PPI  EFI_PEI_SMM_COMMUNICATION_PPI;\r
+\r
+/**\r
+  Communicates with a registered handler.\r
+  \r
+  This function provides a service to send and receive messages from a registered UEFI service.\r
+\r
+  @param[in] This                The EFI_PEI_SMM_COMMUNICATION_PPI instance.\r
+  @param[in] CommBuffer          A pointer to the buffer to convey into SMRAM.\r
+  @param[in] CommSize            The size of the data buffer being passed in.On exit, the size of data\r
+                                 being returned. Zero if the handler does not wish to reply with any data.\r
+\r
+  @retval EFI_SUCCESS            The message was successfully posted.\r
+  @retval EFI_INVALID_PARAMETER  The CommBuffer was NULL.\r
+**/\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EFI_PEI_SMM_COMMUNICATE)(\r
+  IN CONST EFI_PEI_SMM_COMMUNICATION_PPI   *This,\r
+  IN OUT VOID                              *CommBuffer,\r
+  IN OUT UINTN                             *CommSize\r
+  );\r
+\r
+///\r
+/// EFI SMM Communication Protocol provides runtime services for communicating\r
+/// between DXE drivers and a registered SMI handler.\r
+///\r
+struct _EFI_PEI_SMM_COMMUNICATION_PPI {\r
+  EFI_PEI_SMM_COMMUNICATE  Communicate;\r
+};\r
+\r
+extern EFI_GUID gEfiPeiSmmCommunicationPpiGuid;\r
+\r
+#endif\r
index a983c559726666b83b30890223ba85329da91cd0..0a9cdcd9b4b513384424e26478aaf5cef332cd44 100644 (file)
   ## Include/Ppi/Capsule.h\r
   gPeiCapsulePpiGuid             = { 0x3acf33ee, 0xd892, 0x40f4, { 0xa2, 0xfc, 0x38, 0x54, 0xd2, 0xe1, 0x32, 0x3d }}\r
 \r
+  ## Include/Ppi/SmmCommunication.h\r
+  gEfiPeiSmmCommunicationPpiGuid   =  { 0xae933e1c, 0xcc47, 0x4e38, { 0x8f, 0xe, 0xe2, 0xf6, 0x1d, 0x26, 0x5, 0xdf }}\r
+\r
   ## Include/Ppi/SmmAccess.h\r
   gPeiSmmAccessPpiGuid          =  { 0x268f33a9, 0xcccd, 0x48be, { 0x88, 0x17, 0x86, 0x5, 0x3a, 0xc3, 0x2e, 0xd6 }}\r
 \r