3 Copyright (c) 2004 - 2017, Intel Corporation. All rights reserved.<BR>
5 SPDX-License-Identifier: BSD-2-Clause-Patent
14 Contains Platform specific implementations required to use status codes.
18 #ifndef _PLATFORM_STATUS_CODE_H_
19 #define _PLATFORM_STATUS_CODE_H_
22 #define CONFIG_PORT0 0x4E
23 #define INDEX_PORT0 0x4E
24 #define DATA_PORT0 0x4F
28 #include "MonoStatusCode.h"
29 #ifndef _PEI_PORT_80_STATUS_CODE_H_
30 #define _PEI_PORT_80_STATUS_CODE_H_
35 // Status code reporting function
38 Port80ReportStatusCode (
39 IN CONST EFI_PEI_SERVICES
**PeiServices
,
40 IN EFI_STATUS_CODE_TYPE CodeType
,
41 IN EFI_STATUS_CODE_VALUE Value
,
43 IN CONST EFI_GUID
* CallerId
,
44 IN CONST EFI_STATUS_CODE_DATA
* Data OPTIONAL
49 #ifndef _PEI_SERIAL_STATUS_CODE_LIB_H_
50 #define _PEI_SERIAL_STATUS_CODE_LIB_H_
53 #include <Guid/StatusCodeDataTypeId.h>
54 #include <Guid/StatusCodeDataTypeDebug.h>
55 #include <Library/ReportStatusCodeLib.h>
56 #include <Library/PrintLib.h>
57 #include <Library/BaseMemoryLib.h>
60 // Initialization function
63 SerialInitializeStatusCode (
68 // Status code reporting function
71 SerialReportStatusCode (
72 IN CONST EFI_PEI_SERVICES
**PeiServices
,
73 IN EFI_STATUS_CODE_TYPE CodeType
,
74 IN EFI_STATUS_CODE_VALUE Value
,
76 IN CONST EFI_GUID
* CallerId
,
77 IN CONST EFI_STATUS_CODE_DATA
* Data OPTIONAL
82 extern EFI_PEI_PROGRESS_CODE_PPI mStatusCodePpi
;
83 extern EFI_PEI_PPI_DESCRIPTOR mPpiListStatusCode
;
84 #define EFI_SIGNATURE_16(A, B) ((A) | (B << 8))
85 #define EFI_SIGNATURE_32(A, B, C, D) (EFI_SIGNATURE_16 (A, B) | (EFI_SIGNATURE_16 (C, D) << 16))
86 #define STATUSCODE_PEIM_SIGNATURE EFI_SIGNATURE_32 ('p', 's', 't', 'c')
90 EFI_FFS_FILE_HEADER
*FfsHeader
;
91 EFI_PEI_NOTIFY_DESCRIPTOR StatusCodeNotify
;
92 } STATUSCODE_CALLBACK_STATE_INFORMATION
;
101 #define STATUSCODE_PEIM_FROM_THIS(a) \
104 STATUSCODE_CALLBACK_STATE_INFORMATION, \
110 PlatformInitializeStatusCode (
111 IN EFI_FFS_FILE_HEADER
*FfsHeader
,
112 IN CONST EFI_PEI_SERVICES
**PeiServices
117 // Function declarations
120 Install Firmware Volume Hob's once there is main memory
122 @param PeiServices General purpose services available to every PEIM.
123 @param NotifyDescriptor Not Used
126 @retval Status EFI_SUCCESS if the interface could be successfully
132 MemoryDiscoveredPpiNotifyCallback (
133 IN EFI_PEI_SERVICES
**PeiServices
,
134 IN EFI_PEI_NOTIFY_DESCRIPTOR
*NotifyDescriptor
,