From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: 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 0036082244 for ; Tue, 21 Feb 2017 22:48:57 -0800 (PST) Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by orsmga105.jf.intel.com with ESMTP; 21 Feb 2017 22:48:57 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.35,193,1484035200"; d="scan'208";a="68706042" Received: from fmsmsx106.amr.corp.intel.com ([10.18.124.204]) by fmsmga006.fm.intel.com with ESMTP; 21 Feb 2017 22:48:57 -0800 Received: from fmsmsx125.amr.corp.intel.com (10.18.125.40) by FMSMSX106.amr.corp.intel.com (10.18.124.204) with Microsoft SMTP Server (TLS) id 14.3.248.2; Tue, 21 Feb 2017 22:48:57 -0800 Received: from shsmsx104.ccr.corp.intel.com (10.239.4.70) by FMSMSX125.amr.corp.intel.com (10.18.125.40) with Microsoft SMTP Server (TLS) id 14.3.248.2; Tue, 21 Feb 2017 22:48:56 -0800 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.88]) by SHSMSX104.ccr.corp.intel.com ([10.239.4.70]) with mapi id 14.03.0248.002; Wed, 22 Feb 2017 14:48:55 +0800 From: "Zeng, Star" To: "Yao, Jiewen" , "edk2-devel@lists.01.org" CC: "Kinney, Michael D" , "Gao, Liming" , "Tian, Feng" , Laszlo Ersek , "Zeng, Star" Thread-Topic: [PATCH 00/12] Add SmiHandlerProfile feature Thread-Index: AQHSgii6fBjI3RhyZketqYeYOblbj6F0qwPw Date: Wed, 22 Feb 2017 06:48:54 +0000 Message-ID: <0C09AFA07DD0434D9E2A0C6AEB0483103B82A450@shsmsx102.ccr.corp.intel.com> References: <1486571434-20000-1-git-send-email-jiewen.yao@intel.com> In-Reply-To: <1486571434-20000-1-git-send-email-jiewen.yao@intel.com> Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [PATCH 00/12] Add SmiHandlerProfile feature X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Feb 2017 06:48:58 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Star Zeng to MdeModulePkg changes. Thanks, Star -----Original Message----- From: Yao, Jiewen=20 Sent: Thursday, February 9, 2017 12:30 AM To: edk2-devel@lists.01.org Cc: Kinney, Michael D ; Gao, Liming ; Tian, Feng ; Zeng, Star ; Laszlo Ersek Subject: [PATCH 00/12] Add SmiHandlerProfile feature This series patch add SMI handler profile. The purpose of SMI handler profile is to add the capability to dump all SMI= handlers produced by the firmware in a given boot. The SMI handlers here include 1) Root SMI handlers registered with SMST->SmiHandlerRegister by SmmCore. 2) GUID SMI handlers registered with SMST->SmiHandlerRegister by SmmCore. 3) Hardware SMI handlers registered with SMM_XXX_DISPATCH_PROTOCOL->Registe= r by SmmChildDispatcher module. The final log is an XML format log, including all SMM image name, all SMI h= andlers name, type, location (source file and line number), and the caller = who registeres the handler. We enabled Quark platform to show how to add support in SmmChildDispatcher. NOTE: This SMI handler profile is a *DEBUG* feature only, to help platform = developer or test engineer to audit the SMI handlers. Please do not include= it in the final *RELEASE* image. Cc: Michael D Kinney Cc: Liming Gao Cc: Feng Tian Cc: Star Zeng Cc: Laszlo Ersek Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jiewen Yao Jiewen Yao (12): MdePkg/Include: Add SmiHandlerProfileLib.h MdePkg/SmiHandlerProfileLibNull: Add NULL instance. MdePkg/dsc: add SmiHandlerProfileLib to dsc. MdeModulePkg/include: Add SmiHandlerProfile header file. MdeModulePkg/dec: Add PcdSmiHandlerProfilePropertyMask. MdeModulePkg/SmmSmiHandlerProfileLib: Add SMM instance. MdeModulePkg/PiSmmCore: Add SmiHandlerProfile support. MdeModulePkg/App: Add SmiHandlerProfile dump app. MdeModulePkg/dsc: add SmiHandlerProfile to dsc. BaseTool/Script: Add SmiHandleProfile OS tool to get symbol. QuarkSocPkg/SmmChildDispatch: Add SmiHandlerProfile support. QuarkPlatformPkg: enable SmiHandlerProfile. BaseTools/Scripts/SmiHandlerProfileSymbolGen.py = | 351 ++++++ MdeModulePkg/Application/SmiHandlerProfileInfo/SmiHandlerProfileInfo.c = | 685 +++++++++++ MdeModulePkg/Application/SmiHandlerProfileInfo/SmiHandlerProfileInfo.inf = | 65 + MdeModulePkg/Application/SmiHandlerProfileInfo/SmiHandlerProfileInfo.uni = | 22 + MdeModulePkg/Application/SmiHandlerProfileInfo/SmiHandlerProfileInfoExtra.= uni | 19 + MdeModulePkg/Core/PiSmmCore/PiSmmCore.c = | 4 +- MdeModulePkg/Core/PiSmmCore/PiSmmCore.h = | 89 +- MdeModulePkg/Core/PiSmmCore/PiSmmCore.inf = | 17 +- MdeModulePkg/Core/PiSmmCore/Smi.c = | 46 +- MdeModulePkg/Core/PiSmmCore/SmiHandlerProfile.c = | 1261 ++++++++++++++++++++ MdeModulePkg/Include/Guid/SmiHandlerProfile.h = | 177 +++ MdeModulePkg/Library/SmmSmiHandlerProfileLib/SmmSmiHandlerProfileLib.c = | 106 ++ MdeModulePkg/Library/SmmSmiHandlerProfileLib/SmmSmiHandlerProfileLib.inf = | 46 + MdeModulePkg/Library/SmmSmiHandlerProfileLib/SmmSmiHandlerProfileLib.uni = | 21 + MdeModulePkg/MdeModulePkg.dec = | 11 +- MdeModulePkg/MdeModulePkg.dsc = | 2 + MdePkg/Include/Library/SmiHandlerProfileLib.h = | 81 ++ MdePkg/Library/SmiHandlerProfileLibNull/SmiHandlerProfileLibNull.c = | 72 ++ MdePkg/Library/SmiHandlerProfileLibNull/SmiHandlerProfileLibNull.inf = | 36 + MdePkg/Library/SmiHandlerProfileLibNull/SmiHandlerProfileLibNull.uni = | 21 + MdePkg/MdePkg.dec = | 5 +- MdePkg/MdePkg.dsc = | 3 +- QuarkPlatformPkg/Quark.dsc = | 16 +- QuarkPlatformPkg/Quark.fdf = | 3 +- QuarkPlatformPkg/QuarkMin.dsc = | 5 +- QuarkPlatformPkg/Readme.md = | 29 +- QuarkSocPkg/QuarkNorthCluster/Smm/DxeSmm/QncSmmDispatcher/QNCSmmCore.c = | 19 +- QuarkSocPkg/QuarkNorthCluster/Smm/DxeSmm/QncSmmDispatcher/QNCSmmDispatcher= .inf | 3 +- 28 files changed, 3159 insertions(+), 56 deletions(-) create mode 100644 = BaseTools/Scripts/SmiHandlerProfileSymbolGen.py create mode 100644 MdeModulePkg/Application/SmiHandlerProfileInfo/SmiHandl= erProfileInfo.c create mode 100644 MdeModulePkg/Application/SmiHandlerProfileInfo/SmiHandl= erProfileInfo.inf create mode 100644 MdeModulePkg/Application/SmiHandlerProfileInfo/SmiHandl= erProfileInfo.uni create mode 100644 MdeModulePkg/Application/SmiHandlerProfileInfo/SmiHandl= erProfileInfoExtra.uni create mode 100644 MdeModulePkg/Core/PiSmmCore/SmiHandlerProfile.c create mode 100644 MdeModulePkg/Include/Guid/SmiHandlerProfile.h create mode 100644 MdeModulePkg/Library/SmmSmiHandlerProfileLib/SmmSmiHand= lerProfileLib.c create mode 100644 MdeModulePkg/Library/SmmSmiHandlerProfileLib/SmmSmiHand= lerProfileLib.inf create mode 100644 MdeModulePkg/Library/SmmSmiHandlerProfileLib/SmmSmiHand= lerProfileLib.uni create mode 100644 MdePkg/Include/Library/SmiHandlerProfileLib.h create mode 100644 MdePkg/Library/SmiHandlerProfileLibNull/SmiHandlerProfi= leLibNull.c create mode 100644 MdePkg/Library/SmiHandlerProfileLibNull/SmiHandlerProfi= leLibNull.inf create mode 100644 MdePkg/Library/SmiHandlerProfileLibNull/SmiHandlerProfi= leLibNull.uni -- 2.7.4.windows.1