/** @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); }