Add a new API DebugVPrint to all the instances of DebugLib.
This API is added to provide a function who want to implement
special debug function with '...' parameter.
Add a PEIM to install gEdkiiDebugPpiGuid, and implement a PEI
debug library instance base on it. All PEIMs except pei core
type can use the PeiDebugLibDebugPpi to reduce its image size.

V2: 
Remove redundant code in DebugPrint.
Fix some coding sytle issues.
Remove some unenforced descirption in the comments of DebugVPrint.

V3:
Add the new API DebugBPrint, it is more useful for consumers which
are care of compatible issue.
Change the interface in gEdkiiDebugPpiGuid. VA_LIST is inappropriate
to appeared in protocol or ppi because different compilers compile
it to different type. It may be a pointer or a structure.

V4:
Sync the implement on MdeModulePkg/PeiDxeDebugLibReportStatusCode to
IntelFramworkModulePkg/PeiDxeDebugLibReportStatusCode. While the format
string is too long just truncate it instead of return.
Fix and update some functions' comments.

V5:
Correct some comments of inf file.
Put all implement into one C file for DebugServicePei.
Use the directly return instead of CpuDeadLoop in PeiDebugLibDebugPpi.
Rename the mDebugPpi to mEdkiiDebugPpi because it has a same name in 
DeubServicePpi.

V6: Changed patch 16/17
Remove the global variable and use the local variable insteaded.
Because PEIM may run in the flash which is read only. The global variable cannot
be changed at this situation.
Update the description of PeiDebugLibDebugPpi.inf.

V7: Changed patch 16/17
Generate a Breakpoint, DeadLoop, or NOP based on PCD(PcdDebugPropertyMask) 
settings
while do not locate the gEdkiiDebugPpiGuid.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Zhichao Gao <zhichao....@intel.com>
Cc: Michael D Kinney <michael.d.kin...@intel.com>
Cc: Leif Lindholm <leif.lindh...@linaro.org>
Cc: Ard Biesheuvel <ard.biesheu...@linaro.org>
Cc: Jordan Justen <jordan.l.jus...@intel.com>
Cc: Laszlo Ersek <ler...@redhat.com>
Cc: Chasel Chiu <chasel.c...@intel.com>
Cc: Nate DeSimone <nathaniel.l.desim...@intel.com>
Cc: Star Zeng <star.z...@intel.com>
Cc: Nate DeSimone <nathaniel.l.desim...@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: 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>

Bret Barkelew (13):
  MdePkg/DebugLib.h: Add new APIs for DebugLib
  MdePkg/BaseDebugLibNull: Add new APIs for DebugLib
  MdePkg/BaseDebugLibSerialPort: Add new APIs
  MdePkg/UefidebugLibConOut: Add new APIs
  MdePkg/UefiDebugLibStdErr: Add new APIs
  MdePkg/DxeRuntimeDebugLibSerialPort: Add new APIs
  MdePkg/UefiDebuglibDebugPortProtocol: Add new APIs
  ArmPkg/SemiHostingDebugLib: Add new APIs
  OvmfPkg/PlatformDebugLibIoPort: Add new APIs
  IntelFsp2Pkg/BaseFspDebugLibSerialPort: Add new APIs
  IntelFspPkg/BaseFspDebugLibSerialPort: Add new APIs
  IntelFramworkModulePkg/PeiDxeDebugLibReportStatusCode: Add new APIs
  MdeModulePkg/PeiDxeDebugLibReportStatusCode: Add new APIs

Liming Gao (1):
  MdeModulePkg/PeiDebugLibDebugPpi: Add PEI debug lib

Zhichao Gao (3):
  MdeModulePkg: Add definitions for EDKII DEBUG PPI
  MdeModulePkg: Add a PEIM to install Debug PPI
  MdeModulePkg: Add PEIM and lib to dsc file

 ArmPkg/Library/SemiHostingDebugLib/DebugLib.c | 106 +++-
 .../PeiDxeDebugLibReportStatusCode/DebugLib.c | 179 +++++--
 .../BaseFspDebugLibSerialPort/DebugLib.c      | 103 +++-
 .../BaseFspDebugLibSerialPort/DebugLib.c      | 103 +++-
 MdeModulePkg/Include/Ppi/Debug.h              |  82 ++++
 .../Library/PeiDebugLibDebugPpi/DebugLib.c    | 460 ++++++++++++++++++
 .../PeiDebugLibDebugPpi.inf                   |  64 +++
 .../PeiDxeDebugLibReportStatusCode/DebugLib.c | 177 +++++--
 MdeModulePkg/MdeModulePkg.dec                 |   3 +
 MdeModulePkg/MdeModulePkg.dsc                 |   3 +
 .../Universal/DebugServicePei/DebugService.h  |  56 +++
 .../DebugServicePei/DebugServicePei.c         | 100 ++++
 .../DebugServicePei/DebugServicePei.inf       |  51 ++
 .../DebugServicePei/DebugServicePei.uni       |  20 +
 MdePkg/Include/Library/DebugLib.h             |  52 +-
 MdePkg/Library/BaseDebugLibNull/DebugLib.c    |  56 ++-
 .../Library/BaseDebugLibSerialPort/DebugLib.c | 106 +++-
 .../DxeRuntimeDebugLibSerialPort/DebugLib.c   | 106 +++-
 MdePkg/Library/UefiDebugLibConOut/DebugLib.c  | 106 +++-
 .../UefiDebugLibDebugPortProtocol/DebugLib.c  | 106 +++-
 MdePkg/Library/UefiDebugLibStdErr/DebugLib.c  | 107 +++-
 .../Library/PlatformDebugLibIoPort/DebugLib.c | 106 +++-
 22 files changed, 2144 insertions(+), 108 deletions(-)
 create mode 100644 MdeModulePkg/Include/Ppi/Debug.h
 create mode 100644 MdeModulePkg/Library/PeiDebugLibDebugPpi/DebugLib.c
 create mode 100644 
MdeModulePkg/Library/PeiDebugLibDebugPpi/PeiDebugLibDebugPpi.inf
 create mode 100644 MdeModulePkg/Universal/DebugServicePei/DebugService.h
 create mode 100644 MdeModulePkg/Universal/DebugServicePei/DebugServicePei.c
 create mode 100644 MdeModulePkg/Universal/DebugServicePei/DebugServicePei.inf
 create mode 100644 MdeModulePkg/Universal/DebugServicePei/DebugServicePei.uni

-- 
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