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>
This commit is contained in:
parent
94e0a7bddb
commit
2527723de9
|
@ -109,6 +109,7 @@
|
||||||
DEFINE RTC_TARGET_REGISTER = 0x71
|
DEFINE RTC_TARGET_REGISTER = 0x71
|
||||||
|
|
||||||
DEFINE SERIAL_DRIVER_ENABLE = TRUE
|
DEFINE SERIAL_DRIVER_ENABLE = TRUE
|
||||||
|
DEFINE PERFORMANCE_MEASUREMENT_ENABLE = FALSE
|
||||||
|
|
||||||
[BuildOptions]
|
[BuildOptions]
|
||||||
*_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES
|
*_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES
|
||||||
|
@ -216,7 +217,11 @@
|
||||||
#
|
#
|
||||||
# Platform
|
# Platform
|
||||||
#
|
#
|
||||||
|
!if $(UNIVERSAL_PAYLOAD) == TRUE
|
||||||
|
TimerLib|UefiCpuPkg/Library/CpuTimerLib/BaseCpuTimerLib.inf
|
||||||
|
!else
|
||||||
TimerLib|UefiPayloadPkg/Library/AcpiTimerLib/AcpiTimerLib.inf
|
TimerLib|UefiPayloadPkg/Library/AcpiTimerLib/AcpiTimerLib.inf
|
||||||
|
!endif
|
||||||
ResetSystemLib|UefiPayloadPkg/Library/ResetSystemLib/ResetSystemLib.inf
|
ResetSystemLib|UefiPayloadPkg/Library/ResetSystemLib/ResetSystemLib.inf
|
||||||
SerialPortLib|MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.inf
|
SerialPortLib|MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.inf
|
||||||
PlatformHookLib|UefiPayloadPkg/Library/PlatformHookLib/PlatformHookLib.inf
|
PlatformHookLib|UefiPayloadPkg/Library/PlatformHookLib/PlatformHookLib.inf
|
||||||
|
@ -277,6 +282,9 @@
|
||||||
DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf
|
DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf
|
||||||
!endif
|
!endif
|
||||||
CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf
|
CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf
|
||||||
|
!if $(PERFORMANCE_MEASUREMENT_ENABLE)
|
||||||
|
PerformanceLib|MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.inf
|
||||||
|
!endif
|
||||||
|
|
||||||
[LibraryClasses.common.DXE_DRIVER]
|
[LibraryClasses.common.DXE_DRIVER]
|
||||||
PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
|
PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
|
||||||
|
@ -288,17 +296,26 @@
|
||||||
!endif
|
!endif
|
||||||
CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf
|
CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf
|
||||||
MpInitLib|UefiCpuPkg/Library/MpInitLib/DxeMpInitLib.inf
|
MpInitLib|UefiCpuPkg/Library/MpInitLib/DxeMpInitLib.inf
|
||||||
|
!if $(PERFORMANCE_MEASUREMENT_ENABLE)
|
||||||
|
PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
|
||||||
|
!endif
|
||||||
|
|
||||||
[LibraryClasses.common.DXE_RUNTIME_DRIVER]
|
[LibraryClasses.common.DXE_RUNTIME_DRIVER]
|
||||||
PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
|
PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
|
||||||
MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
|
MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
|
||||||
ReportStatusCodeLib|MdeModulePkg/Library/RuntimeDxeReportStatusCodeLib/RuntimeDxeReportStatusCodeLib.inf
|
ReportStatusCodeLib|MdeModulePkg/Library/RuntimeDxeReportStatusCodeLib/RuntimeDxeReportStatusCodeLib.inf
|
||||||
VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLibRuntimeDxe.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]
|
[LibraryClasses.common.UEFI_DRIVER,LibraryClasses.common.UEFI_APPLICATION]
|
||||||
PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
|
PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
|
||||||
MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
|
MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
|
||||||
ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
|
ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
|
||||||
|
!if $(PERFORMANCE_MEASUREMENT_ENABLE)
|
||||||
|
PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
|
||||||
|
!endif
|
||||||
|
|
||||||
[LibraryClasses.common.SMM_CORE]
|
[LibraryClasses.common.SMM_CORE]
|
||||||
!if $(SMM_SUPPORT) == TRUE
|
!if $(SMM_SUPPORT) == TRUE
|
||||||
|
@ -309,6 +326,9 @@
|
||||||
SmmCorePlatformHookLib|MdeModulePkg/Library/SmmCorePlatformHookLibNull/SmmCorePlatformHookLibNull.inf
|
SmmCorePlatformHookLib|MdeModulePkg/Library/SmmCorePlatformHookLibNull/SmmCorePlatformHookLibNull.inf
|
||||||
SmmMemLib|MdePkg/Library/SmmMemLib/SmmMemLib.inf
|
SmmMemLib|MdePkg/Library/SmmMemLib/SmmMemLib.inf
|
||||||
ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf
|
ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf
|
||||||
|
!if $(PERFORMANCE_MEASUREMENT_ENABLE)
|
||||||
|
PerformanceLib|MdeModulePkg/Library/SmmCorePerformanceLib/SmmCorePerformanceLib.inf
|
||||||
|
!endif
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
[LibraryClasses.common.DXE_SMM_DRIVER]
|
[LibraryClasses.common.DXE_SMM_DRIVER]
|
||||||
|
@ -324,6 +344,9 @@
|
||||||
SmmCpuFeaturesLib|UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.inf
|
SmmCpuFeaturesLib|UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.inf
|
||||||
CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/SmmCpuExceptionHandlerLib.inf
|
CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/SmmCpuExceptionHandlerLib.inf
|
||||||
ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf
|
ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf
|
||||||
|
!if $(PERFORMANCE_MEASUREMENT_ENABLE)
|
||||||
|
PerformanceLib|MdeModulePkg/Library/SmmPerformanceLib/SmmPerformanceLib.inf
|
||||||
|
!endif
|
||||||
!endif
|
!endif
|
||||||
!if $(VARIABLE_SUPPORT) == "SPI"
|
!if $(VARIABLE_SUPPORT) == "SPI"
|
||||||
SpiFlashLib|UefiPayloadPkg/Library/SpiFlashLib/SpiFlashLib.inf
|
SpiFlashLib|UefiPayloadPkg/Library/SpiFlashLib/SpiFlashLib.inf
|
||||||
|
@ -366,6 +389,10 @@
|
||||||
gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugLoadImageMethod|0x2
|
gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugLoadImageMethod|0x2
|
||||||
!endif
|
!endif
|
||||||
gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmStackSize|0x4000
|
gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmStackSize|0x4000
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdEdkiiFpdtStringRecordEnableOnly| TRUE
|
||||||
|
!if $(PERFORMANCE_MEASUREMENT_ENABLE)
|
||||||
|
gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask | 0x1
|
||||||
|
!endif
|
||||||
|
|
||||||
[PcdsPatchableInModule.X64]
|
[PcdsPatchableInModule.X64]
|
||||||
gPcAtChipsetPkgTokenSpaceGuid.PcdRtcIndexRegister|$(RTC_INDEX_REGISTER)
|
gPcAtChipsetPkgTokenSpaceGuid.PcdRtcIndexRegister|$(RTC_INDEX_REGISTER)
|
||||||
|
@ -633,7 +660,9 @@
|
||||||
MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
|
MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
|
||||||
!endif
|
!endif
|
||||||
UefiPayloadPkg/GraphicsOutputDxe/GraphicsOutputDxe.inf
|
UefiPayloadPkg/GraphicsOutputDxe/GraphicsOutputDxe.inf
|
||||||
|
!if $(PERFORMANCE_MEASUREMENT_ENABLE)
|
||||||
|
MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableDxe/FirmwarePerformanceDxe.inf
|
||||||
|
!endif
|
||||||
#
|
#
|
||||||
# SMM Support
|
# SMM Support
|
||||||
#
|
#
|
||||||
|
@ -646,6 +675,9 @@
|
||||||
UefiPayloadPkg/PchSmiDispatchSmm/PchSmiDispatchSmm.inf
|
UefiPayloadPkg/PchSmiDispatchSmm/PchSmiDispatchSmm.inf
|
||||||
UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf
|
UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf
|
||||||
UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.inf
|
UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.inf
|
||||||
|
!if $(PERFORMANCE_MEASUREMENT_ENABLE)
|
||||||
|
MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/FirmwarePerformanceSmm.inf
|
||||||
|
!endif
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
!if $(VARIABLE_SUPPORT) == "EMU"
|
!if $(VARIABLE_SUPPORT) == "EMU"
|
||||||
|
|
|
@ -117,6 +117,9 @@ INF MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe
|
||||||
INF MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf
|
INF MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf
|
||||||
!endif
|
!endif
|
||||||
INF PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf
|
INF PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf
|
||||||
|
!if $(PERFORMANCE_MEASUREMENT_ENABLE)
|
||||||
|
INF MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableDxe/FirmwarePerformanceDxe.inf
|
||||||
|
!endif
|
||||||
|
|
||||||
#
|
#
|
||||||
# SMM Support
|
# SMM Support
|
||||||
|
@ -130,6 +133,9 @@ INF PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf
|
||||||
INF UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.inf
|
INF UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.inf
|
||||||
INF UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf
|
INF UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf
|
||||||
INF UefiPayloadPkg/PchSmiDispatchSmm/PchSmiDispatchSmm.inf
|
INF UefiPayloadPkg/PchSmiDispatchSmm/PchSmiDispatchSmm.inf
|
||||||
|
!if $(PERFORMANCE_MEASUREMENT_ENABLE)
|
||||||
|
INF MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/FirmwarePerformanceSmm.inf
|
||||||
|
!endif
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
!if $(VARIABLE_SUPPORT) == "EMU"
|
!if $(VARIABLE_SUPPORT) == "EMU"
|
||||||
|
|
Loading…
Reference in New Issue