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.100; helo=mga07.intel.com; envelope-from=zhichao.gao@intel.com; receiver=edk2-devel@lists.01.org Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) (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 20F32211E9595 for ; Thu, 28 Mar 2019 01:10:21 -0700 (PDT) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga105.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 28 Mar 2019 01:10:20 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,280,1549958400"; d="scan'208";a="218305477" Received: from gaozhic-mobl.ccr.corp.intel.com ([10.239.198.89]) by orsmga001.jf.intel.com with ESMTP; 28 Mar 2019 01:10:17 -0700 From: Zhichao Gao To: edk2-devel@lists.01.org Cc: Michael D Kinney , Leif Lindholm , Ard Biesheuvel , Jordan Justen , Laszlo Ersek , Chasel Chiu , Nate DeSimone , Star Zeng , Jian J Wang , Hao Wu , Ray Ni , Liming Gao , Sean Brogan , Michael Turner , Bret Barkelew Date: Thu, 28 Mar 2019 16:09:59 +0800 Message-Id: <20190328081016.14564-1-zhichao.gao@intel.com> X-Mailer: git-send-email 2.16.2.windows.1 Subject: [PATCH V5 00/17] Add new APIs DebugVPrint for DebugLib 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: Thu, 28 Mar 2019 08:10:21 -0000 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. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Zhichao Gao Cc: Michael D Kinney Cc: Leif Lindholm Cc: Ard Biesheuvel Cc: Jordan Justen Cc: Laszlo Ersek Cc: Chasel Chiu Cc: Nate DeSimone Cc: Star Zeng Cc: Nate DeSimone Cc: Jian J Wang Cc: Hao Wu Cc: Ray Ni Cc: Liming Gao Cc: Sean Brogan Cc: Michael Turner Cc: Bret Barkelew 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 | 456 ++++++++++++++++++ .../PeiDebugLibDebugPpi.inf | 56 +++ .../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, 2132 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