]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Add into MdePkg definitions for the EFI SMM Status Code Protocol as defined in the...
authorrsun3 <rsun3@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 2 Sep 2009 03:47:14 +0000 (03:47 +0000)
committerrsun3 <rsun3@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 2 Sep 2009 03:47:14 +0000 (03:47 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9223 6f19259b-4bc3-4df7-8a09-765794883524

MdePkg/Include/Protocol/SmmStatusCode.h [new file with mode: 0644]
MdePkg/MdePkg.dec

diff --git a/MdePkg/Include/Protocol/SmmStatusCode.h b/MdePkg/Include/Protocol/SmmStatusCode.h
new file mode 100644 (file)
index 0000000..eec231a
--- /dev/null
@@ -0,0 +1,67 @@
+/** @file\r
+  EFI SMM Status Code Protocol as defined in the PI 1.2 specification.\r
+\r
+  This protocol provides the basic status code services while in SMM. \r
+\r
+  Copyright (c) 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_STATUS_CODE_H__\r
+#define _SMM_STATUS_CODE_H__\r
+\r
+#include <Uefi/UefiBaseType.h>\r
+#include <Pi/PiMultiPhase.h>\r
+\r
+#define EFI_SMM_STATUS_CODE_PROTOCOL_GUID \\r
+  { \\r
+    0x6afd2b77, 0x98c1, 0x4acd, {0xa6, 0xf9, 0x8a, 0x94, 0x39, 0xde, 0xf, 0xb1} \\r
+  }\r
+\r
+typedef struct _EFI_SMM_STATUS_CODE_PROTOCOL  EFI_SMM_STATUS_CODE_PROTOCOL;\r
+\r
+/**\r
+  Service to emit the status code in SMM.    \r
+\r
+  The EFI_SMM_STATUS_CODE_PROTOCOL.ReportStatusCode() function enables a driver \r
+  to emit a status code while in SMM.  The reason that there is a separate protocol definition from the \r
+  DXE variant of this service is that the publisher of this protocol will provide a service that is \r
+  capability of coexisting with a foreground operational environment, such as an operating system \r
+  after the termination of boot services.  \r
+\r
+  @param[in] This                Points to this instance of the EFI_SMM_STATUS_CODE_PROTOCOL.\r
+  @param[in] CodeType            DIndicates the type of status code being reported. \r
+  @param[in] Value               Describes the current status of a hardware or software entity. \r
+  @param[in] Instance            The enumeration of a hardware or software entity within the system.\r
+  @param[in] CallerId            This optional parameter may be used to identify the caller.\r
+  @param[in] Data                This optional parameter may be used to pass additional data.\r
+\r
+  @retval EFI_SUCCESS            The function completed successfully.\r
+  @retval EFI_INVALID_PARAMETER  The function should not be completed due to a device error.\r
+**/\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EFI_SMM_REPORT_STATUS_CODE)(\r
+  IN CONST EFI_SMM_STATUS_CODE_PROTOCOL  *This,\r
+  IN EFI_STATUS_CODE_TYPE                CodeType,\r
+  IN EFI_STATUS_CODE_VALUE               Value,\r
+  IN UINT32                              Instance,\r
+  IN CONST EFI_GUID                      *CallerId,\r
+  IN EFI_STATUS_CODE_DATA                *Data OPTIONAL\r
+  );\r
+\r
+struct _EFI_SMM_STATUS_CODE_PROTOCOL {\r
+  EFI_SMM_REPORT_STATUS_CODE  ReportStatusCode;\r
+};\r
+\r
+extern EFI_GUID gEfiSmmStatusCodeProtocolGuid;\r
+\r
+#endif\r
+\r
index c3e77cb79ccda07bf85f7116b7944f8cd9e52c50..70305b629d0e6acd35585d71036adf6fa0b13391 100644 (file)
   ## Include/Protocol/SmmCommunication.h\r
   gEfiSmmCommunicationProtocolGuid  = { 0xc68ed8e2, 0x9dc6, 0x4cbd, { 0x9d, 0x94, 0xdb, 0x65, 0xac, 0xc5, 0xc3, 0x32 }}\r
 \r
   ## Include/Protocol/SmmCommunication.h\r
   gEfiSmmCommunicationProtocolGuid  = { 0xc68ed8e2, 0x9dc6, 0x4cbd, { 0x9d, 0x94, 0xdb, 0x65, 0xac, 0xc5, 0xc3, 0x32 }}\r
 \r
+  ## Include/Protocol/SmmStatusCode.h\r
+  gEfiSmmStatusCodeProtocolGuid   = { 0x6afd2b77, 0x98c1, 0x4acd, {0xa6, 0xf9, 0x8a, 0x94, 0x39, 0xde, 0xf, 0xb1}}\r
+\r
   #\r
   # Protocols defined in UEFI2.1/UEFI2.0/EFI1.1\r
   #\r
   #\r
   # Protocols defined in UEFI2.1/UEFI2.0/EFI1.1\r
   #\r