From af1a266670d040d2f4083ff309d732d648afba2a Mon Sep 17 00:00:00 2001 From: Angelos Mouzakitis Date: Tue, 10 Oct 2023 14:33:42 +0000 Subject: Add submodule dependency files Change-Id: Iaf8d18082d3991dec7c0ebbea540f092188eb4ec --- .../Universal/DebugServicePei/DebugService.h | 50 ++++++++++++ .../Universal/DebugServicePei/DebugServicePei.c | 94 ++++++++++++++++++++++ .../Universal/DebugServicePei/DebugServicePei.inf | 46 +++++++++++ .../Universal/DebugServicePei/DebugServicePei.uni | 14 ++++ 4 files changed, 204 insertions(+) create mode 100644 roms/edk2/MdeModulePkg/Universal/DebugServicePei/DebugService.h create mode 100644 roms/edk2/MdeModulePkg/Universal/DebugServicePei/DebugServicePei.c create mode 100644 roms/edk2/MdeModulePkg/Universal/DebugServicePei/DebugServicePei.inf create mode 100644 roms/edk2/MdeModulePkg/Universal/DebugServicePei/DebugServicePei.uni (limited to 'roms/edk2/MdeModulePkg/Universal/DebugServicePei') diff --git a/roms/edk2/MdeModulePkg/Universal/DebugServicePei/DebugService.h b/roms/edk2/MdeModulePkg/Universal/DebugServicePei/DebugService.h new file mode 100644 index 000000000..e81b9cdb6 --- /dev/null +++ b/roms/edk2/MdeModulePkg/Universal/DebugServicePei/DebugService.h @@ -0,0 +1,50 @@ +/** @file + Header file of Debug services instances. + + Copyright (c) 2019, Intel Corporation. All rights reserved.
+ + SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ +#ifndef __DEBUG_SERVICE_H__ +#define __DEBUG_SERVICE_H__ + +#include + +/** + 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 + ); + +/** + Prints 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 + ); + +#endif diff --git a/roms/edk2/MdeModulePkg/Universal/DebugServicePei/DebugServicePei.c b/roms/edk2/MdeModulePkg/Universal/DebugServicePei/DebugServicePei.c new file mode 100644 index 000000000..6d08f5158 --- /dev/null +++ b/roms/edk2/MdeModulePkg/Universal/DebugServicePei/DebugServicePei.c @@ -0,0 +1,94 @@ +/** @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); +} + diff --git a/roms/edk2/MdeModulePkg/Universal/DebugServicePei/DebugServicePei.inf b/roms/edk2/MdeModulePkg/Universal/DebugServicePei/DebugServicePei.inf new file mode 100644 index 000000000..eb76af034 --- /dev/null +++ b/roms/edk2/MdeModulePkg/Universal/DebugServicePei/DebugServicePei.inf @@ -0,0 +1,46 @@ +## @file +# Debug services for PEI phase +# +# This module installs gEdkiiDebugPpiGuid PPI to provide +# debug services for PEIMs. +# +# Copyright (c) 2019, Intel Corporation. All rights reserved.
+# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +## +[Defines] + INF_VERSION = 0x00010005 + BASE_NAME = DebugServicePei + MODULE_UNI_FILE = DebugServicePei.uni + FILE_GUID = B73F81B9-1DFC-487C-824C-0509EE2B0128 + MODULE_TYPE = PEIM + VERSION_STRING = 1.0 + + ENTRY_POINT = DebugSerivceInitialize + +# +# The following information is for reference only and not required by the build tools. +# +# VALID_ARCHITECTURES = IA32 X64 EBC +# + +[Sources] + DebugServicePei.c + DebugService.h + +[Packages] + MdePkg/MdePkg.dec + MdeModulePkg/MdeModulePkg.dec + +[LibraryClasses] + PeimEntryPoint + PeiServicesLib + DebugLib + +[Ppis] + gEdkiiDebugPpiGuid ## PRODUCE + +[Depex] + TRUE + diff --git a/roms/edk2/MdeModulePkg/Universal/DebugServicePei/DebugServicePei.uni b/roms/edk2/MdeModulePkg/Universal/DebugServicePei/DebugServicePei.uni new file mode 100644 index 000000000..8fbd4069e --- /dev/null +++ b/roms/edk2/MdeModulePkg/Universal/DebugServicePei/DebugServicePei.uni @@ -0,0 +1,14 @@ +///** @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 +// +//**/ + +#string STR_MODULE_ABSTRACT #language en-US "Provide debug services at PEI phase." + +#string STR_MODULE_DESCRIPTION #language en-US "It produces gEdkiiDebugPpiGuid to print message to debug output device" + -- cgit