18#include <Library/BaseLib.h>
19#include <Library/DebugLib.h>
20#include <Library/DevicePathLib.h>
22#include <Library/PrintLib.h>
23#include <Library/PcdLib.h>
24#include <Library/BaseMemoryLib.h>
25#include <Library/SerialPortLib.h>
26#include <Library/DebugPrintErrorLevelLib.h>
31#define MAX_DEBUG_MESSAGE_LENGTH 0x100
51 return SerialPortInitialize ();
72 IN CONST CHAR8 *Format,
78 VA_START (Marker, Format);
103 IN CONST CHAR8 *Format,
104 IN VA_LIST VaListMarker,
105 IN BASE_LIST BaseListMarker
118 if ((ErrorLevel & GetDebugPrintErrorLevel ()) == 0) {
125 if (BaseListMarker == NULL) {
126 AsciiVSPrint (
Buffer,
sizeof (
Buffer), Format, VaListMarker);
128 AsciiBSPrint (
Buffer,
sizeof (
Buffer), Format, BaseListMarker);
134 SerialPortWrite ((UINT8 *)
Buffer, AsciiStrLen (
Buffer));
156 IN CONST CHAR8 *Format,
157 IN VA_LIST VaListMarker
184 IN CONST CHAR8 *Format,
185 IN BASE_LIST BaseListMarker
217 IN CONST CHAR8 *FileName,
219 IN CONST CHAR8 *Description
232 SerialPortWrite ((UINT8 *)
Buffer, AsciiStrLen (
Buffer));
237 if ((PcdGet8 (PcdDebugPropertyMask) & DEBUG_PROPERTY_ASSERT_BREAKPOINT_ENABLED) != 0) {
239 }
else if ((PcdGet8 (PcdDebugPropertyMask) & DEBUG_PROPERTY_ASSERT_DEADLOOP_ENABLED) != 0) {
292 return (BOOLEAN)((PcdGet8 (PcdDebugPropertyMask) & DEBUG_PROPERTY_DEBUG_ASSERT_ENABLED) != 0);
311 return (BOOLEAN)((PcdGet8 (PcdDebugPropertyMask) & DEBUG_PROPERTY_DEBUG_PRINT_ENABLED) != 0);
330 return (BOOLEAN)((PcdGet8 (PcdDebugPropertyMask) & DEBUG_PROPERTY_DEBUG_CODE_ENABLED) != 0);
349 return (BOOLEAN)((PcdGet8 (PcdDebugPropertyMask) & DEBUG_PROPERTY_CLEAR_MEMORY_ENABLED) != 0);
364 IN CONST UINTN ErrorLevel
367 return (BOOLEAN)((ErrorLevel & PcdGet32 (PcdFixedDebugPrintErrorLevel)) != 0);
371#if defined (__GNUC__) || defined (__clang__)
384 CONST CHAR16 *Message
392 IN CONST CHAR8 *Message,
393 IN EFI_DEVICE_PATH_PROTOCOL *DevicePath OPTIONAL
401 IN CONST CHAR8 *Message,
402 IN EFI_HANDLE
Handle OPTIONAL
410 IN CONST CHAR8 *Message,
DMG_SIZE_DEVICE_PATH Size
VOID EFIAPI DebugAssert(IN CONST CHAR8 *FileName, IN UINTN LineNumber, IN CONST CHAR8 *Description)
RETURN_STATUS EFIAPI BaseDebugLibSerialPortConstructor(VOID)
VOID EFIAPI DebugVPrint(IN UINTN ErrorLevel, IN CONST CHAR8 *Format, IN VA_LIST VaListMarker)
BOOLEAN EFIAPI DebugPrintLevelEnabled(IN CONST UINTN ErrorLevel)
VOID DebugPrintMarker(IN UINTN ErrorLevel, IN CONST CHAR8 *Format, IN VA_LIST VaListMarker, IN BASE_LIST BaseListMarker)
VOID EFIAPI DebugBPrint(IN UINTN ErrorLevel, IN CONST CHAR8 *Format, IN BASE_LIST BaseListMarker)
VOID *EFIAPI DebugClearMemory(OUT VOID *Buffer, IN UINTN Length)
VOID DebugPrintDevicePathForHandle(IN UINTN ErrorLevel, IN CONST CHAR8 *Message, IN EFI_HANDLE Handle OPTIONAL)
#define MAX_DEBUG_MESSAGE_LENGTH
VOID EFIAPI DebugPrint(IN UINTN ErrorLevel, IN CONST CHAR8 *Format,...)
BOOLEAN EFIAPI DebugCodeEnabled(VOID)
BOOLEAN EFIAPI DebugClearMemoryEnabled(VOID)
BOOLEAN EFIAPI DebugPrintEnabled(VOID)
BOOLEAN EFIAPI DebugAssertEnabled(VOID)
VOID DebugPrintHexDump(IN UINTN ErrorLevel, IN CONST CHAR8 *Message, IN UINT8 *Bytes, IN UINTN Size)
VOID WaitForKeyPress(CONST CHAR16 *Message)
VOID DebugPrintDevicePath(IN UINTN ErrorLevel, IN CONST CHAR8 *Message, IN EFI_DEVICE_PATH_PROTOCOL *DevicePath OPTIONAL)
OC_TYPING_BUFFER_ENTRY Buffer[OC_TYPING_BUFFER_SIZE]
APPLE_EVENT_HANDLE Handle
VOID *EFIAPI SetMem(OUT VOID *Buffer, IN UINTN Length, IN UINT8 Value)
CONST CHAR8 * gEfiCallerBaseName
VOID EFIAPI CpuBreakpoint(VOID)