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.93; helo=mga11.intel.com; envelope-from=zhichao.gao@intel.com; receiver=edk2-devel@lists.01.org Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) (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 6FC5F211DDA3A for ; Sun, 31 Mar 2019 16:50:25 -0700 (PDT) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 31 Mar 2019 16:50:24 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,294,1549958400"; d="scan'208";a="146844285" Received: from unknown (HELO gaozhic-MOBL.ccr.corp.intel.com) ([10.239.198.89]) by orsmga002.jf.intel.com with ESMTP; 31 Mar 2019 16:50:20 -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: Mon, 1 Apr 2019 07:50:02 +0800 Message-Id: <20190331235019.11996-1-zhichao.gao@intel.com> X-Mailer: git-send-email 2.16.2.windows.1 Subject: [PATCH V6 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: Sun, 31 Mar 2019 23:50:25 -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. 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. 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 | 452 ++++++++++++++++++ .../PeiDebugLibDebugPpi.inf | 63 +++ .../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, 2135 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