]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFrameworkModulePkg/Library/SmmRuntimeDxeReportStatusCodeLibFramework/ReportStatusCodeLibInternal.h
OvmfPkg: Drop build flag USE_LEGACY_ISA_STACK and legacy ISA stack
[mirror_edk2.git] / IntelFrameworkModulePkg / Library / SmmRuntimeDxeReportStatusCodeLibFramework / ReportStatusCodeLibInternal.h
index 35d5faedd13c473e040478f494acabe08ac05a54..bac6e7efe387a9357506bb8a52ec8c56123829e6 100644 (file)
@@ -2,20 +2,14 @@
   Internal Header file of Report Status Code Library for RUNTIME\r
   DXE Phase.\r
 \r
-  Copyright (c) 2006 - 2007, Intel Corporation<BR>\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
+  Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>\r
+  SPDX-License-Identifier: BSD-2-Clause-Patent\r
 \r
 **/\r
-#ifndef __REPORT_STATUS_CODE_LIB_INTERNAL__H\r
-#define __REPORT_STATUS_CODE_LIB_INTERNAL__H\r
+#ifndef __REPORT_STATUS_CODE_LIB_INTERNAL__H__\r
+#define __REPORT_STATUS_CODE_LIB_INTERNAL__H__\r
 \r
-#include <FrameworkDxe.h>\r
+#include <FrameworkSmm.h>\r
 \r
 #include <Library/ReportStatusCodeLib.h>\r
 #include <Library/DebugLib.h>\r
 #include <Library/UefiRuntimeServicesTableLib.h>\r
 #include <Library/UefiBootServicesTableLib.h>\r
 #include <Library/DevicePathLib.h>\r
+#include <Library/MemoryAllocationLib.h>\r
 \r
 #include <Guid/StatusCodeDataTypeId.h>\r
+#include <Guid/StatusCodeDataTypeDebug.h>\r
 #include <Guid/EventGroup.h>\r
-#include <Protocol/StatusCode.h>\r
 \r
-#include <FrameworkModuleBase.h>\r
-#include <DebugInfo.h>\r
+#include <Protocol/SmmStatusCode.h>\r
+#include <Protocol/StatusCode.h>\r
+#include <Protocol/SmmBase.h>\r
 \r
-extern EFI_REPORT_STATUS_CODE  mReportStatusCode;\r
 \r
-/**\r
-  Locatet he report status code service.\r
-\r
-  @return     EFI_REPORT_STATUS_CODE    function point to\r
-              ReportStatusCode.\r
-**/\r
-EFI_REPORT_STATUS_CODE\r
-InternalGetReportStatusCode (\r
-  VOID\r
-  );\r
+extern EFI_STATUS_CODE_DATA    *mStatusCodeData;\r
 \r
 /**\r
-  Internal worker function that reports a status code through the Status Code Protocol\r
+  Internal worker function that reports a status code through the status code service.\r
 \r
-  This function checks to see if a Status Code Protocol is present in the handle\r
-  database.  If a Status Code Protocol is not present, then EFI_UNSUPPORTED is\r
-  returned.  If a Status Code Protocol is present, then it is cached in gStatusCode,\r
-  and the ReportStatusCode() service of the Status Code Protocol is called passing in\r
-  Type, Value, Instance, CallerId, and Data.  The result of this call is returned.\r
+  If status code service is not cached, then this function checks if status code service is\r
+  available in system.  If status code service is not available, then EFI_UNSUPPORTED is\r
+  returned.  If status code service is present, then it is cached in mReportStatusCode.\r
+  Finally this function reports status code through the status code service.\r
 \r
   @param  Type              Status code type.\r
   @param  Value             Status code value.\r
@@ -64,9 +49,9 @@ InternalGetReportStatusCode (
   @param  Data              Pointer to the extended data buffer.  This is an\r
                             optional parameter that may be NULL.\r
 \r
-  @retval  EFI_SUCCESS           The status code was reported.\r
-  @retval  EFI_OUT_OF_RESOURCES  There were not enough resources to report the status code.\r
-  @retval  EFI_UNSUPPORTED       Status Code Protocol is not available.\r
+  @retval EFI_SUCCESS       The status code was reported.\r
+  @retval EFI_UNSUPPORTED   Status code service is not available.\r
+  @retval EFI_UNSUPPORTED   Status code type is not supported.\r
 \r
 **/\r
 EFI_STATUS\r
@@ -78,60 +63,5 @@ InternalReportStatusCode (
   IN EFI_STATUS_CODE_DATA     *Data     OPTIONAL\r
   );\r
 \r
-/**\r
-  Reports a status code with full parameters.\r
-\r
-  The function reports a status code.  If ExtendedData is NULL and ExtendedDataSize\r
-  is 0, then an extended data buffer is not reported.  If ExtendedData is not\r
-  NULL and ExtendedDataSize is not 0, then an extended data buffer is allocated.\r
-  ExtendedData is assumed not have the standard status code header, so this function\r
-  is responsible for allocating a buffer large enough for the standard header and\r
-  the extended data passed into this function.  The standard header is filled in\r
-  with a GUID specified by ExtendedDataGuid.  If ExtendedDataGuid is NULL, then a\r
-  GUID of gEfiStatusCodeSpecificDatauid is used.  The status code is reported with\r
-  an instance specified by Instance and a caller ID specified by CallerId.  If\r
-  CallerId is NULL, then a caller ID of gEfiCallerIdGuid is used.\r
-\r
-  ReportStatusCodeEx()must actively prevent recursion.  If ReportStatusCodeEx()\r
-  is called while processing another any other Report Status Code Library function,\r
-  then ReportStatusCodeEx() must return EFI_DEVICE_ERROR immediately.\r
-\r
-  If ExtendedData is NULL and ExtendedDataSize is not zero, then ASSERT().\r
-  If ExtendedData is not NULL and ExtendedDataSize is zero, then ASSERT().\r
-\r
-  @param  Type              Status code type.\r
-  @param  Value             Status code value.\r
-  @param  Instance          Status code instance number.\r
-  @param  CallerId          Pointer to a GUID that identifies the caller of this\r
-                            function.  If this parameter is NULL, then a caller\r
-                            ID of gEfiCallerIdGuid is used.\r
-  @param  ExtendedDataGuid  Pointer to the GUID for the extended data buffer.\r
-                            If this parameter is NULL, then a the status code\r
-                            standard header is filled in with\r
-                            gEfiStatusCodeSpecificDataGuid.\r
-  @param  ExtendedData      Pointer to the extended data buffer.  This is an\r
-                            optional parameter that may be NULL.\r
-  @param  ExtendedDataSize  The size, in bytes, of the extended data buffer.\r
-\r
-  @retval  EFI_SUCCESS           The status code was reported.\r
-  @retval  EFI_OUT_OF_RESOURCES  There were not enough resources to allocate\r
-                                 the extended data section if it was specified.\r
-  @retval  EFI_UNSUPPORTED       Report status code is not supported\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-InternalReportStatusCodeEx (\r
-  IN EFI_STATUS_CODE_TYPE   Type,\r
-  IN EFI_STATUS_CODE_VALUE  Value,\r
-  IN UINT32                 Instance,\r
-  IN CONST EFI_GUID         *CallerId          OPTIONAL,\r
-  IN CONST EFI_GUID         *ExtendedDataGuid  OPTIONAL,\r
-  IN CONST VOID             *ExtendedData      OPTIONAL,\r
-  IN UINTN                  ExtendedDataSize\r
-  );\r
-\r
-\r
-\r
-#endif // __REPORT_STATUS_CODE_LIB_INTERNAL__H\r
+#endif\r
 \r