summaryrefslogtreecommitdiffstats
path: root/UefiPayloadPkg/UefiPayloadPkg.dsc
diff options
context:
space:
mode:
authorLiu, Zhiguang <Zhiguang.Liu@intel.com>2021-11-24 17:15:09 +0800
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2021-12-08 04:08:21 +0000
commit2527723de9a35c8d73ba09ae4dd1db3db81f22f2 (patch)
treed8a252bcfd1a59359c389ae4d6d384c4e89ed15c /UefiPayloadPkg/UefiPayloadPkg.dsc
parent94e0a7bddb4021d21e55fe703b4ee41634f7c2b1 (diff)
downloadedk2-2527723de9a35c8d73ba09ae4dd1db3db81f22f2.tar.gz
edk2-2527723de9a35c8d73ba09ae4dd1db3db81f22f2.tar.bz2
edk2-2527723de9a35c8d73ba09ae4dd1db3db81f22f2.zip
UefiPayloadPkg: Add performance measurement feature
Add a Macro to enable performance measurement feature. For any platform that uses UniversalPayload, we assume it supports BaseCpuTimerLib and use it to align timerlib to get more accurate performance result. Reviewed-by: Guo Dong <guo.dong@intel.com> Cc: Ray Ni <ray.ni@intel.com> Cc: Maurice Ma <maurice.ma@intel.com> Cc: Benjamin You <benjamin.you@intel.com> Signed-off-by: Zhiguang Liu <zhiguang.liu@intel.com>
Diffstat (limited to 'UefiPayloadPkg/UefiPayloadPkg.dsc')
-rw-r--r--UefiPayloadPkg/UefiPayloadPkg.dsc34
1 files changed, 33 insertions, 1 deletions
diff --git a/UefiPayloadPkg/UefiPayloadPkg.dsc b/UefiPayloadPkg/UefiPayloadPkg.dsc
index 0df5f827c9..a1ef711f24 100644
--- a/UefiPayloadPkg/UefiPayloadPkg.dsc
+++ b/UefiPayloadPkg/UefiPayloadPkg.dsc
@@ -109,6 +109,7 @@
DEFINE RTC_TARGET_REGISTER = 0x71
DEFINE SERIAL_DRIVER_ENABLE = TRUE
+ DEFINE PERFORMANCE_MEASUREMENT_ENABLE = FALSE
[BuildOptions]
*_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES
@@ -216,7 +217,11 @@
#
# Platform
#
+!if $(UNIVERSAL_PAYLOAD) == TRUE
+ TimerLib|UefiCpuPkg/Library/CpuTimerLib/BaseCpuTimerLib.inf
+!else
TimerLib|UefiPayloadPkg/Library/AcpiTimerLib/AcpiTimerLib.inf
+!endif
ResetSystemLib|UefiPayloadPkg/Library/ResetSystemLib/ResetSystemLib.inf
SerialPortLib|MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.inf
PlatformHookLib|UefiPayloadPkg/Library/PlatformHookLib/PlatformHookLib.inf
@@ -277,6 +282,9 @@
DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf
!endif
CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf
+!if $(PERFORMANCE_MEASUREMENT_ENABLE)
+ PerformanceLib|MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.inf
+!endif
[LibraryClasses.common.DXE_DRIVER]
PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
@@ -288,17 +296,26 @@
!endif
CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf
MpInitLib|UefiCpuPkg/Library/MpInitLib/DxeMpInitLib.inf
+!if $(PERFORMANCE_MEASUREMENT_ENABLE)
+ PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
+!endif
[LibraryClasses.common.DXE_RUNTIME_DRIVER]
PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
ReportStatusCodeLib|MdeModulePkg/Library/RuntimeDxeReportStatusCodeLib/RuntimeDxeReportStatusCodeLib.inf
VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLibRuntimeDxe.inf
+!if $(PERFORMANCE_MEASUREMENT_ENABLE)
+ PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
+!endif
[LibraryClasses.common.UEFI_DRIVER,LibraryClasses.common.UEFI_APPLICATION]
PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
+!if $(PERFORMANCE_MEASUREMENT_ENABLE)
+ PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
+!endif
[LibraryClasses.common.SMM_CORE]
!if $(SMM_SUPPORT) == TRUE
@@ -309,6 +326,9 @@
SmmCorePlatformHookLib|MdeModulePkg/Library/SmmCorePlatformHookLibNull/SmmCorePlatformHookLibNull.inf
SmmMemLib|MdePkg/Library/SmmMemLib/SmmMemLib.inf
ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf
+!if $(PERFORMANCE_MEASUREMENT_ENABLE)
+ PerformanceLib|MdeModulePkg/Library/SmmCorePerformanceLib/SmmCorePerformanceLib.inf
+!endif
!endif
[LibraryClasses.common.DXE_SMM_DRIVER]
@@ -324,6 +344,9 @@
SmmCpuFeaturesLib|UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.inf
CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/SmmCpuExceptionHandlerLib.inf
ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf
+!if $(PERFORMANCE_MEASUREMENT_ENABLE)
+ PerformanceLib|MdeModulePkg/Library/SmmPerformanceLib/SmmPerformanceLib.inf
+!endif
!endif
!if $(VARIABLE_SUPPORT) == "SPI"
SpiFlashLib|UefiPayloadPkg/Library/SpiFlashLib/SpiFlashLib.inf
@@ -366,6 +389,10 @@
gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugLoadImageMethod|0x2
!endif
gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmStackSize|0x4000
+ gEfiMdeModulePkgTokenSpaceGuid.PcdEdkiiFpdtStringRecordEnableOnly| TRUE
+!if $(PERFORMANCE_MEASUREMENT_ENABLE)
+ gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask | 0x1
+!endif
[PcdsPatchableInModule.X64]
gPcAtChipsetPkgTokenSpaceGuid.PcdRtcIndexRegister|$(RTC_INDEX_REGISTER)
@@ -633,7 +660,9 @@
MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
!endif
UefiPayloadPkg/GraphicsOutputDxe/GraphicsOutputDxe.inf
-
+!if $(PERFORMANCE_MEASUREMENT_ENABLE)
+ MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableDxe/FirmwarePerformanceDxe.inf
+!endif
#
# SMM Support
#
@@ -646,6 +675,9 @@
UefiPayloadPkg/PchSmiDispatchSmm/PchSmiDispatchSmm.inf
UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf
UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.inf
+!if $(PERFORMANCE_MEASUREMENT_ENABLE)
+ MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/FirmwarePerformanceSmm.inf
+!endif
!endif
!if $(VARIABLE_SUPPORT) == "EMU"