/*++ | |
Copyright (c) 2006, Intel Corporation | |
All rights reserved. This program and the accompanying materials | |
are licensed and made available under the terms and conditions of the BSD License | |
which accompanies this distribution. The full text of the license may be found at | |
http://opensource.org/licenses/bsd-license.php | |
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, | |
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. | |
Module Name: | |
MonoStatusCode.h | |
Abstract: | |
Monolithic single PEIM to provide the status code functionality. | |
The PEIM is a blend of libraries that correspond to the different status code | |
listeners that a platform installs. | |
--*/ | |
#ifndef _MONO_STATUS_CODE_H_ | |
#define _MONO_STATUS_CODE_H_ | |
// | |
// Platform specific function Declarations. These must be implemented in a | |
// subdirectory named PlatformName in a file named PlatformStatusCode.c. | |
// See D845GRG\PlatformStatusCode.c for an example of a simple status code | |
// implementation. | |
// See Nt32\PlatformStatusCode.c for an example of a status code implementation | |
// that relocates itself into memory. | |
// | |
// | |
// This is the driver entry point and must be defined. | |
// | |
EFI_STATUS | |
EFIAPI | |
InstallMonoStatusCode ( | |
IN EFI_FFS_FILE_HEADER *FfsHeader, | |
IN EFI_PEI_SERVICES **PeiServices | |
) | |
; | |
// | |
// This is the platform function to initialize the listeners desired by the | |
// platform. | |
// | |
VOID | |
PlatformInitializeStatusCode ( | |
IN EFI_FFS_FILE_HEADER *FfsHeader, | |
IN EFI_PEI_SERVICES **PeiServices | |
) | |
; | |
// | |
// This is the platform function that calls all of the listeners desired by the | |
// platform. | |
// | |
EFI_STATUS | |
EFIAPI | |
PlatformReportStatusCode ( | |
IN EFI_PEI_SERVICES **PeiServices, | |
IN EFI_STATUS_CODE_TYPE CodeType, | |
IN EFI_STATUS_CODE_VALUE Value, | |
IN UINT32 Instance, | |
IN EFI_GUID * CallerId, | |
IN EFI_STATUS_CODE_DATA * Data OPTIONAL | |
) | |
; | |
// | |
// Platform independent function Declarations | |
// | |
// | |
// Initialize the status code listeners and publish the status code PPI. | |
// | |
VOID | |
EFIAPI | |
InitializeMonoStatusCode ( | |
IN EFI_FFS_FILE_HEADER *FfsHeader, | |
IN EFI_PEI_SERVICES **PeiServices | |
) | |
; | |
// | |
// Convert a DXE status code call into a PEI status code call. | |
// | |
EFI_STATUS | |
EFIAPI | |
TranslateDxeStatusCodeToPeiStatusCode ( | |
IN EFI_STATUS_CODE_TYPE CodeType, | |
IN EFI_STATUS_CODE_VALUE Value, | |
IN UINT32 Instance, | |
IN EFI_GUID * CallerId, | |
IN EFI_STATUS_CODE_DATA * Data OPTIONAL | |
) | |
; | |
// | |
// Publish a HOB that contains the listener to be used by DXE. | |
// | |
EFI_STATUS | |
EFIAPI | |
InitializeDxeReportStatusCode ( | |
IN EFI_PEI_SERVICES **PeiServices | |
) | |
; | |
#endif |