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.31; helo=mga06.intel.com; envelope-from=zhichao.gao@intel.com; receiver=edk2-devel@lists.01.org Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) (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 ADDF1211E2C1F for ; Thu, 21 Mar 2019 07:05:19 -0700 (PDT) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga104.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 21 Mar 2019 07:05:18 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,253,1549958400"; d="scan'208";a="136009016" Received: from gaozhic-mobl.ccr.corp.intel.com ([10.255.29.144]) by orsmga003.jf.intel.com with ESMTP; 21 Mar 2019 07:05:09 -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, 21 Mar 2019 22:04:42 +0800 Message-Id: <20190321140459.18304-1-zhichao.gao@intel.com> X-Mailer: git-send-email 2.16.2.windows.1 Subject: [PATCH V4 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, 21 Mar 2019 14:05:19 -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. 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 Liming Gao (1): MdeModulePkg/PeiDebugLibDebugPpi: Add PEI debug lib Zhichao Gao (16): 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 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 | 173 ++++++-- .../Library/BaseFspDebugLibSerialPort/DebugLib.c | 103 ++++- .../Library/BaseFspDebugLibSerialPort/DebugLib.c | 103 ++++- MdeModulePkg/Include/Ppi/Debug.h | 82 ++++ .../Library/PeiDebugLibDebugPpi/DebugLib.c | 456 +++++++++++++++++++++ .../PeiDebugLibDebugPpi/PeiDebugLibDebugPpi.inf | 55 +++ .../PeiDxeDebugLibReportStatusCode/DebugLib.c | 171 ++++++-- MdeModulePkg/MdeModulePkg.dec | 3 + MdeModulePkg/MdeModulePkg.dsc | 3 + .../Universal/DebugServicePei/DebugService.c | 60 +++ .../Universal/DebugServicePei/DebugService.h | 56 +++ .../Universal/DebugServicePei/DebugServicePei.c | 54 +++ .../Universal/DebugServicePei/DebugServicePei.inf | 52 +++ .../Universal/DebugServicePei/DebugServicePei.uni | 20 + MdePkg/Include/Library/DebugLib.h | 52 ++- MdePkg/Library/BaseDebugLibNull/DebugLib.c | 56 ++- MdePkg/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 ++++- OvmfPkg/Library/PlatformDebugLibIoPort/DebugLib.c | 106 ++++- 23 files changed, 2140 insertions(+), 102 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.c 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.16.2.windows.1