Current DP implementation depends on TimerLib, as different platforms may implement and use their own TimerLib, it makes the dp needs to be built by platform. The TimerLib dependency can be removed by using performance property configuration table to make DP to be generic.
There was a discussion on edk2-devel about supporting use of different TimerLib instances in different modules and updating the performance log to support measurements with different timer rates. A complete solution for this has not been found. This patch series that allows the DP command to get the timer rate from a system configuration table is useful on its own because it allows the DP shell command to be independent of the TimerLib used to collect the performance logs. V3: Define and install performance property configuration table instead of extending PEI performance log HOB. As user may want to only dump DXE or SMM performance data, then PeiPerformanceLib will be not linked and PEI performance log HOB will be not built. V4: Change name of field in PERFORMANCE_PROPERTY from CpuFreq to Frequency. Cc: Andrew Fish <af...@apple.com> Cc: Michael Kinney <michael.d.kin...@intel.com> Cc: Liming Gao <liming....@intel.com> Cc: Jiewen Yao <jiewen....@intel.com> Cc: Cinnamon Shia <cinnamon.s...@hpe.com> Cc: Jaben Carsey <jaben.car...@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Star Zeng <star.z...@intel.com> Star Zeng (3): MdeModulePkg: Add performance property configuration table PerformancePkg Dp_App: Remove TimerLib dependency ShellPkg UefiDpLib: Remove TimerLib dependency MdeModulePkg/Include/Guid/Performance.h | 12 +++++++- .../DxeCorePerformanceLib/DxeCorePerformanceLib.c | 23 ++++++++++++-- .../DxeCorePerformanceLib.inf | 2 ++ .../DxeCorePerformanceLibInternal.h | 3 +- .../SmmCorePerformanceLib/SmmCorePerformanceLib.c | 18 +++++++++++ .../SmmCorePerformanceLib.inf | 5 +++- PerformancePkg/Dp_App/Dp.c | 35 +++++++++++----------- PerformancePkg/Dp_App/Dp.inf | 6 ++-- PerformancePkg/Dp_App/DpInternal.h | 6 ++-- PerformancePkg/Dp_App/DpProfile.c | 3 +- PerformancePkg/Dp_App/DpStrings.uni | 10 ++++--- PerformancePkg/Dp_App/DpTrace.c | 25 ++-------------- PerformancePkg/Dp_App/DpUtilities.c | 3 +- PerformancePkg/Dp_App/Literals.c | 3 +- ShellPkg/Library/UefiDpLib/Dp.c | 29 +++++++----------- ShellPkg/Library/UefiDpLib/DpInternal.h | 6 ++-- ShellPkg/Library/UefiDpLib/DpProfile.c | 3 +- ShellPkg/Library/UefiDpLib/DpTrace.c | 25 ++-------------- ShellPkg/Library/UefiDpLib/DpUtilities.c | 3 +- ShellPkg/Library/UefiDpLib/Literals.c | 3 +- ShellPkg/Library/UefiDpLib/UefiDpLib.inf | 6 ++-- ShellPkg/Library/UefiDpLib/UefiDpLib.uni | 3 +- ShellPkg/ShellPkg.dsc | 3 +- 23 files changed, 117 insertions(+), 118 deletions(-) -- 2.6.3.windows.1 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel