public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Gao, Zhichao" <zhichao.gao@intel.com>
To: "Ni, Ray" <ray.ni@intel.com>,
	"edk2-devel@lists.01.org" <edk2-devel@lists.01.org>
Cc: "Wang, Jian J" <jian.j.wang@intel.com>,
	"Wu, Hao A" <hao.a.wu@intel.com>,
	 "Zeng, Star" <star.zeng@intel.com>,
	"Gao, Liming" <liming.gao@intel.com>,
	 Sean Brogan <sean.brogan@microsoft.com>,
	Michael Turner <Michael.Turner@microsoft.com>,
	Bret Barkelew <Bret.Barkelew@microsoft.com>
Subject: Re: [PATCH V5 14/17] MdeModulePkg: Add definitions for EDKII DEBUG PPI
Date: Fri, 29 Mar 2019 00:11:59 +0000	[thread overview]
Message-ID: <3CE959C139B4C44DBEA1810E3AA6F9000B7B26DD@SHSMSX101.ccr.corp.intel.com> (raw)
In-Reply-To: <734D49CCEBEEF84792F5B80ED585239D5C09F33F@SHSMSX104.ccr.corp.intel.com>

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 <zhichao.gao@intel.com>; edk2-devel@lists.01.org
> Cc: Wang, Jian J <jian.j.wang@intel.com>; Wu, Hao A <hao.a.wu@intel.com>;
> Zeng, Star <star.zeng@intel.com>; Gao, Liming <liming.gao@intel.com>;
> Sean Brogan <sean.brogan@microsoft.com>; Michael Turner
> <Michael.Turner@microsoft.com>; Bret Barkelew
> <Bret.Barkelew@microsoft.com>
> Subject: RE: [PATCH V5 14/17] MdeModulePkg: Add definitions for EDKII
> DEBUG PPI
> 
> 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"?
> 
> > -----Original Message-----
> > From: Gao, Zhichao <zhichao.gao@intel.com>
> > Sent: Thursday, March 28, 2019 4:10 PM
> > To: edk2-devel@lists.01.org
> > Cc: Wang, Jian J <jian.j.wang@intel.com>; Wu, Hao A
> > <hao.a.wu@intel.com>; Ni, Ray <ray.ni@intel.com>; Zeng, Star
> > <star.zeng@intel.com>; Gao, Liming <liming.gao@intel.com>; Sean Brogan
> > <sean.brogan@microsoft.com>; Michael Turner
> > <Michael.Turner@microsoft.com>; Bret Barkelew
> > <Bret.Barkelew@microsoft.com>
> > Subject: [PATCH V5 14/17] MdeModulePkg: Add definitions for EDKII
> > DEBUG PPI
> >
> > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1549
> >
> > 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 <zhichao.gao@intel.com>
> > Cc: Jian J Wang <jian.j.wang@intel.com>
> > Cc: Hao Wu <hao.a.wu@intel.com>
> > Cc: Ray Ni <ray.ni@intel.com>
> > Cc: Star Zeng <star.zeng@intel.com>
> > Cc: Liming Gao <liming.gao@intel.com>
> > Cc: Sean Brogan <sean.brogan@microsoft.com>
> > Cc: Michael Turner <Michael.Turner@microsoft.com>
> > Cc: Bret Barkelew <Bret.Barkelew@microsoft.com>
> > Reviewed-by: Hao Wu <hao.a.wu@intel.com>
> > ---
> >  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.<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  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 <Pi/PiPeiCis.h>
> > +
> > +//
> > +// 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 message.
> > +  @param[in] Format                   Format string for the debug message to
> print.
> > +  @param[in] Marker                   BASE_LIST marker for the variable
> 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 source 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               = { 0xa16473fd, 0xd474, 0x4c89,
> { 0xae,
> > 0xc7, 0x90, 0xb8, 0x3c, 0x73, 0x86, 0x9  } }
> >
> > +  ## Include/Ppi/Debug.h
> > +  gEdkiiDebugPpiGuid                        = { 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



  reply	other threads:[~2019-03-29  0:12 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-28  8:09 [PATCH V5 00/17] Add new APIs DebugVPrint for DebugLib Zhichao Gao
2019-03-28  8:10 ` [PATCH V5 01/17] MdePkg/DebugLib.h: Add new APIs " Zhichao Gao
2019-03-28  8:10 ` [PATCH V5 02/17] MdePkg/BaseDebugLibNull: " Zhichao Gao
2019-03-28  8:10 ` [PATCH V5 03/17] MdePkg/BaseDebugLibSerialPort: Add new APIs Zhichao Gao
2019-03-28  8:10 ` [PATCH V5 04/17] MdePkg/UefidebugLibConOut: " Zhichao Gao
2019-03-28  8:10 ` [PATCH V5 05/17] MdePkg/UefiDebugLibStdErr: " Zhichao Gao
2019-03-28  8:10 ` [PATCH V5 06/17] MdePkg/DxeRuntimeDebugLibSerialPort: " Zhichao Gao
2019-03-28  8:10 ` [PATCH V5 07/17] MdePkg/UefiDebuglibDebugPortProtocol: " Zhichao Gao
2019-03-28  8:10 ` [PATCH V5 08/17] ArmPkg/SemiHostingDebugLib: " Zhichao Gao
2019-03-28  8:10 ` [PATCH V5 09/17] OvmfPkg/PlatformDebugLibIoPort: " Zhichao Gao
2019-03-28  8:10 ` [PATCH V5 10/17] IntelFsp2Pkg/BaseFspDebugLibSerialPort: " Zhichao Gao
2019-03-28  8:44   ` Chiu, Chasel
2019-03-28  8:10 ` [PATCH V5 11/17] IntelFspPkg/BaseFspDebugLibSerialPort: " Zhichao Gao
2019-03-28  8:44   ` Chiu, Chasel
2019-03-28  8:10 ` [PATCH V5 12/17] IntelFramworkModulePkg/PeiDxeDebugLibReportStatusCode: " Zhichao Gao
2019-03-28  8:10 ` [PATCH V5 13/17] MdeModulePkg/PeiDxeDebugLibReportStatusCode: " Zhichao Gao
2019-03-28  8:10 ` [PATCH V5 14/17] MdeModulePkg: Add definitions for EDKII DEBUG PPI Zhichao Gao
2019-03-28 10:13   ` Ni, Ray
2019-03-29  0:11     ` Gao, Zhichao [this message]
2019-03-28  8:10 ` [PATCH V5 15/17] MdeModulePkg: Add a PEIM to install Debug PPI Zhichao Gao
2019-03-28  8:10 ` [PATCH V5 16/17] MdeModulePkg/PeiDebugLibDebugPpi: Add PEI debug lib Zhichao Gao
2019-03-28 10:10   ` Ni, Ray
2019-03-29  5:10     ` Gao, Zhichao
2019-03-28  8:10 ` [PATCH V5 17/17] MdeModulePkg: Add PEIM and lib to dsc file Zhichao Gao

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3CE959C139B4C44DBEA1810E3AA6F9000B7B26DD@SHSMSX101.ccr.corp.intel.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox