Hi Guo , yes, I know it is merged, and I have some update based on that change. I get comments from Ray, and he suggests using BaseCpuTimerLib for Universal Payload by default. The reason is that we only want to enable UPL on latest CPUs and they should all support the BaseCpuTimerLib. (qemu is the exception, and can be special handled by change its Macro) I was convinced by Ray, so I send patch to modify the default value. Sorry for changing the same content so soon. BTW, seems I missed devel@edk2.groups.io when I sent the patch. Include it in the thread. Thanks Zhiguang ________________________________ 发件人: Dong, Guo 发送时间: 星期三, 一月 19, 2022 11:36 下午 收件人: Liu, Zhiguang 抄送: Ni, Ray; Ma, Maurice; You, Benjamin 主题: RE: [PATCH] UefiPayloadPkg: Use BaseCpuTimerLib for Universal Payload by default Hi Zhiguang, This patch was merged on Monday. Did you make any changes to get this email? Thanks, Guo -----Original Message----- From: Liu, Zhiguang Sent: Wednesday, January 19, 2022 2:17 AM To: devel@edk2.groups.io Cc: Dong, Guo ; Ni, Ray ; Ma, Maurice ; You, Benjamin Subject: [PATCH] UefiPayloadPkg: Use BaseCpuTimerLib for Universal Payload by default Current, a macro CPU_TIMER_LIB_ENABLE is added to determine which timerlib is used. BaseCpuTimerLib.inf is a better way and only fit for recent CPU. Meanwhile, Universal Payload are only aimed to work with recent CPU. Therefore, for Universal Payload, use the BaseCpuTimerLib by default Cc: Guo Dong Cc: Ray Ni Cc: Maurice Ma Cc: Benjamin You Signed-off-by: Zhiguang Liu --- UefiPayloadPkg/UefiPayloadPkg.dsc | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/UefiPayloadPkg/UefiPayloadPkg.dsc b/UefiPayloadPkg/UefiPayloadPkg.dsc index 65c1bd610e..1ce96a51c1 100644 --- a/UefiPayloadPkg/UefiPayloadPkg.dsc +++ b/UefiPayloadPkg/UefiPayloadPkg.dsc @@ -111,10 +111,10 @@ DEFINE SERIAL_DRIVER_ENABLE = TRUE DEFINE PERFORMANCE_MEASUREMENT_ENABLE = FALSE - # For recent X86 CPU, 0x15 CPUID instruction will return Time Stamp Counter.- # This is recommended way to get the time, and also how BaseCpuTimerLib works.- # However, some CPU doesn't support this feature, so disable it by default.- DEFINE CPU_TIMER_LIB_ENABLE = FALSE+ # For recent X86 CPU, 0x15 CPUID instruction will return Time Stamp Counter Frequence.+ # This is how BaseCpuTimerLib works, and a recommended way to get Frequence, so set the default value as TRUE.+ # Note: for emulation platform such as QEMU, this may not work and should set it as FALSE+ DEFINE CPU_TIMER_LIB_ENABLE = TRUE [BuildOptions] *_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES@@ -222,7 +222,7 @@ # # Platform #-!if $(CPU_TIMER_LIB_ENABLE) == TRUE+!if $(CPU_TIMER_LIB_ENABLE) == TRUE && $(UNIVERSAL_PAYLOAD) == TRUE TimerLib|UefiCpuPkg/Library/CpuTimerLib/BaseCpuTimerLib.inf !else TimerLib|UefiPayloadPkg/Library/AcpiTimerLib/AcpiTimerLib.inf-- 2.32.0.windows.2