--- /dev/null
+/** @file\r
+ Define the EDKII_DEBUG_PPI that PEIMs can use to dump info to debug port.\r
+\r
+ Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>\r
+\r
+ This program and the accompanying materials\r
+ are licensed and made available under the terms and conditions\r
+ of the BSD License which accompanies this distribution. The\r
+ full text of the license may be found at\r
+ http://opensource.org/licenses/bsd-license.php\r
+\r
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+**/\r
+\r
+#ifndef __EDKII_DEBUG_PPI_H__\r
+#define __EDKII_DEBUG_PPI_H__\r
+\r
+#include <Pi/PiPeiCis.h>\r
+\r
+//\r
+// Global ID for the EDKII_DEBUG_PPI\r
+//\r
+#define EDKII_DEBUG_PPI_GUID \\r
+ { \\r
+ 0x999e699c, 0xb013, 0x475e, {0xb1, 0x7b, 0xf3, 0xa8, 0xae, 0x5c, 0x48, 0x75} \\r
+ }\r
+\r
+///\r
+/// Forward declaration for the PEI_DEBUG_LIB_DEBUG_PPI EDKII_DEBUG_PPI\r
+///\r
+typedef struct _EDKII_DEBUG_PPI EDKII_DEBUG_PPI;\r
+\r
+/**\r
+ Print a debug message to debug output device if the specified error level\r
+ is enabled.\r
+\r
+ @param[in] ErrorLevel The error level of the debug message.\r
+ @param[in] Format Format string for the debug message to print.\r
+ @param[in] Marker BASE_LIST marker for the variable argument list.\r
+\r
+**/\r
+typedef\r
+VOID\r
+(EFIAPI *EDKII_DEBUG_BPRINT)(\r
+ IN UINTN ErrorLevel,\r
+ IN CONST CHAR8 *Format,\r
+ IN BASE_LIST Marker\r
+ );\r
+\r
+/**\r
+ Print an assert message containing a filename, line number, and description.\r
+ This may be followed by a breakpoint or a dead loop.\r
+\r
+ @param[in] FileName The pointer to the name of the source file that\r
+ generated the assert condition.\r
+ @param[in] LineNumber The line number in the source file that generated\r
+ the assert condition\r
+ @param[in] Description The pointer to the description of the assert condition.\r
+\r
+**/\r
+typedef\r
+VOID\r
+(EFIAPI *EDKII_DEBUG_ASSERT)(\r
+ IN CONST CHAR8 *FileName,\r
+ IN UINTN LineNumber,\r
+ IN CONST CHAR8 *Description\r
+ );\r
+\r
+///\r
+/// This PPI contains a set of services to print message to debug output device\r
+///\r
+struct _EDKII_DEBUG_PPI {\r
+ EDKII_DEBUG_BPRINT DebugBPrint;\r
+ EDKII_DEBUG_ASSERT DebugAssert;\r
+};\r
+\r
+extern EFI_GUID gEdkiiDebugPpiGuid;\r
+\r
+#endif\r
+\r
## Include/Ppi/AtaPassThru.h\r
gEdkiiPeiAtaPassThruPpiGuid = { 0xa16473fd, 0xd474, 0x4c89, { 0xae, 0xc7, 0x90, 0xb8, 0x3c, 0x73, 0x86, 0x9 } }\r
\r
+ ## Include/Ppi/Debug.h\r
+ gEdkiiDebugPpiGuid = { 0x999e699c, 0xb013, 0x475e, { 0xb1, 0x7b, 0xf3, 0xa8, 0xae, 0x5c, 0x48, 0x75 } }\r
+\r
[Protocols]\r
## Load File protocol provides capability to load and unload EFI image into memory and execute it.\r
# Include/Protocol/LoadPe32Image.h\r