Reviewed-by: Chasel Chiu <chasel.c...@intel.com>
> -----Original Message----- > From: Gao, Zhichao > Sent: Friday, March 15, 2019 1:18 PM > To: edk2-devel@lists.01.org > Cc: Chiu, Chasel <chasel.c...@intel.com>; Desimone, Nathaniel L > <nathaniel.l.desim...@intel.com>; Zeng, Star <star.z...@intel.com>; Gao, > Liming <liming....@intel.com>; Sean Brogan <sean.bro...@microsoft.com>; > Michael Turner <michael.tur...@microsoft.com>; Bret Barkelew > <bret.barke...@microsoft.com> > Subject: [PATCH V2 10/17] IntelFsp2Pkg/BaseFspDebugLibSerialPort: Add a new > api DebugVPrint > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1395 > > Add a new api DebugVPrint implementation in the DebugLib instance. This api > would expose a print routine with VaList parameter. > > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Zhichao Gao <zhichao....@intel.com> > Cc: Chasel Chiu <chasel.c...@intel.com> > Cc: Nate DeSimone <nathaniel.l.desim...@intel.com> > Cc: Star Zeng <star.z...@intel.com> > Cc: Liming Gao <liming....@intel.com> > Cc: Sean Brogan <sean.bro...@microsoft.com> > Cc: Michael Turner <michael.tur...@microsoft.com> > Cc: Bret Barkelew <bret.barke...@microsoft.com> > --- > .../Library/BaseFspDebugLibSerialPort/DebugLib.c | 42 > +++++++++++++++++++--- > 1 file changed, 37 insertions(+), 5 deletions(-) > > diff --git a/IntelFsp2Pkg/Library/BaseFspDebugLibSerialPort/DebugLib.c > b/IntelFsp2Pkg/Library/BaseFspDebugLibSerialPort/DebugLib.c > index 73bb08e357..57b6020a58 100644 > --- a/IntelFsp2Pkg/Library/BaseFspDebugLibSerialPort/DebugLib.c > +++ b/IntelFsp2Pkg/Library/BaseFspDebugLibSerialPort/DebugLib.c > @@ -1,6 +1,6 @@ > /** @file > > - Copyright (c) 2014 - 2015, Intel Corporation. All rights reserved.<BR> > + Copyright (c) 2014 - 2019, Intel Corporation. All rights > + reserved.<BR> > 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 @@ -62,9 +62,38 @@ DebugPrint ( > IN CONST CHAR8 *Format, > ... > ) > +{ > + VA_LIST Marker; > + > + VA_START (Marker, Format); > + DebugVPrint (ErrorLevel, Format, Marker); > + VA_END (Marker); > +} > + > + > +/** > + 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 DebugPrintErrorLevelLib > + function GetDebugPrintErrorLevel (), 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. > + @param VaListMarker VA_LIST marker for the variable argument list. > + > +**/ > +VOID > +EFIAPI > +DebugVPrint ( > + IN UINTN ErrorLevel, > + IN CONST CHAR8 *Format, > + IN VA_LIST VaListMarker > + ) > { > CHAR8 Buffer[MAX_DEBUG_MESSAGE_LENGTH]; > - VA_LIST Marker; > > // > // If Format is NULL, then ASSERT(). > @@ -88,9 +117,7 @@ DebugPrint ( > // > // Convert the DEBUG() message to an ASCII String > // > - VA_START (Marker, Format); > - AsciiVSPrint (Buffer, sizeof (Buffer), Format, Marker); > - VA_END (Marker); > + AsciiVSPrint (Buffer, sizeof (Buffer), Format, VaListMarker); > > // > // Send the print string to a Serial Port @@ -98,6 +125,7 @@ DebugPrint ( > SerialPortWrite ((UINT8 *)Buffer, AsciiStrLen (Buffer)); } > > + > /** > Convert an UINT32 value into HEX string sepcified by Buffer. > > @@ -118,6 +146,7 @@ FillHex ( > } > } > > + > /** > Prints an assert message containing a filename, line number, and > description. > This may be followed by a breakpoint or a dead loop. > @@ -172,6 +201,7 @@ DebugAssertInternal ( > CpuDeadLoop (); > } > > + > /** > Prints an assert message containing a filename, line number, and > description. > This may be followed by a breakpoint or a dead loop. > @@ -270,6 +300,7 @@ DebugPrintEnabled ( > return (BOOLEAN) ((PcdGet8(PcdDebugPropertyMask) & > DEBUG_PROPERTY_DEBUG_PRINT_ENABLED) != 0); } > > + > /** > Returns TRUE if DEBUG_CODE() macros are enabled. > > @@ -309,6 +340,7 @@ DebugClearMemoryEnabled ( > return (BOOLEAN) ((PcdGet8(PcdDebugPropertyMask) & > DEBUG_PROPERTY_CLEAR_MEMORY_ENABLED) != 0); } > > + > /** > Returns TRUE if any one of the bit is set both in ErrorLevel and > PcdFixedDebugPrintErrorLevel. > > -- > 2.16.2.windows.1 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel