/** @file
This driver installs gEdkiiDebugPpiGuid PPI to provide
debug services for PEIMs.
Copyright (c) 2019, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#include
#include
#include
#include
#include
#include "DebugService.h"
EDKII_DEBUG_PPI mDebugPpi = {
PeiDebugBPrint,
PeiDebugAssert
};
EFI_PEI_PPI_DESCRIPTOR mDebugServicePpi = {
(EFI_PEI_PPI_DESCRIPTOR_PPI | EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST),
&gEdkiiDebugPpiGuid,
(VOID *)&mDebugPpi
};
/**
Print a debug message to debug output device if the specified error level
is enabled.
@param[in] ErrorLevel The error level of the debug message.
@param[in] Format Format string for the debug message to print.
@param[in] Marker BASE_LIST marker for the variable argument list.
**/
VOID
EFIAPI
PeiDebugBPrint (
IN UINTN ErrorLevel,
IN CONST CHAR8 *Format,
IN BASE_LIST Marker
)
{
DebugBPrint (ErrorLevel, Format, Marker);
}
/**
Print an assert message containing a filename, line number, and description.
This may be followed by a breakpoint or a dead loop.
@param[in] FileName The pointer to the name of the source file that
generated the assert condition.
@param[in] LineNumber The line number in the source file that generated
the assert condition
@param[in] Description The pointer to the description of the assert condition.
**/
VOID
EFIAPI
PeiDebugAssert (
IN CONST CHAR8 *FileName,
IN UINTN LineNumber,
IN CONST CHAR8 *Description
)
{
DebugAssert (FileName, LineNumber, Description);
}
/**
Entry point of Debug Service PEIM
This funciton installs EDKII DEBUG PPI
@param FileHandle Handle of the file being invoked.
@param PeiServices Describes the list of possible PEI Services.
@retval EFI_SUCESS The entry point of Debug Service PEIM executes successfully.
@retval Others Some error occurs during the execution of this function.
**/
EFI_STATUS
EFIAPI
DebugSerivceInitialize (
IN EFI_PEI_FILE_HANDLE FileHandle,
IN CONST EFI_PEI_SERVICES **PeiServices
)
{
return PeiServicesInstallPpi (&mDebugServicePpi);
}