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.120; helo=mga04.intel.com; envelope-from=dandan.bi@intel.com; receiver=edk2-devel@lists.01.org Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) (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 BFC8E21129994 for ; Tue, 19 Jun 2018 00:25:47 -0700 (PDT) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 19 Jun 2018 00:25:47 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.51,242,1526367600"; d="scan'208";a="51022184" Received: from shwdeopenpsi114.ccr.corp.intel.com ([10.239.157.135]) by orsmga006.jf.intel.com with ESMTP; 19 Jun 2018 00:25:46 -0700 From: Dandan Bi To: edk2-devel@lists.01.org Cc: Liming Gao , Star Zeng , Michael Kinney Date: Tue, 19 Jun 2018 15:23:56 +0800 Message-Id: <20180619072405.142872-1-dandan.bi@intel.com> X-Mailer: git-send-email 2.14.3.windows.1 Subject: [patch 0/9] Add new Perf macros X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Jun 2018 07:25:48 -0000 Add a group of new Perf macros in performance library for performance logging. Which will simplify the usage model of performance measurement. And also introduce new control functionality to disable different perf types. Patch 1-2: Add a new internal protocol PERFORMANCE_MEASUREMENT_PROTOCOL, which can be used to log performance info. Patch 3-5: Add new Perf macros and update library instances in MdeModulePkg to for the implementation of new perf macros. Patch 6: Enhance the logic in DP tool since some new record and control functionality are introduced by new Perf macros. Patch 7-9: update the consumer codes in core to use the new Perf macros. Unit test: 1.DP tool can dump the performance data saved in the ACPI FPDT when set PcdEdkiiFpdtStringRecordEnableOnly to TRUE/FALSE. 2.Can disable specific knids of Perf entry through setting PcdPerformanceLibraryPropertyMask. Cc: Liming Gao Cc: Star Zeng Cc: Michael Kinney Dandan Bi (9): MdeModulePkg: Add PERFORMANCE_MEASUREMENT_PROTOCOL MdeModulePkg: Update Performance instances to use new protocol MdePkg/PerformanceLib.h: Add new Perf macros MdeModulePkg/ExtendedFirmwarePerf: Remove PerfId definitions MdeModulePkg: Update performance library instances ShellPkg/dp: Update dp tool to parse new Perf record MdeModulePkg: Use new added Perf macros SecurityPkg: Use new added Perf macros UefiCpuPkg: Use new added Perf macros MdeModulePkg/Core/Dxe/Dispatcher/Dispatcher.c | 7 + MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c | 8 +- MdeModulePkg/Core/Dxe/Hand/DriverSupport.c | 8 +- MdeModulePkg/Core/Dxe/Image/Image.c | 30 +- MdeModulePkg/Core/Pei/Dispatcher/Dispatcher.c | 8 +- MdeModulePkg/Core/Pei/PeiMain/PeiMain.c | 17 +- MdeModulePkg/Core/PiSmmCore/Dispatcher.c | 15 +- MdeModulePkg/Core/PiSmmCore/PiSmmCore.c | 4 +- .../Include/Guid/ExtendedFirmwarePerformance.h | 25 - MdeModulePkg/Include/Guid/PerformanceMeasurement.h | 91 +++ .../DxeCorePerformanceLib/DxeCorePerformanceLib.c | 893 +++++++++++++++------ .../DxeCorePerformanceLib.inf | 7 +- .../DxeCorePerformanceLibInternal.h | 217 +---- .../Library/DxePerformanceLib/DxePerformanceLib.c | 193 +++-- .../DxePerformanceLib/DxePerformanceLib.inf | 5 +- .../Library/PeiPerformanceLib/PeiPerformanceLib.c | 442 ++++++++-- .../SmmCorePerformanceLib/SmmCorePerformanceLib.c | 689 ++++++++++------ .../SmmCorePerformanceLib.inf | 7 +- .../SmmCorePerformanceLibInternal.h | 215 +---- .../Library/SmmPerformanceLib/SmmPerformanceLib.c | 198 ++--- .../SmmPerformanceLib/SmmPerformanceLib.inf | 5 +- MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c | 2 +- .../Library/UefiBootManagerLib/BmConsole.c | 9 +- MdeModulePkg/MdeModulePkg.dec | 3 + MdeModulePkg/Universal/BdsDxe/BdsEntry.c | 21 +- MdePkg/Include/Library/PerformanceLib.h | 408 +++++++++- .../BasePerformanceLibNull/PerformanceLib.c | 57 +- MdePkg/MdePkg.dec | 9 +- MdePkg/MdePkg.uni | 6 + .../DxeRsa2048Sha256GuidedSectionExtractLib.c | 16 +- .../PeiRsa2048Sha256GuidedSectionExtractLib.c | 16 +- ShellPkg/DynamicCommand/DpDynamicCommand/Dp.c | 75 +- ShellPkg/DynamicCommand/DpDynamicCommand/Dp.h | 1 + UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume.c | 16 +- 34 files changed, 2460 insertions(+), 1263 deletions(-) create mode 100644 MdeModulePkg/Include/Guid/PerformanceMeasurement.h -- 2.14.3.windows.1