12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- /** @file
- @copyright
- Copyright 2017 - 2021 Intel Corporation. <BR>
- SPDX-License-Identifier: BSD-2-Clause-Patent
- **/
- #ifndef __EX_STATUS_CODE_HANDLER_PEI_H__
- #define __EX_STATUS_CODE_HANDLER_PEI_H__
- #include <Ppi/ReportStatusCodeHandler.h>
- #include <Ppi/ExReportStatusCodeHandler.h>
- #include <Guid/StatusCodeDataTypeId.h>
- #include <Guid/StatusCodeDataTypeDebug.h>
- #include <Guid/StatusCodeDataTypeExDebug.h>
- #include <Library/DebugLib.h>
- #include <Library/DebugPrintErrorLevelLib.h>
- #include <Library/PrintLib.h>
- #include <Library/ReportStatusCodeLib.h>
- #include <Library/SerialPortLib.h>
- #include <Library/HobLib.h>
- #include <Library/PcdLib.h>
- #include <Library/PeiServicesLib.h>
- #include <Library/PeimEntryPoint.h>
- #include <Library/BaseMemoryLib.h>
- #include <Library/SemaphoreLib.h>
- /**
- Registers ExSerialStatusCodeReportWorker as callback function for ReportStatusCode() notification.
- @param[in] PeiServices Pointer to PEI Services Table.
- @retval EFI_SUCCESS Function was successfully registered.
- @retval EFI_INVALID_PARAMETER The callback function was NULL.
- @retval EFI_OUT_OF_RESOURCES The internal buffer ran out of space. No more functions can be
- registered.
- @retval EFI_ALREADY_STARTED The function was already registered. It can't be registered again.
- **/
- EFI_STATUS
- EFIAPI
- RegisterExStatusCodeHandler (
- IN CONST EFI_PEI_SERVICES **PeiServices
- );
- /**
- Convert status code value and extended data to readable ASCII string, send string to serial I/O device.
- @param PeiServices An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation.
- @param CodeType Indicates the type of status code being reported.
- @param Value Describes the current status of a hardware or
- software entity. This includes information about the class and
- subclass that is used to classify the entity as well as an operation.
- For progress codes, the operation is the current activity.
- For error codes, it is the exception.For debug codes,it is not defined at this time.
- @param Instance The enumeration of a hardware or software entity within
- the system. A system may contain multiple entities that match a class/subclass
- pairing. The instance differentiates between them. An instance of 0 indicates
- that instance information is unavailable, not meaningful, or not relevant.
- Valid instance numbers start with 1.
- @param CallerId This optional parameter may be used to identify the caller.
- This parameter allows the status code driver to apply different rules to
- different callers.
- @param Data This optional parameter may be used to pass additional data.
- @retval EFI_SUCCESS Status code reported to serial I/O successfully.
- **/
- EFI_STATUS
- EFIAPI
- ExSerialStatusCodeReportWorker (
- IN CONST EFI_PEI_SERVICES **PeiServices,
- IN EFI_STATUS_CODE_TYPE CodeType,
- IN EFI_STATUS_CODE_VALUE Value,
- IN UINT32 Instance,
- IN CONST EFI_GUID *CallerId,
- IN CONST EFI_STATUS_CODE_DATA *Data OPTIONAL
- );
- #endif // __EX_STATUS_CODE_HANDLER_PEI_H__
|