diff options
author | raywu <raywu0301@gmail.com> | 2018-06-15 00:00:50 +0800 |
---|---|---|
committer | raywu <raywu0301@gmail.com> | 2018-06-15 00:00:50 +0800 |
commit | b7c51c9cf4864df6aabb99a1ae843becd577237c (patch) | |
tree | eebe9b0d0ca03062955223097e57da84dd618b9a /Core/EM/StatusCode/StatusCodeInt.h | |
download | zprj-master.tar.xz |
Diffstat (limited to 'Core/EM/StatusCode/StatusCodeInt.h')
-rw-r--r-- | Core/EM/StatusCode/StatusCodeInt.h | 125 |
1 files changed, 125 insertions, 0 deletions
diff --git a/Core/EM/StatusCode/StatusCodeInt.h b/Core/EM/StatusCode/StatusCodeInt.h new file mode 100644 index 0000000..c60e6ec --- /dev/null +++ b/Core/EM/StatusCode/StatusCodeInt.h @@ -0,0 +1,125 @@ +//********************************************************************** +//********************************************************************** +//** ** +//** (C)Copyright 1985-2011, American Megatrends, Inc. ** +//** ** +//** All Rights Reserved. ** +//** ** +//** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** +//** ** +//** Phone: (770)-246-8600 ** +//** ** +//********************************************************************** +//********************************************************************** + +//********************************************************************** +// $Header: /Alaska/BIN/Modules/StatusCode/StatusCodeInt.h 3 6/23/11 6:10p Oleksiyy $ +// +// $Revision: 3 $ +// +// $Date: 6/23/11 6:10p $ +//********************************************************************** +// Revision History +// ---------------- +// $Log: /Alaska/BIN/Modules/StatusCode/StatusCodeInt.h $ +// +// 3 6/23/11 6:10p Oleksiyy +// [TAG] EIP56644 +// [Category] New Feature +// [Description] Implemented PPI and Protocols, described in a PI 1.2 +// Report Status Code Router specification. +// [Files] StatusCodePei.c, StatusCodeDxe.c, StatusCodeInt.h, +// StatusCodeCommon.c and StatusCodeRuntime.c +// +// 2 7/09/09 5:18p Oleksiyy +// Files clean-up some headers added +// +// 1 3/05/09 1:40p Felixp +// +//********************************************************************** +//<AMI_FHDR_START> +// +// Name: StatusCodeInt.c +// +// Description: Header file containing declarations of functions, macros, and types shared across status code module files. +// +//<AMI_FHDR_END> +//********************************************************************** +#ifndef __STATUS_CODE_INT__H__ +#define __STATUS_CODE_INT__H__ +#ifdef __cplusplus +extern "C" +{ +#endif + + typedef struct + { + EFI_STATUS_CODE_VALUE Value; + UINT8 Byte; + } STATUS_CODE_TO_BYTE_MAP; + + typedef VOID (ERROR_CODE_ACTION)( + IN VOID *PeiServices, IN EFI_STATUS_CODE_VALUE Value + ); + + typedef struct + { + EFI_STATUS_CODE_VALUE Value; + ERROR_CODE_ACTION *Action; + } ERROR_CODE_ACTION_MAP; + +#define STATUS_CODE_TYPE(Type) ((Type)&EFI_STATUS_CODE_TYPE_MASK) + + UINT8 FindByteCode(STATUS_CODE_TO_BYTE_MAP *Map, EFI_STATUS_CODE_VALUE Value); + VOID Delay(VOID **PeiServices, UINT32 Microseconds); + EFI_STATUS ReportStatusCode ( + IN VOID *PeiServices, + IN EFI_STATUS_CODE_TYPE Type, IN EFI_STATUS_CODE_VALUE Value, + IN UINT32 Instance, IN EFI_GUID *CallerId OPTIONAL, + IN EFI_STATUS_CODE_DATA *Data OPTIONAL + ); + VOID InitStatusCodeParts(IN VOID *ImageHandler, IN VOID *ServicesTable); + VOID ResetOrResume(IN VOID *PeiServices, IN EFI_STATUS_CODE_VALUE Value); +#if PI_SPECIFICATION_VERSION >= 0x00010014 +#include <Protocol/ReportStatusCodeHandler.h> +typedef struct { + EFI_STATUS_CODE_TYPE Type; + EFI_STATUS_CODE_VALUE Value; + UINT32 Instance; + UINT32 Reserved; + EFI_GUID CallerId; + EFI_STATUS_CODE_DATA Data; +} RSC_DATA_ENTRY; + +typedef struct { + EFI_RSC_HANDLER_CALLBACK RscHandlerCallback; + EFI_TPL Tpl; + EFI_EVENT Event; + EFI_PHYSICAL_ADDRESS StatusCodeDataBuffer; + UINTN BufferSize; + EFI_PHYSICAL_ADDRESS EndPointer; +} RSC_HANDLER_CALLBACK_ENTRY; + +typedef struct { + UINT32 RegisteredEntries; + UINT32 TotalEntries; +} ROUTER_STRUCT_HEADER; +#endif + /****** DO NOT WRITE BELOW THIS LINE *******/ +#ifdef __cplusplus +} +#endif +#endif +//********************************************************************** +//********************************************************************** +//** ** +//** (C)Copyright 1985-2011, American Megatrends, Inc. ** +//** ** +//** All Rights Reserved. ** +//** ** +//** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** +//** ** +//** Phone: (770)-246-8600 ** +//** ** +//********************************************************************** +//********************************************************************** |