From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=209.132.183.28; helo=mx1.redhat.com; envelope-from=lersek@redhat.com; receiver=edk2-devel@lists.01.org Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 22AAF211E0939 for ; Wed, 20 Mar 2019 09:13:45 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id C78483086236; Wed, 20 Mar 2019 16:13:44 +0000 (UTC) Received: from lacos-laptop-7.usersys.redhat.com (ovpn-120-91.rdu2.redhat.com [10.10.120.91]) by smtp.corp.redhat.com (Postfix) with ESMTP id 3E7A560BE5; Wed, 20 Mar 2019 16:13:41 +0000 (UTC) To: Zhichao Gao , edk2-devel@lists.01.org Cc: Jordan Justen , Michael Turner , Bret Barkelew , Liming Gao References: <20190315051749.6564-1-zhichao.gao@intel.com> <20190315051749.6564-10-zhichao.gao@intel.com> From: Laszlo Ersek Message-ID: <201b6323-ab11-67fb-59dd-4e138d210f35@redhat.com> Date: Wed, 20 Mar 2019 17:13:40 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <20190315051749.6564-10-zhichao.gao@intel.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.42]); Wed, 20 Mar 2019 16:13:44 +0000 (UTC) Subject: Re: [PATCH V2 09/17] OvmfPkg/PlatformDebugLibIoPort: Add a new api DebugVPrint X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Mar 2019 16:13:46 -0000 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit On 03/15/19 06:17, Zhichao Gao wrote: > 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 > Cc: Jordan Justen > Cc: Laszlo Ersek > Cc: Ard Biesheuvel > Cc: Liming Gao > Cc: Sean Brogan > Cc: Michael Turner > Cc: Bret Barkelew > --- > OvmfPkg/Library/PlatformDebugLibIoPort/DebugLib.c | 38 ++++++++++++++++++++--- > 1 file changed, 33 insertions(+), 5 deletions(-) > > diff --git a/OvmfPkg/Library/PlatformDebugLibIoPort/DebugLib.c b/OvmfPkg/Library/PlatformDebugLibIoPort/DebugLib.c > index 36cde54976..74013c28a2 100644 > --- a/OvmfPkg/Library/PlatformDebugLibIoPort/DebugLib.c > +++ b/OvmfPkg/Library/PlatformDebugLibIoPort/DebugLib.c > @@ -2,7 +2,7 @@ > Base Debug library instance for QEMU debug port. > It uses PrintLib to send debug messages to a fixed I/O port. > > - Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.
> + Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.
> Copyright (c) 2012, Red Hat, Inc.
> This program and the accompanying materials > are licensed and made available under the terms and conditions of the BSD License > @@ -51,9 +51,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; > UINTN Length; > > // > @@ -72,9 +101,7 @@ DebugPrint ( > // > // Convert the DEBUG() message to an ASCII String > // > - VA_START (Marker, Format); > - Length = AsciiVSPrint (Buffer, sizeof (Buffer), Format, Marker); > - VA_END (Marker); > + Length = AsciiVSPrint (Buffer, sizeof (Buffer), Format, VaListMarker); > > // > // Send the print string to the debug I/O port > @@ -270,6 +297,7 @@ DebugPrintLevelEnabled ( > return (BOOLEAN) ((ErrorLevel & PcdGet32(PcdFixedDebugPrintErrorLevel)) != 0); > } > > + > /** > Return the result of detecting the debug I/O port device. > > Thanks for addressing my v1 comments. Reviewed-by: Laszlo Ersek Laszlo