From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=192.55.52.115; helo=mga14.intel.com; envelope-from=zhichao.gao@intel.com; receiver=edk2-devel@lists.01.org Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) (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 2A478211EB83B for ; Thu, 28 Mar 2019 17:12:03 -0700 (PDT) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 28 Mar 2019 17:12:02 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,282,1549958400"; d="scan'208";a="159400182" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by fmsmga001.fm.intel.com with ESMTP; 28 Mar 2019 17:12:02 -0700 Received: from fmsmsx158.amr.corp.intel.com (10.18.116.75) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.408.0; Thu, 28 Mar 2019 17:12:02 -0700 Received: from shsmsx103.ccr.corp.intel.com (10.239.4.69) by fmsmsx158.amr.corp.intel.com (10.18.116.75) with Microsoft SMTP Server (TLS) id 14.3.408.0; Thu, 28 Mar 2019 17:12:02 -0700 Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.158]) by SHSMSX103.ccr.corp.intel.com ([169.254.4.134]) with mapi id 14.03.0415.000; Fri, 29 Mar 2019 08:12:00 +0800 From: "Gao, Zhichao" To: "Ni, Ray" , "edk2-devel@lists.01.org" CC: "Wang, Jian J" , "Wu, Hao A" , "Zeng, Star" , "Gao, Liming" , Sean Brogan , Michael Turner , Bret Barkelew Thread-Topic: [PATCH V5 14/17] MdeModulePkg: Add definitions for EDKII DEBUG PPI Thread-Index: AQHU5U7b3tRNFdBeN0K6Zq5/oOV4C6Yhu29Q Date: Fri, 29 Mar 2019 00:11:59 +0000 Message-ID: <3CE959C139B4C44DBEA1810E3AA6F9000B7B26DD@SHSMSX101.ccr.corp.intel.com> References: <20190328081016.14564-1-zhichao.gao@intel.com> <20190328081016.14564-15-zhichao.gao@intel.com> <734D49CCEBEEF84792F5B80ED585239D5C09F33F@SHSMSX104.ccr.corp.intel.com> In-Reply-To: <734D49CCEBEEF84792F5B80ED585239D5C09F33F@SHSMSX104.ccr.corp.intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [PATCH V5 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, 29 Mar 2019 00:12:03 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable B stand for BASE_LIST, we use B instead of V because of compatible issue. For VA_LIST, it may be a pointer or a structure depend on the compiler. If some PEIMs consume V version function and it is compiled by a different = compiler, they may catch these issue. Thanks, Zhichao > -----Original Message----- > From: Ni, Ray > Sent: Thursday, March 28, 2019 6:13 PM > To: Gao, Zhichao ; edk2-devel@lists.01.org > Cc: Wang, Jian J ; Wu, Hao A ; > Zeng, Star ; Gao, Liming ; > Sean Brogan ; Michael Turner > ; Bret Barkelew > > Subject: RE: [PATCH V5 14/17] MdeModulePkg: Add definitions for EDKII > DEBUG PPI >=20 > Zhichao, > I see you added library API called DebugVPrint. Why the interface in the = PPI > is called DebugBPrint? > What does "B" stand for? Why invent a "B" but not use "V"? >=20 > > -----Original Message----- > > From: Gao, Zhichao > > Sent: Thursday, March 28, 2019 4:10 PM > > To: edk2-devel@lists.01.org > > Cc: Wang, Jian J ; Wu, Hao A > > ; Ni, Ray ; Zeng, Star > > ; Gao, Liming ; Sean Brogan > > ; Michael Turner > > ; Bret Barkelew > > > > Subject: [PATCH V5 14/17] MdeModulePkg: Add definitions for EDKII > > DEBUG PPI > > > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D1549 > > > > 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. > > > > 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 > > Reviewed-by: Hao Wu > > --- > > MdeModulePkg/Include/Ppi/Debug.h | 82 > > ++++++++++++++++++++++++++++++++ > > MdeModulePkg/MdeModulePkg.dec | 3 ++ > > 2 files changed, 85 insertions(+) > > create mode 100644 MdeModulePkg/Include/Ppi/Debug.h > > > > diff --git a/MdeModulePkg/Include/Ppi/Debug.h > > b/MdeModulePkg/Include/Ppi/Debug.h > > new file mode 100644 > > index 0000000000..0fb6a8fdc2 > > --- /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 > > port. > > + > > + 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, > > +0x48, 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 > > +level > > + is enabled. > > + > > + @param[in] ErrorLevel The error level of the debug mes= sage. > > + @param[in] Format Format string for the debug mess= age to > print. > > + @param[in] Marker BASE_LIST marker for the variabl= e > argument > > list. > > + > > +**/ > > +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 > > description. > > + This may be followed by a breakpoint or a dead loop. > > + > > + @param[in] FileName The pointer to the name of the s= ource file > > that > > + generated the assert condition. > > + @param[in] LineNumber The line number in the source fi= le that > > generated > > + the assert condition > > + @param[in] Description The pointer to the description o= f 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, = 0x4c89, > { 0xae, > > 0xc7, 0x90, 0xb8, 0x3c, 0x73, 0x86, 0x9 } } > > > > + ## Include/Ppi/Debug.h > > + gEdkiiDebugPpiGuid =3D { 0x999e699c, 0xb013, = 0x475e, { 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.21.0.windows.1