From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=134.134.136.65; helo=mga03.intel.com; envelope-from=hao.a.wu@intel.com; receiver=edk2-devel@lists.01.org Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) (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 7B356211D59DF for ; Thu, 21 Mar 2019 18:58:08 -0700 (PDT) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 21 Mar 2019 18:58:07 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,255,1549958400"; d="scan'208";a="144153802" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by orsmga002.jf.intel.com with ESMTP; 21 Mar 2019 18:58:07 -0700 Received: from fmsmsx114.amr.corp.intel.com (10.18.116.8) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.408.0; Thu, 21 Mar 2019 18:58:07 -0700 Received: from shsmsx106.ccr.corp.intel.com (10.239.4.159) by FMSMSX114.amr.corp.intel.com (10.18.116.8) with Microsoft SMTP Server (TLS) id 14.3.408.0; Thu, 21 Mar 2019 18:58:06 -0700 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.74]) by SHSMSX106.ccr.corp.intel.com ([169.254.10.10]) with mapi id 14.03.0415.000; Fri, 22 Mar 2019 09:58:05 +0800 From: "Wu, Hao A" To: "Gao, Zhichao" , "edk2-devel@lists.01.org" CC: "Wang, Jian J" , "Ni, Ray" , "Zeng, Star" , "Gao, Liming" , Sean Brogan , Michael Turner , Bret Barkelew Thread-Topic: [PATCH V4 14/17] MdeModulePkg: Add definitions for EDKII DEBUG PPI Thread-Index: AQHU3+88CMQp0FzD2069hAd0Qu2lo6YW5Nug Date: Fri, 22 Mar 2019 01:58:04 +0000 Message-ID: References: <20190321140459.18304-1-zhichao.gao@intel.com> <20190321140459.18304-15-zhichao.gao@intel.com> In-Reply-To: <20190321140459.18304-15-zhichao.gao@intel.com> Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [PATCH V4 14/17] MdeModulePkg: Add definitions for EDKII DEBUG PPI 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: Fri, 22 Mar 2019 01:58:08 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable > -----Original Message----- > From: Gao, Zhichao > Sent: Thursday, March 21, 2019 10:05 PM > To: edk2-devel@lists.01.org > Cc: Wang, Jian J; Wu, Hao A; Ni, Ray; Zeng, Star; Gao, Liming; Sean Broga= n; > Michael Turner; Bret Barkelew > Subject: [PATCH V4 14/17] MdeModulePkg: Add definitions for EDKII DEBUG > PPI >=20 > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D1395 >=20 > Add a debug PPI for PEI phase. This PPI will provide basic > services of debug. PEI debug lib instance can use these > services to implement debug function to reduce the PEIMs > which consume the debug lib. >=20 > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Zhichao Gao > Cc: Jian J Wang > Cc: Hao Wu > Cc: Ray Ni > Cc: Star Zeng > Cc: Liming Gao > Cc: Sean Brogan > Cc: Michael Turner > Cc: Bret Barkelew > --- > MdeModulePkg/Include/Ppi/Debug.h | 82 > ++++++++++++++++++++++++++++++++++++++++ > MdeModulePkg/MdeModulePkg.dec | 3 ++ > 2 files changed, 85 insertions(+) > create mode 100644 MdeModulePkg/Include/Ppi/Debug.h >=20 > diff --git a/MdeModulePkg/Include/Ppi/Debug.h > b/MdeModulePkg/Include/Ppi/Debug.h > new file mode 100644 > index 0000000000..dc50ed1b46 > --- /dev/null > +++ b/MdeModulePkg/Include/Ppi/Debug.h > @@ -0,0 +1,82 @@ > +/** @file > + Define the EDKII_DEBUG_PPI that PEIMs can use to dump info to debug po= rt. > + > + Copyright (c) 2019, 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. > + > +**/ > + > +#ifndef __EDKII_DEBUG_PPI_H__ > +#define __EDKII_DEBUG_PPI_H__ > + > +#include > + > +// > +// Global ID for the EDKII_DEBUG_PPI > +// > +#define EDKII_DEBUG_PPI_GUID \ > + { \ > + 0x999e699c, 0xb013, 0x475e, {0xb1, 0x7b, 0xf3, 0xa8, 0xae, 0x5c, 0x4= 8, > 0x75} \ > + } > + > +/// > +/// Forward declaration for the PEI_DEBUG_LIB_DEBUG_PPI > EDKII_DEBUG_PPI > +/// > +typedef struct _EDKII_DEBUG_PPI EDKII_DEBUG_PPI; > + > +/** > + Print a debug message to debug output device if the specified error le= vel > + is enabled. > + > + @param[in] ErrorLevel The error level of the debug messa= ge. > + @param[in] Format Format string for the debug messag= e to print. > + @param[in] VaListMarker BASE_LIST marker for the variable > argument list. Minor comment: Parameter name is not consistent between function description comment 'VaListMarker' and the service prototype 'Marker'. With this handled: Reviewed-by: Hao Wu Best Regards, Hao Wu > + > +**/ > +typedef > +VOID > +(EFIAPI *EDKII_DEBUG_BPRINT)( > + IN UINTN ErrorLevel, > + IN CONST CHAR8 *Format, > + IN BASE_LIST Marker > + ); > + > +/** > + Print an assert message containing a filename, line number, and descri= ption. > + This may be followed by a breakpoint or a dead loop. > + > + @param[in] FileName The pointer to the name of the sou= rce file > that > + generated the assert condition. > + @param[in] LineNumber The line number in the source file= that > generated > + the assert condition > + @param[in] Description The pointer to the description of = the assert > condition. > + > +**/ > +typedef > +VOID > +(EFIAPI *EDKII_DEBUG_ASSERT)( > + IN CONST CHAR8 *FileName, > + IN UINTN LineNumber, > + IN CONST CHAR8 *Description > + ); > + > +/// > +/// This PPI contains a set of services to print message to debug output= device > +/// > +struct _EDKII_DEBUG_PPI { > + EDKII_DEBUG_BPRINT DebugBPrint; > + EDKII_DEBUG_ASSERT DebugAssert; > +}; > + > +extern EFI_GUID gEdkiiDebugPpiGuid; > + > +#endif > + > diff --git a/MdeModulePkg/MdeModulePkg.dec > b/MdeModulePkg/MdeModulePkg.dec > index a2130bc439..9bbd0572f5 100644 > --- a/MdeModulePkg/MdeModulePkg.dec > +++ b/MdeModulePkg/MdeModulePkg.dec > @@ -492,6 +492,9 @@ > ## Include/Ppi/AtaPassThru.h > gEdkiiPeiAtaPassThruPpiGuid =3D { 0xa16473fd, 0xd474, 0x= 4c89, { 0xae, > 0xc7, 0x90, 0xb8, 0x3c, 0x73, 0x86, 0x9 } } >=20 > + ## Include/Ppi/Debug.h > + gEdkiiDebugPpiGuid =3D { 0x999e699c, 0xb013, 0x= 475e, { 0xb1, > 0x7b, 0xf3, 0xa8, 0xae, 0x5c, 0x48, 0x75 } } > + > [Protocols] > ## Load File protocol provides capability to load and unload EFI image= into > memory and execute it. > # Include/Protocol/LoadPe32Image.h > -- > 2.16.2.windows.1