]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Library/BaseDebugLibSerialPort/DebugLib.c
Add CONSTRUCTOR to BaseDebugLibSerialPort to call SerialPortInitialize() in the Seria...
[mirror_edk2.git] / MdePkg / Library / BaseDebugLibSerialPort / DebugLib.c
index 2e1eb5be1aae003fd59059ca6983b3f9c4afe911..b54fa15d98b62e86f43e0fc321397b0baa657651 100644 (file)
@@ -1,8 +1,13 @@
 /** @file\r
   Base Debug library instance base on Serial Port library.\r
   It uses PrintLib to send debug messages to serial port device.\r
+  \r
+  NOTE: If the Serial Port library enables hardware flow control, then a call \r
+  to DebugPrint() or DebugAssert() may hang if writes to the serial port are \r
+  being blocked.  This may occur if a key(s) are pressed in a terminal emulator\r
+  used to monitor the DEBUG() and ASSERT() messages. \r
 \r
-  Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>\r
+  Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>\r
   This program and the accompanying materials                          \r
   are licensed and made available under the terms and conditions of the BSD License         \r
   which accompanies this distribution.  The full text of the license may be found at        \r
 //\r
 #define MAX_DEBUG_MESSAGE_LENGTH  0x100\r
 \r
+/**\r
+  The constructor function initialize the Serial Port Library\r
+\r
+  @retval EFI_SUCCESS   The constructor always returns RETURN_SUCCESS.\r
+\r
+**/\r
+RETURN_STATUS\r
+EFIAPI\r
+BaseDebugLibSerialPortConstructor (\r
+  VOID\r
+  )\r
+{\r
+  return SerialPortInitialize ();\r
+}\r
+\r
 /**\r
   Prints a debug message to the debug output device if the specified error level is enabled.\r
 \r
@@ -60,7 +80,7 @@ DebugPrint (
   //\r
   // Check driver debug mask value and global mask\r
   //\r
-  if ((ErrorLevel & PcdGet32(PcdDebugPrintErrorLevel)) == 0) {\r
+  if ((ErrorLevel & PcdGet32 (PcdDebugPrintErrorLevel)) == 0) {\r
     return;\r
   }\r
 \r
@@ -74,7 +94,7 @@ DebugPrint (
   //\r
   // Send the print string to a Serial Port \r
   //\r
-  SerialPortWrite ((UINT8 *) Buffer, AsciiStrLen(Buffer));\r
+  SerialPortWrite ((UINT8 *)Buffer, AsciiStrLen (Buffer));\r
 }\r
 \r
 \r
@@ -117,7 +137,7 @@ DebugAssert (
   //\r
   // Send the print string to the Console Output device\r
   //\r
-  SerialPortWrite ((UINT8 *) Buffer, AsciiStrLen(Buffer));\r
+  SerialPortWrite ((UINT8 *)Buffer, AsciiStrLen (Buffer));\r
 \r
   //\r
   // Generate a Breakpoint, DeadLoop, or NOP based on PCD settings\r