]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Core/Pei/StatusCode/StatusCode.c
MdeModulePkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / MdeModulePkg / Core / Pei / StatusCode / StatusCode.c
CommitLineData
615c6dd0 1/** @file\r
b1f6a7c6 2 Pei Core Status Code Support\r
d1102dba
LG
3\r
4Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
9d510e61 5SPDX-License-Identifier: BSD-2-Clause-Patent\r
192f6d4c 6\r
b1f6a7c6 7**/\r
192f6d4c 8\r
0d516397 9#include "PeiMain.h"\r
192f6d4c 10\r
b1f6a7c6 11/**\r
192f6d4c 12\r
b1f6a7c6 13 Core version of the Status Code reporter\r
192f6d4c 14\r
192f6d4c 15\r
d73d93c3 16 @param PeiServices An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation.\r
b1f6a7c6 17 @param CodeType Type of Status Code.\r
18 @param Value Value to output for Status Code.\r
19 @param Instance Instance Number of this status code.\r
20 @param CallerId ID of the caller of this status code.\r
21 @param Data Optional data associated with this status code.\r
192f6d4c 22\r
b1f6a7c6 23 @retval EFI_SUCCESS if status code is successfully reported\r
24 @retval EFI_NOT_AVAILABLE_YET if StatusCodePpi has not been installed\r
192f6d4c 25\r
b1f6a7c6 26**/\r
192f6d4c 27EFI_STATUS\r
28EFIAPI\r
29PeiReportStatusCode (\r
0c2b5da8 30 IN CONST EFI_PEI_SERVICES **PeiServices,\r
31 IN EFI_STATUS_CODE_TYPE CodeType,\r
d1102dba 32 IN EFI_STATUS_CODE_VALUE Value,\r
0c2b5da8 33 IN UINT32 Instance,\r
34 IN CONST EFI_GUID *CallerId,\r
35 IN CONST EFI_STATUS_CODE_DATA *Data OPTIONAL\r
192f6d4c 36 )\r
192f6d4c 37{\r
38 EFI_STATUS Status;\r
39 EFI_PEI_PROGRESS_CODE_PPI *StatusCodePpi;\r
192f6d4c 40\r
41 //\r
40f26b8f 42 // Locate StatusCode Ppi.\r
192f6d4c 43 //\r
44 Status = PeiServicesLocatePpi (\r
d1102dba
LG
45 &gEfiPeiStatusCodePpiGuid,\r
46 0,\r
47 NULL,\r
48 (VOID **)&StatusCodePpi\r
192f6d4c 49 );\r
50\r
51 if (!EFI_ERROR (Status)) {\r
52 Status = StatusCodePpi->ReportStatusCode (\r
53 PeiServices,\r
54 CodeType,\r
55 Value,\r
56 Instance,\r
57 CallerId,\r
58 Data\r
59 );\r
d1102dba
LG
60\r
61 return Status;\r
62 }\r
63\r
64 return EFI_NOT_AVAILABLE_YET;\r
192f6d4c 65}\r
66\r
67\r
68\r