From 5101d837edb8c36ec982fe85ea77492ee8389f48 Mon Sep 17 00:00:00 2001 From: qwang12 Date: Mon, 9 Apr 2007 03:51:50 +0000 Subject: [PATCH] Remove 3 library instances: EdkDxeDebugLibReportStatusCode, EdkUefiDebugLibConOut and EdkUefiDebugLibStdErr in EdkModulePkg. 1) EdkUefiDebugLibConOut, EdkUefiDebugLibStdErr should be replaced by respective library instance in MdePkg 2) We will have a replacement implementation for EdkDxeDebugLibReportStatusCode to emulate the EDK I implementation with a gEfiDebugMaskProtocolGuid which allows Developer to Set debug level using SHELL command err. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2550 6f19259b-4bc3-4df7-8a09-765794883524 --- EdkModulePkg/EdkModulePkg.spd | 5 +- .../EdkDxeDebugLibReportStatusCode/DebugLib.c | 336 ------------------ .../EdkDxeDebugLibReportStatusCode.msa | 89 ----- .../Library/EdkUefiDebugLibConOut/DebugLib.c | 300 ---------------- .../EdkUefiDebugLibConOut.msa | 84 ----- .../Library/EdkUefiDebugLibStdErr/DebugLib.c | 300 ---------------- .../EdkUefiDebugLibStdErr.msa | 84 ----- 7 files changed, 1 insertion(+), 1197 deletions(-) delete mode 100644 EdkModulePkg/Library/EdkDxeDebugLibReportStatusCode/DebugLib.c delete mode 100644 EdkModulePkg/Library/EdkDxeDebugLibReportStatusCode/EdkDxeDebugLibReportStatusCode.msa delete mode 100644 EdkModulePkg/Library/EdkUefiDebugLibConOut/DebugLib.c delete mode 100644 EdkModulePkg/Library/EdkUefiDebugLibConOut/EdkUefiDebugLibConOut.msa delete mode 100644 EdkModulePkg/Library/EdkUefiDebugLibStdErr/DebugLib.c delete mode 100644 EdkModulePkg/Library/EdkUefiDebugLibStdErr/EdkUefiDebugLibStdErr.msa diff --git a/EdkModulePkg/EdkModulePkg.spd b/EdkModulePkg/EdkModulePkg.spd index 2e362adc8f..fe9b696304 100644 --- a/EdkModulePkg/EdkModulePkg.spd +++ b/EdkModulePkg/EdkModulePkg.spd @@ -6,7 +6,7 @@ 0.3 Edk Module Package Reference Implementations This Module provides standard reference information for EFI/Tiano implementations. - Copyright (c) 2006, Intel Corporation. + Copyright (c) 2006 - 2007, Intel Corporation. All rights reserved. This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. @@ -387,7 +387,6 @@ Library/DxeCoreTianoDecompressLibFromHob/DxeCoreTianoDecompressLibFromHob.msa Library/DxeCoreUefiDecompressLibFromHob/DxeCoreUefiDecompressLibFromHob.msa Library/DxeDebugLibSerialPort/DxeDebugLibSerialPort.msa - Library/EdkDxeDebugLibReportStatusCode/EdkDxeDebugLibReportStatusCode.msa Library/EdkDxePeCoffLoaderFromHobLib/EdkDxePeCoffLoaderFromHobLib.msa Library/DxePerformanceLib/DxePerformanceLib.msa Library/EdkDxePrintLib/EdkDxePrintLib.msa @@ -400,8 +399,6 @@ Library/EdkPeCoffLoaderLib/EdkPeCoffLoaderLib.msa Library/PeiPerformanceLib/PeiPerformanceLib.msa Library/EdkScsiLib/EdkScsiLib.msa - Library/EdkUefiDebugLibConOut/EdkUefiDebugLibConOut.msa - Library/EdkUefiDebugLibStdErr/EdkUefiDebugLibStdErr.msa Library/EdkUsbLib/EdkUsbLib.msa Library/EdkSerialPortLibNull/EdkSerialPortLibNull.msa Library/EdkOemHookStatusCodeLibNull/EdkOemHookStatusCodeLibNull.msa diff --git a/EdkModulePkg/Library/EdkDxeDebugLibReportStatusCode/DebugLib.c b/EdkModulePkg/Library/EdkDxeDebugLibReportStatusCode/DebugLib.c deleted file mode 100644 index 6bc2c20dd9..0000000000 --- a/EdkModulePkg/Library/EdkDxeDebugLibReportStatusCode/DebugLib.c +++ /dev/null @@ -1,336 +0,0 @@ -/** @file - EFI Debug Library that installs Debug Level Protocol. - - Copyright (c) 2006, Intel Corporation
- All rights reserved. This program and the accompanying materials - are licensed and made available under the terms and conditions of the BSD License - which accompanies this distribution. The full text of the license may be found at - http://opensource.org/licenses/bsd-license.php - - THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, - WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - -**/ - -STATIC BOOLEAN mDebugLevelInstalled = FALSE; -STATIC EFI_DEBUG_LEVEL_PROTOCOL mDebugLevel = { 0 }; - -/** - Installs Debug Level Protocol. - - The constructor function installs Debug Level Protocol on the ImageHandle. - It will ASSERT() if the installation fails and will always return EFI_SUCCESS. - - @param ImageHandle The firmware allocated handle for the EFI image. - @param SystemTable A pointer to the EFI System Table. - - @retval EFI_SUCCESS The constructor always returns EFI_SUCCESS. - -**/ -EFI_STATUS -EFIAPI -DebugLibConstructor ( - IN EFI_HANDLE ImageHandle, - IN EFI_SYSTEM_TABLE *SystemTable - ) -{ - EFI_STATUS Status; - - // - // Initialize Debug Level Protocol. - // - mDebugLevel.DebugLevel = PcdGet32(PcdDebugPrintErrorLevel); - - // - // Install Debug Level Protocol. - // - Status = gBS->InstallMultipleProtocolInterfaces ( - &ImageHandle, - &gEfiDebugLevelProtocolGuid, - &mDebugLevel, - NULL - ); - ASSERT_EFI_ERROR (Status); - - // - // Set flag to show that the Debug Level Protocol has been installed. - // - mDebugLevelInstalled = TRUE; - - return Status; -} - -/** - - Prints a debug message to the debug output device if the specified error level is enabled. - - If any bit in ErrorLevel is also set in PcdDebugPrintErrorLevel, then print - the message specified by Format and the associated variable argument list to - the debug output device. - - If Format is NULL, then ASSERT(). - - @param ErrorLevel The error level of the debug message. - @param Format Format string for the debug message to print. - -**/ -VOID -EFIAPI -DebugPrint ( - IN UINTN ErrorLevel, - IN CONST CHAR8 *Format, - ... - ) -{ - UINT64 Buffer[EFI_STATUS_CODE_DATA_MAX_SIZE / sizeof (UINT64)]; - EFI_DEBUG_INFO *DebugInfo; - UINTN TotalSize; - UINTN Index; - VA_LIST Marker; - UINT64 *ArgumentPointer; - - // - // If Format is NULL, then ASSERT(). - // - ASSERT (Format != NULL); - - // - // Check driver Debug Level value and global debug level - // - if (mDebugLevelInstalled) { - if ((ErrorLevel & mDebugLevel.DebugLevel) == 0) { - return; - } - } else { - if ((ErrorLevel & PcdGet32(PcdDebugPrintErrorLevel)) == 0) { - return; - } - } - - TotalSize = sizeof (EFI_DEBUG_INFO) + 12 * sizeof (UINT64) + AsciiStrLen (Format) + 1; - if (TotalSize > EFI_STATUS_CODE_DATA_MAX_SIZE) { - return; - } - - // - // Then EFI_DEBUG_INFO - // - DebugInfo = (EFI_DEBUG_INFO *)Buffer; - DebugInfo->ErrorLevel = (UINT32)ErrorLevel; - - // - // 256 byte mini Var Arg stack. That is followed by the format string. - // - VA_START (Marker, Format); - for (Index = 0, ArgumentPointer = (UINT64 *)(DebugInfo + 1); Index < 12; Index++, ArgumentPointer++) { - WriteUnaligned64(ArgumentPointer, VA_ARG (Marker, UINT64)); - } - VA_END (Marker); - AsciiStrCpy ((CHAR8 *)ArgumentPointer, Format); - - REPORT_STATUS_CODE_EX ( - EFI_DEBUG_CODE, - (EFI_SOFTWARE_DXE_BS_DRIVER | EFI_DC_UNSPECIFIED), - 0, - NULL, - &gEfiStatusCodeDataTypeDebugGuid, - DebugInfo, - TotalSize - ); -} - - -/** - - Prints an assert message containing a filename, line number, and description. - This may be followed by a breakpoint or a dead loop. - - Print a message of the form "ASSERT (): \n" - to the debug output device. If DEBUG_PROPERTY_ASSERT_BREAKPOINT_ENABLED bit of - PcdDebugProperyMask is set then CpuBreakpoint() is called. Otherwise, if - DEBUG_PROPERTY_ASSERT_DEADLOOP_ENABLED bit of PcdDebugProperyMask is set then - CpuDeadLoop() is called. If neither of these bits are set, then this function - returns immediately after the message is printed to the debug output device. - DebugAssert() must actively prevent recusrsion. If DebugAssert() is called while - processing another DebugAssert(), then DebugAssert() must return immediately. - - If FileName is NULL, then a string of "(NULL) Filename" is printed. - - If Description is NULL, then a string of "(NULL) Description" is printed. - - @param FileName Pointer to the name of the source file that generated the assert condition. - @param LineNumber The line number in the source file that generated the assert condition - @param Description Pointer to the description of the assert condition. - -**/ -VOID -EFIAPI -DebugAssert ( - IN CONST CHAR8 *FileName, - IN UINTN LineNumber, - IN CONST CHAR8 *Description - ) -{ - UINT64 Buffer[EFI_STATUS_CODE_DATA_MAX_SIZE / sizeof(UINT64)]; - EFI_DEBUG_ASSERT_DATA *AssertData; - UINTN TotalSize; - CHAR8 *Temp; - - // - // Make sure it will all fit in the passed in buffer. - // - TotalSize = sizeof (EFI_DEBUG_ASSERT_DATA) + AsciiStrLen (FileName) + 1 + AsciiStrLen (Description) + 1; - if (TotalSize <= EFI_STATUS_CODE_DATA_MAX_SIZE) { - // - // Fill in EFI_DEBUG_ASSERT_DATA - // - AssertData = (EFI_DEBUG_ASSERT_DATA *)Buffer; - AssertData->LineNumber = (UINT32)LineNumber; - - // - // Copy Ascii FileName including NULL. - // - Temp = AsciiStrCpy ((CHAR8 *)(AssertData + 1), FileName); - - // - // Copy Ascii Description. - // - AsciiStrCpy (Temp + AsciiStrLen (FileName) + 1, Description); - - REPORT_STATUS_CODE_WITH_EXTENDED_DATA ( - (EFI_ERROR_CODE | EFI_ERROR_UNRECOVERED), - (EFI_SOFTWARE_DXE_BS_DRIVER | EFI_SW_EC_ILLEGAL_SOFTWARE_STATE), - AssertData, - TotalSize - ); - } - - // - // Generate a Breakpoint, DeadLoop, or NOP based on PCD settings - // - if ((PcdGet8(PcdDebugPropertyMask) & DEBUG_PROPERTY_ASSERT_BREAKPOINT_ENABLED) != 0) { - CpuBreakpoint (); - } else if ((PcdGet8(PcdDebugPropertyMask) & DEBUG_PROPERTY_ASSERT_DEADLOOP_ENABLED) != 0) { - CpuDeadLoop (); - } -} - - -/** - - Fills a target buffer with PcdDebugClearMemoryValue, and returns the target buffer. - - This function fills Length bytes of Buffer with the value specified by - PcdDebugClearMemoryValue, and returns Buffer. - - If Buffer is NULL, then ASSERT(). - - If Length is greater than (MAX_ADDRESS ? Buffer + 1), then ASSERT(). - - @param Buffer Pointer to the target buffer to fill with PcdDebugClearMemoryValue. - @param Length Number of bytes in Buffer to fill with zeros PcdDebugClearMemoryValue. - - @return Buffer - -**/ -VOID * -EFIAPI -DebugClearMemory ( - OUT VOID *Buffer, - IN UINTN Length - ) -{ - // - // If Buffer is NULL, then ASSERT(). - // - ASSERT (Buffer != NULL); - - // - // SetMem() checks for the the ASSERT() condition on Length and returns Buffer - // - return SetMem (Buffer, Length, PcdGet8(PcdDebugClearMemoryValue)); -} - - -/** - - Returns TRUE if ASSERT() macros are enabled. - - This function returns TRUE if the DEBUG_PROPERTY_DEBUG_ASSERT_ENABLED bit of - PcdDebugProperyMask is set. Otherwise FALSE is returned. - - @retval TRUE The DEBUG_PROPERTY_DEBUG_ASSERT_ENABLED bit of PcdDebugProperyMask is set. - @retval FALSE The DEBUG_PROPERTY_DEBUG_ASSERT_ENABLED bit of PcdDebugProperyMask is clear. - -**/ -BOOLEAN -EFIAPI -DebugAssertEnabled ( - VOID - ) -{ - return ((PcdGet8(PcdDebugPropertyMask) & DEBUG_PROPERTY_DEBUG_ASSERT_ENABLED) != 0); -} - - -/** - - Returns TRUE if DEBUG()macros are enabled. - - This function returns TRUE if the DEBUG_PROPERTY_DEBUG_PRINT_ENABLED bit of - PcdDebugProperyMask is set. Otherwise FALSE is returned. - - @retval TRUE The DEBUG_PROPERTY_DEBUG_PRINT_ENABLED bit of PcdDebugProperyMask is set. - @retval FALSE The DEBUG_PROPERTY_DEBUG_PRINT_ENABLED bit of PcdDebugProperyMask is clear. - -**/ -BOOLEAN -EFIAPI -DebugPrintEnabled ( - VOID - ) -{ - return ((PcdGet8(PcdDebugPropertyMask) & DEBUG_PROPERTY_DEBUG_PRINT_ENABLED) != 0); -} - - -/** - - Returns TRUE if DEBUG_CODE()macros are enabled. - - This function returns TRUE if the DEBUG_PROPERTY_DEBUG_CODE_ENABLED bit of - PcdDebugProperyMask is set. Otherwise FALSE is returned. - - @retval TRUE The DEBUG_PROPERTY_DEBUG_CODE_ENABLED bit of PcdDebugProperyMask is set. - @retval FALSE The DEBUG_PROPERTY_DEBUG_CODE_ENABLED bit of PcdDebugProperyMask is clear. - -**/ -BOOLEAN -EFIAPI -DebugCodeEnabled ( - VOID - ) -{ - return ((PcdGet8(PcdDebugPropertyMask) & DEBUG_PROPERTY_DEBUG_CODE_ENABLED) != 0); -} - - -/** - - Returns TRUE if DEBUG_CLEAR_MEMORY()macro is enabled. - - This function returns TRUE if the DEBUG_PROPERTY_DEBUG_CLEAR_MEMORY_ENABLED bit of - PcdDebugProperyMask is set. Otherwise FALSE is returned. - - @retval TRUE The DEBUG_PROPERTY_DEBUG_CLEAR_MEMORY_ENABLED bit of PcdDebugProperyMask is set. - @retval FALSE The DEBUG_PROPERTY_DEBUG_CLEAR_MEMORY_ENABLED bit of PcdDebugProperyMask is clear. - -**/ -BOOLEAN -EFIAPI -DebugClearMemoryEnabled ( - VOID - ) -{ - return ((PcdGet8(PcdDebugPropertyMask) & DEBUG_PROPERTY_CLEAR_MEMORY_ENABLED) != 0); -} diff --git a/EdkModulePkg/Library/EdkDxeDebugLibReportStatusCode/EdkDxeDebugLibReportStatusCode.msa b/EdkModulePkg/Library/EdkDxeDebugLibReportStatusCode/EdkDxeDebugLibReportStatusCode.msa deleted file mode 100644 index d15013b9ef..0000000000 --- a/EdkModulePkg/Library/EdkDxeDebugLibReportStatusCode/EdkDxeDebugLibReportStatusCode.msa +++ /dev/null @@ -1,89 +0,0 @@ - - - - EdkDxeDebugLibReportStatusCode - DXE_DRIVER - 76a2a4d8-f605-407a-8057-4a17dcdc4c6d - 1.0 - Debug Library for DXE drivers - This library provides debug functions by laying on a Report Status Code Library. - Copyright (c) 2006, Intel Corporation. - All rights reserved. This program and the accompanying materials - are licensed and made available under the terms and conditions of the BSD License - which accompanies this distribution. The full text of the license may be found at - http://opensource.org/licenses/bsd-license.php - THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, - WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - FRAMEWORK_BUILD_PACKAGING_SPECIFICATION 0x00000052 - - - IA32 X64 IPF EBC - false - EdkDxeDebugLibReportStatusCode - - - - DebugLib - - - ReportStatusCodeLib - - - BaseMemoryLib - - - BaseLib - - - PcdLib - - - UefiBootServicesTableLib - - - - DebugLib.c - - - - - - - - gEfiDebugLevelProtocolGuid - - - - - gEfiStatusCodeDataTypeDebugGuid - - - - EFI_SPECIFICATION_VERSION 0x00020000 - EDK_RELEASE_VERSION 0x00020000 - - DebugLibConstructor - - - - - PcdDebugPropertyMask - gEfiMdePkgTokenSpaceGuid - The bitmask of flags that specify the enable/disable of Debug - Assert, Debug Print, Debug Code, Clear Memory, Assert - Breakpoint and Assert Deadloop. - - - PcdDebugClearMemoryValue - gEfiMdePkgTokenSpaceGuid - The value used by DebugClearMemory () to fill a certain range - of memory. - - - PcdDebugPrintErrorLevel - gEfiMdePkgTokenSpaceGuid - The bitmask of flags that specify the kind of debug message - output when Debug Print is enabled. - - - \ No newline at end of file diff --git a/EdkModulePkg/Library/EdkUefiDebugLibConOut/DebugLib.c b/EdkModulePkg/Library/EdkUefiDebugLibConOut/DebugLib.c deleted file mode 100644 index 43d904a677..0000000000 --- a/EdkModulePkg/Library/EdkUefiDebugLibConOut/DebugLib.c +++ /dev/null @@ -1,300 +0,0 @@ -/** @file - UEFI Debug Library that uses PrintLib to send messages to CONOUT. - - Copyright (c) 2006, Intel Corporation
- All rights reserved. This program and the accompanying materials - are licensed and made available under the terms and conditions of the BSD License - which accompanies this distribution. The full text of the license may be found at - http://opensource.org/licenses/bsd-license.php - - THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, - WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - -**/ - -// -// Define the maximum debug and assert message length that this library supports. -// -#define MAX_DEBUG_MESSAGE_LENGTH 0x100 - -STATIC BOOLEAN mDebugLevelInstalled = FALSE; -STATIC EFI_DEBUG_LEVEL_PROTOCOL mDebugLevel = { 0 }; - -/** - Installs Debug Level Protocol. - - The constructor function installs Debug Level Protocol on the ImageHandle. - It will ASSERT() if the installation fails and will always return EFI_SUCCESS. - - @param ImageHandle The firmware allocated handle for the EFI image. - @param SystemTable A pointer to the EFI System Table. - - @retval EFI_SUCCESS The constructor always returns EFI_SUCCESS. - -**/ -EFI_STATUS -EFIAPI -DebugLibConstructor ( - IN EFI_HANDLE ImageHandle, - IN EFI_SYSTEM_TABLE *SystemTable - ) -{ - EFI_STATUS Status; - - // - // Initialize Debug Level Protocol. - // - mDebugLevel.DebugLevel = PcdGet32(PcdDebugPrintErrorLevel); - - // - // Install Debug Level Protocol. - // - Status = gBS->InstallMultipleProtocolInterfaces ( - &ImageHandle, - &gEfiDebugLevelProtocolGuid, - &mDebugLevel, - NULL - ); - ASSERT_EFI_ERROR (Status); - - // - // Set flag to show that the Debug Level Protocol has been installed. - // - mDebugLevelInstalled = TRUE; - - return Status; -} - -/** - - Prints a debug message to the debug output device if the specified error level is enabled. - - If any bit in ErrorLevel is also set in PcdDebugPrintErrorLevel, then print - the message specified by Format and the associated variable argument list to - the debug output device. - - If Format is NULL, then ASSERT(). - - @param ErrorLevel The error level of the debug message. - @param Format Format string for the debug message to print. - -**/ -VOID -EFIAPI -DebugPrint ( - IN UINTN ErrorLevel, - IN CONST CHAR8 *Format, - ... - ) -{ - CHAR16 Buffer[MAX_DEBUG_MESSAGE_LENGTH]; - VA_LIST Marker; - - // - // If Format is NULL, then ASSERT(). - // - ASSERT (Format != NULL); - - // - // Check driver Debug Level value and global debug level - // - if (mDebugLevelInstalled) { - if ((ErrorLevel & mDebugLevel.DebugLevel) == 0) { - return; - } - } else { - if ((ErrorLevel & PcdGet32(PcdDebugPrintErrorLevel)) == 0) { - return; - } - } - - // - // Convert the DEBUG() message to a Unicode String - // - VA_START (Marker, Format); - UnicodeVSPrintAsciiFormat (Buffer, sizeof (Buffer), Format, Marker); - VA_END (Marker); - - // - // Send the print string to the Console Output device if CONOUT is available. - // - if (gST->ConOut != NULL) { - gST->ConOut->OutputString (gST->ConOut, Buffer); - } -} - - -/** - - Prints an assert message containing a filename, line number, and description. - This may be followed by a breakpoint or a dead loop. - - Print a message of the form "ASSERT (): \n" - to the debug output device. If DEBUG_PROPERTY_ASSERT_BREAKPOINT_ENABLED bit of - PcdDebugProperyMask is set then CpuBreakpoint() is called. Otherwise, if - DEBUG_PROPERTY_ASSERT_DEADLOOP_ENABLED bit of PcdDebugProperyMask is set then - CpuDeadLoop() is called. If neither of these bits are set, then this function - returns immediately after the message is printed to the debug output device. - DebugAssert() must actively prevent recusrsion. If DebugAssert() is called while - processing another DebugAssert(), then DebugAssert() must return immediately. - - If FileName is NULL, then a string of "(NULL) Filename" is printed. - - If Description is NULL, then a string of "(NULL) Description" is printed. - - @param FileName Pointer to the name of the source file that generated the assert condition. - @param LineNumber The line number in the source file that generated the assert condition - @param Description Pointer to the description of the assert condition. - -**/ -VOID -EFIAPI -DebugAssert ( - IN CONST CHAR8 *FileName, - IN UINTN LineNumber, - IN CONST CHAR8 *Description - ) -{ - CHAR16 Buffer[MAX_DEBUG_MESSAGE_LENGTH]; - - // - // Generate the ASSERT() message in Unicode format - // - UnicodeSPrintAsciiFormat (Buffer, sizeof (Buffer), "ASSERT %s(%d): %s\n", FileName, LineNumber, Description); - - // - // Send the print string to the Console Output device if CONOUT is available. - // - if (gST->ConOut != NULL) { - gST->ConOut->OutputString (gST->ConOut, Buffer); - } - - // - // Generate a Breakpoint, DeadLoop, or NOP based on PCD settings - // - if ((PcdGet8(PcdDebugPropertyMask) & DEBUG_PROPERTY_ASSERT_BREAKPOINT_ENABLED) != 0) { - CpuBreakpoint (); - } else if ((PcdGet8(PcdDebugPropertyMask) & DEBUG_PROPERTY_ASSERT_DEADLOOP_ENABLED) != 0) { - CpuDeadLoop (); - } -} - - -/** - - Fills a target buffer with PcdDebugClearMemoryValue, and returns the target buffer. - - This function fills Length bytes of Buffer with the value specified by - PcdDebugClearMemoryValue, and returns Buffer. - - If Buffer is NULL, then ASSERT(). - - If Length is greater than (MAX_ADDRESS ? Buffer + 1), then ASSERT(). - - @param Buffer Pointer to the target buffer to fill with PcdDebugClearMemoryValue. - @param Length Number of bytes in Buffer to fill with zeros PcdDebugClearMemoryValue. - - @return Buffer - -**/ -VOID * -EFIAPI -DebugClearMemory ( - OUT VOID *Buffer, - IN UINTN Length - ) -{ - // - // If Buffer is NULL, then ASSERT(). - // - ASSERT (Buffer != NULL); - - // - // SetMem() checks for the the ASSERT() condition on Length and returns Buffer - // - return SetMem (Buffer, Length, PcdGet8(PcdDebugClearMemoryValue)); -} - - -/** - - Returns TRUE if ASSERT() macros are enabled. - - This function returns TRUE if the DEBUG_PROPERTY_DEBUG_ASSERT_ENABLED bit of - PcdDebugProperyMask is set. Otherwise FALSE is returned. - - @retval TRUE The DEBUG_PROPERTY_DEBUG_ASSERT_ENABLED bit of PcdDebugProperyMask is set. - @retval FALSE The DEBUG_PROPERTY_DEBUG_ASSERT_ENABLED bit of PcdDebugProperyMask is clear. - -**/ -BOOLEAN -EFIAPI -DebugAssertEnabled ( - VOID - ) -{ - return ((PcdGet8(PcdDebugPropertyMask) & DEBUG_PROPERTY_DEBUG_ASSERT_ENABLED) != 0); -} - - -/** - - Returns TRUE if DEBUG()macros are enabled. - - This function returns TRUE if the DEBUG_PROPERTY_DEBUG_PRINT_ENABLED bit of - PcdDebugProperyMask is set. Otherwise FALSE is returned. - - @retval TRUE The DEBUG_PROPERTY_DEBUG_PRINT_ENABLED bit of PcdDebugProperyMask is set. - @retval FALSE The DEBUG_PROPERTY_DEBUG_PRINT_ENABLED bit of PcdDebugProperyMask is clear. - -**/ -BOOLEAN -EFIAPI -DebugPrintEnabled ( - VOID - ) -{ - return ((PcdGet8(PcdDebugPropertyMask) & DEBUG_PROPERTY_DEBUG_PRINT_ENABLED) != 0); -} - - -/** - - Returns TRUE if DEBUG_CODE()macros are enabled. - - This function returns TRUE if the DEBUG_PROPERTY_DEBUG_CODE_ENABLED bit of - PcdDebugProperyMask is set. Otherwise FALSE is returned. - - @retval TRUE The DEBUG_PROPERTY_DEBUG_CODE_ENABLED bit of PcdDebugProperyMask is set. - @retval FALSE The DEBUG_PROPERTY_DEBUG_CODE_ENABLED bit of PcdDebugProperyMask is clear. - -**/ -BOOLEAN -EFIAPI -DebugCodeEnabled ( - VOID - ) -{ - return ((PcdGet8(PcdDebugPropertyMask) & DEBUG_PROPERTY_DEBUG_CODE_ENABLED) != 0); -} - - -/** - - Returns TRUE if DEBUG_CLEAR_MEMORY()macro is enabled. - - This function returns TRUE if the DEBUG_PROPERTY_DEBUG_CLEAR_MEMORY_ENABLED bit of - PcdDebugProperyMask is set. Otherwise FALSE is returned. - - @retval TRUE The DEBUG_PROPERTY_DEBUG_CLEAR_MEMORY_ENABLED bit of PcdDebugProperyMask is set. - @retval FALSE The DEBUG_PROPERTY_DEBUG_CLEAR_MEMORY_ENABLED bit of PcdDebugProperyMask is clear. - -**/ -BOOLEAN -EFIAPI -DebugClearMemoryEnabled ( - VOID - ) -{ - return ((PcdGet8(PcdDebugPropertyMask) & DEBUG_PROPERTY_CLEAR_MEMORY_ENABLED) != 0); -} diff --git a/EdkModulePkg/Library/EdkUefiDebugLibConOut/EdkUefiDebugLibConOut.msa b/EdkModulePkg/Library/EdkUefiDebugLibConOut/EdkUefiDebugLibConOut.msa deleted file mode 100644 index 64f55e51ed..0000000000 --- a/EdkModulePkg/Library/EdkUefiDebugLibConOut/EdkUefiDebugLibConOut.msa +++ /dev/null @@ -1,84 +0,0 @@ - - - - EdkUefiDebugLibConOut - DXE_DRIVER - 7293fe0b-1fff-4f8f-b808-10cb55f6a174 - 1.0 - Debug Library for UEFI drivers - This library uses PrintLib to send messages to CONOUT. - Copyright (c) 2006 - 2007, Intel Corporation. - All rights reserved. This program and the accompanying materials - are licensed and made available under the terms and conditions of the BSD License - which accompanies this distribution. The full text of the license may be found at - http://opensource.org/licenses/bsd-license.php - THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, - WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - FRAMEWORK_BUILD_PACKAGING_SPECIFICATION 0x00000052 - - - IA32 X64 IPF EBC - false - EdkUefiDebugLibConOut - - - - DebugLib - - - PrintLib - - - PcdLib - - - UefiBootServicesTableLib - - - BaseMemoryLib - - - BaseLib - - - - DebugLib.c - - - - - - - - gEfiDebugLevelProtocolGuid - - - - EFI_SPECIFICATION_VERSION 0x00020000 - EDK_RELEASE_VERSION 0x00020000 - - DebugLibConstructor - - - - - PcdDebugPropertyMask - gEfiMdePkgTokenSpaceGuid - The bitmask of flags that specify the enable/disable of Debug - Assert, Debug Print, Debug Code, Clear Memory, Assert - Breakpoint and Assert Deadloop. - - - PcdDebugPrintErrorLevel - gEfiMdePkgTokenSpaceGuid - The bitmask of flags that specify the kind of debug message - output when Debug Print is enabled. - - - PcdDebugClearMemoryValue - gEfiMdePkgTokenSpaceGuid - The value used by DebugClearMemory () to fill a certain range - of memory. - - - \ No newline at end of file diff --git a/EdkModulePkg/Library/EdkUefiDebugLibStdErr/DebugLib.c b/EdkModulePkg/Library/EdkUefiDebugLibStdErr/DebugLib.c deleted file mode 100644 index 9ba70df0d6..0000000000 --- a/EdkModulePkg/Library/EdkUefiDebugLibStdErr/DebugLib.c +++ /dev/null @@ -1,300 +0,0 @@ -/** @file - UEFI Debug Library that uses PrintLib to send messages to STDERR. - - Copyright (c) 2006, Intel Corporation
- All rights reserved. This program and the accompanying materials - are licensed and made available under the terms and conditions of the BSD License - which accompanies this distribution. The full text of the license may be found at - http://opensource.org/licenses/bsd-license.php - - THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, - WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - -**/ - -// -// Define the maximum debug and assert message length that this library supports. -// -#define MAX_DEBUG_MESSAGE_LENGTH 0x100 - -STATIC BOOLEAN mDebugLevelInstalled = FALSE; -STATIC EFI_DEBUG_LEVEL_PROTOCOL mDebugLevel = { 0 }; - -/** - Installs Debug Level Protocol. - - The constructor function installs Debug Level Protocol on the ImageHandle. - It will ASSERT() if the installation fails and will always return EFI_SUCCESS. - - @param ImageHandle The firmware allocated handle for the EFI image. - @param SystemTable A pointer to the EFI System Table. - - @retval EFI_SUCCESS The constructor always returns EFI_SUCCESS. - -**/ -EFI_STATUS -EFIAPI -DebugLibConstructor ( - IN EFI_HANDLE ImageHandle, - IN EFI_SYSTEM_TABLE *SystemTable - ) -{ - EFI_STATUS Status; - - // - // Initialize Debug Level Protocol. - // - mDebugLevel.DebugLevel = PcdGet32(PcdDebugPrintErrorLevel); - - // - // Install Debug Level Protocol. - // - Status = gBS->InstallMultipleProtocolInterfaces ( - &ImageHandle, - &gEfiDebugLevelProtocolGuid, - &mDebugLevel, - NULL - ); - ASSERT_EFI_ERROR (Status); - - // - // Set flag to show that the Debug Level Protocol has been installed. - // - mDebugLevelInstalled = TRUE; - - return Status; -} - -/** - - Prints a debug message to the debug output device if the specified error level is enabled. - - If any bit in ErrorLevel is also set in PcdDebugPrintErrorLevel, then print - the message specified by Format and the associated variable argument list to - the debug output device. - - If Format is NULL, then ASSERT(). - - @param ErrorLevel The error level of the debug message. - @param Format Format string for the debug message to print. - -**/ -VOID -EFIAPI -DebugPrint ( - IN UINTN ErrorLevel, - IN CONST CHAR8 *Format, - ... - ) -{ - CHAR16 Buffer[MAX_DEBUG_MESSAGE_LENGTH]; - VA_LIST Marker; - - // - // If Format is NULL, then ASSERT(). - // - ASSERT (Format != NULL); - - // - // Check driver Debug Level value and global debug level - // - if (mDebugLevelInstalled) { - if ((ErrorLevel & mDebugLevel.DebugLevel) == 0) { - return; - } - } else { - if ((ErrorLevel & PcdGet32(PcdDebugPrintErrorLevel)) == 0) { - return; - } - } - - // - // Convert the DEBUG() message to a Unicode String - // - VA_START (Marker, Format); - UnicodeVSPrintAsciiFormat (Buffer, sizeof (Buffer), Format, Marker); - VA_END (Marker); - - // - // Send the print string to the Standard Error device if STDERR is available. - // - if (gST->StdErr != NULL) { - gST->StdErr->OutputString (gST->StdErr, Buffer); - } -} - - -/** - - Prints an assert message containing a filename, line number, and description. - This may be followed by a breakpoint or a dead loop. - - Print a message of the form "ASSERT (): \n" - to the debug output device. If DEBUG_PROPERTY_ASSERT_BREAKPOINT_ENABLED bit of - PcdDebugProperyMask is set then CpuBreakpoint() is called. Otherwise, if - DEBUG_PROPERTY_ASSERT_DEADLOOP_ENABLED bit of PcdDebugProperyMask is set then - CpuDeadLoop() is called. If neither of these bits are set, then this function - returns immediately after the message is printed to the debug output device. - DebugAssert() must actively prevent recusrsion. If DebugAssert() is called while - processing another DebugAssert(), then DebugAssert() must return immediately. - - If FileName is NULL, then a string of "(NULL) Filename" is printed. - - If Description is NULL, then a string of "(NULL) Description" is printed. - - @param FileName Pointer to the name of the source file that generated the assert condition. - @param LineNumber The line number in the source file that generated the assert condition - @param Description Pointer to the description of the assert condition. - -**/ -VOID -EFIAPI -DebugAssert ( - IN CONST CHAR8 *FileName, - IN UINTN LineNumber, - IN CONST CHAR8 *Description - ) -{ - CHAR16 Buffer[MAX_DEBUG_MESSAGE_LENGTH]; - - // - // Generate the ASSERT() message in Unicode format - // - UnicodeSPrintAsciiFormat (Buffer, sizeof (Buffer), "ASSERT %s(%d): %s\n", FileName, LineNumber, Description); - - // - // Send the print string to the Standard Error device if STDERR is available. - // - if (gST->StdErr != NULL) { - gST->StdErr->OutputString (gST->StdErr, Buffer); - } - - // - // Generate a Breakpoint, DeadLoop, or NOP based on PCD settings - // - if ((PcdGet8(PcdDebugPropertyMask) & DEBUG_PROPERTY_ASSERT_BREAKPOINT_ENABLED) != 0) { - CpuBreakpoint (); - } else if ((PcdGet8(PcdDebugPropertyMask) & DEBUG_PROPERTY_ASSERT_DEADLOOP_ENABLED) != 0) { - CpuDeadLoop (); - } -} - - -/** - - Fills a target buffer with PcdDebugClearMemoryValue, and returns the target buffer. - - This function fills Length bytes of Buffer with the value specified by - PcdDebugClearMemoryValue, and returns Buffer. - - If Buffer is NULL, then ASSERT(). - - If Length is greater than (MAX_ADDRESS ? Buffer + 1), then ASSERT(). - - @param Buffer Pointer to the target buffer to fill with PcdDebugClearMemoryValue. - @param Length Number of bytes in Buffer to fill with zeros PcdDebugClearMemoryValue. - - @return Buffer - -**/ -VOID * -EFIAPI -DebugClearMemory ( - OUT VOID *Buffer, - IN UINTN Length - ) -{ - // - // If Buffer is NULL, then ASSERT(). - // - ASSERT (Buffer != NULL); - - // - // SetMem() checks for the the ASSERT() condition on Length and returns Buffer - // - return SetMem (Buffer, Length, PcdGet8(PcdDebugClearMemoryValue)); -} - - -/** - - Returns TRUE if ASSERT() macros are enabled. - - This function returns TRUE if the DEBUG_PROPERTY_DEBUG_ASSERT_ENABLED bit of - PcdDebugProperyMask is set. Otherwise FALSE is returned. - - @retval TRUE The DEBUG_PROPERTY_DEBUG_ASSERT_ENABLED bit of PcdDebugProperyMask is set. - @retval FALSE The DEBUG_PROPERTY_DEBUG_ASSERT_ENABLED bit of PcdDebugProperyMask is clear. - -**/ -BOOLEAN -EFIAPI -DebugAssertEnabled ( - VOID - ) -{ - return ((PcdGet8(PcdDebugPropertyMask) & DEBUG_PROPERTY_DEBUG_ASSERT_ENABLED) != 0); -} - - -/** - - Returns TRUE if DEBUG()macros are enabled. - - This function returns TRUE if the DEBUG_PROPERTY_DEBUG_PRINT_ENABLED bit of - PcdDebugProperyMask is set. Otherwise FALSE is returned. - - @retval TRUE The DEBUG_PROPERTY_DEBUG_PRINT_ENABLED bit of PcdDebugProperyMask is set. - @retval FALSE The DEBUG_PROPERTY_DEBUG_PRINT_ENABLED bit of PcdDebugProperyMask is clear. - -**/ -BOOLEAN -EFIAPI -DebugPrintEnabled ( - VOID - ) -{ - return ((PcdGet8(PcdDebugPropertyMask) & DEBUG_PROPERTY_DEBUG_PRINT_ENABLED) != 0); -} - - -/** - - Returns TRUE if DEBUG_CODE()macros are enabled. - - This function returns TRUE if the DEBUG_PROPERTY_DEBUG_CODE_ENABLED bit of - PcdDebugProperyMask is set. Otherwise FALSE is returned. - - @retval TRUE The DEBUG_PROPERTY_DEBUG_CODE_ENABLED bit of PcdDebugProperyMask is set. - @retval FALSE The DEBUG_PROPERTY_DEBUG_CODE_ENABLED bit of PcdDebugProperyMask is clear. - -**/ -BOOLEAN -EFIAPI -DebugCodeEnabled ( - VOID - ) -{ - return ((PcdGet8(PcdDebugPropertyMask) & DEBUG_PROPERTY_DEBUG_CODE_ENABLED) != 0); -} - - -/** - - Returns TRUE if DEBUG_CLEAR_MEMORY()macro is enabled. - - This function returns TRUE if the DEBUG_PROPERTY_DEBUG_CLEAR_MEMORY_ENABLED bit of - PcdDebugProperyMask is set. Otherwise FALSE is returned. - - @retval TRUE The DEBUG_PROPERTY_DEBUG_CLEAR_MEMORY_ENABLED bit of PcdDebugProperyMask is set. - @retval FALSE The DEBUG_PROPERTY_DEBUG_CLEAR_MEMORY_ENABLED bit of PcdDebugProperyMask is clear. - -**/ -BOOLEAN -EFIAPI -DebugClearMemoryEnabled ( - VOID - ) -{ - return ((PcdGet8(PcdDebugPropertyMask) & DEBUG_PROPERTY_CLEAR_MEMORY_ENABLED) != 0); -} diff --git a/EdkModulePkg/Library/EdkUefiDebugLibStdErr/EdkUefiDebugLibStdErr.msa b/EdkModulePkg/Library/EdkUefiDebugLibStdErr/EdkUefiDebugLibStdErr.msa deleted file mode 100644 index 31399be541..0000000000 --- a/EdkModulePkg/Library/EdkUefiDebugLibStdErr/EdkUefiDebugLibStdErr.msa +++ /dev/null @@ -1,84 +0,0 @@ - - - - EdkUefiDebugLibStdErr - DXE_DRIVER - 8b9968e0-c76b-4b57-aec4-24e17fe602c0 - 1.0 - Debug Library for UEFI drivers - This library uses PrintLib to send messages to STDERR. - Copyright (c) 2006 - 2007, Intel Corporation. - All rights reserved. This program and the accompanying materials - are licensed and made available under the terms and conditions of the BSD License - which accompanies this distribution. The full text of the license may be found at - http://opensource.org/licenses/bsd-license.php - THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, - WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - FRAMEWORK_BUILD_PACKAGING_SPECIFICATION 0x00000052 - - - IA32 X64 IPF EBC - false - EdkUefiDebugLibConOut - - - - DebugLib - - - PrintLib - - - PcdLib - - - UefiBootServicesTableLib - - - BaseMemoryLib - - - BaseLib - - - - DebugLib.c - - - - - - - - gEfiDebugLevelProtocolGuid - - - - EFI_SPECIFICATION_VERSION 0x00020000 - EDK_RELEASE_VERSION 0x00020000 - - DebugLibConstructor - - - - - PcdDebugPropertyMask - gEfiMdePkgTokenSpaceGuid - The bitmask of flags that specify the enable/disable of Debug - Assert, Debug Print, Debug Code, Clear Memory, Assert - Breakpoint and Assert Deadloop. - - - PcdDebugPrintErrorLevel - gEfiMdePkgTokenSpaceGuid - The bitmask of flags that specify the kind of debug message - output when Debug Print is enabled. - - - PcdDebugClearMemoryValue - gEfiMdePkgTokenSpaceGuid - The value used by DebugClearMemory () to fill a certain range - of memory. - - - \ No newline at end of file