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....@intel.com>; edk2-devel@lists.01.org
> Cc: Wang, Jian J <jian.j.w...@intel.com>; Wu, Hao A <hao.a...@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: 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....@intel.com>
> > Sent: Thursday, March 28, 2019 4:10 PM
> > To: edk2-devel@lists.01.org
> > Cc: Wang, Jian J <jian.j.w...@intel.com>; Wu, Hao A
> > <hao.a...@intel.com>; Ni, Ray <ray...@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 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....@intel.com>
> > Cc: Jian J Wang <jian.j.w...@intel.com>
> > Cc: Hao Wu <hao.a...@intel.com>
> > Cc: Ray Ni <ray...@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>
> > Reviewed-by: Hao Wu <hao.a...@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

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to