| /** @file | |
| This driver installs gEdkiiDebugPpiGuid PPI to provide | |
| debug services for PEIMs. | |
| Copyright (c) 2019, Intel Corporation. All rights reserved.<BR> | |
| SPDX-License-Identifier: BSD-2-Clause-Patent | |
| **/ | |
| #include <Uefi/UefiBaseType.h> | |
| #include <Library/PeimEntryPoint.h> | |
| #include <Library/PeiServicesLib.h> | |
| #include <Library/DebugLib.h> | |
| #include <Ppi/Debug.h> | |
| #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_SUCCESS 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); | |
| } |