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

Reply via email to