[PATCH] UefiPayloadPkg: Not use BaseCpuTimerLib by default.


Zhiguang Liu
 

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.

Cc: 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>
---
UefiPayloadPkg/UefiPayloadPkg.dsc | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/UefiPayloadPkg/UefiPayloadPkg.dsc b/UefiPayloadPkg/UefiPayload=
Pkg.dsc
index 3d08edfe31..65c1bd610e 100644
--- a/UefiPayloadPkg/UefiPayloadPkg.dsc
+++ b/UefiPayloadPkg/UefiPayloadPkg.dsc
@@ -111,6 +111,11 @@
DEFINE SERIAL_DRIVER_ENABLE =3D TRUE=0D
DEFINE PERFORMANCE_MEASUREMENT_ENABLE =3D FALSE=0D
=0D
+ # For recent X86 CPU, 0x15 CPUID instruction will return Time Stamp Coun=
ter.=0D
+ # This is recommended way to get the time, and also how BaseCpuTimerLib =
works.=0D
+ # However, some CPU doesn't support this feature, so disable it by defau=
lt.=0D
+ DEFINE CPU_TIMER_LIB_ENABLE =3D FALSE=0D
+=0D
[BuildOptions]=0D
*_*_*_CC_FLAGS =3D -D DISABLE_NEW_DEPRECATED_INTERFACES=
=0D
GCC:*_UNIXGCC_*_CC_FLAGS =3D -DMDEPKG_NDEBUG=0D
@@ -217,7 +222,7 @@
#=0D
# Platform=0D
#=0D
-!if $(UNIVERSAL_PAYLOAD) =3D=3D TRUE=0D
+!if $(CPU_TIMER_LIB_ENABLE) =3D=3D TRUE=0D
TimerLib|UefiCpuPkg/Library/CpuTimerLib/BaseCpuTimerLib.inf=0D
!else=0D
TimerLib|UefiPayloadPkg/Library/AcpiTimerLib/AcpiTimerLib.inf=0D
--=20
2.32.0.windows.2


Ma, Maurice
 

Reviewed-by: Maurice Ma <maurice.ma@intel.com>

-----Original Message-----
From: Liu, Zhiguang <zhiguang.liu@intel.com>
Sent: Thursday, January 13, 2022 22:15
To: devel@edk2.groups.io
Cc: Dong, Guo <guo.dong@intel.com>; Ni, Ray <ray.ni@intel.com>; Ma,
Maurice <maurice.ma@intel.com>; You, Benjamin
<benjamin.you@intel.com>
Subject: [PATCH] UefiPayloadPkg: Not use BaseCpuTimerLib by default.

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.

Cc: 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>
---
UefiPayloadPkg/UefiPayloadPkg.dsc | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/UefiPayloadPkg/UefiPayloadPkg.dsc
b/UefiPayloadPkg/UefiPayloadPkg.dsc
index 3d08edfe31..65c1bd610e 100644
--- a/UefiPayloadPkg/UefiPayloadPkg.dsc
+++ b/UefiPayloadPkg/UefiPayloadPkg.dsc
@@ -111,6 +111,11 @@
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+ [BuildOptions]
*_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES
GCC:*_UNIXGCC_*_CC_FLAGS = -DMDEPKG_NDEBUG@@ -217,7 +222,7
@@
# # Platform #-!if $(UNIVERSAL_PAYLOAD) == TRUE+!if
$(CPU_TIMER_LIB_ENABLE) == TRUE
TimerLib|UefiCpuPkg/Library/CpuTimerLib/BaseCpuTimerLib.inf !else
TimerLib|UefiPayloadPkg/Library/AcpiTimerLib/AcpiTimerLib.inf--
2.32.0.windows.2


Guo Dong
 

Reviewed-by: Guo Dong <guo.dong@intel.com>

-----Original Message-----
From: Liu, Zhiguang <zhiguang.liu@intel.com>
Sent: Thursday, January 13, 2022 11:15 PM
To: devel@edk2.groups.io
Cc: Dong, Guo <guo.dong@intel.com>; Ni, Ray <ray.ni@intel.com>; Ma, Maurice <maurice.ma@intel.com>; You, Benjamin <benjamin.you@intel.com>
Subject: [PATCH] UefiPayloadPkg: Not use BaseCpuTimerLib by default.

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.

Cc: 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>
---
UefiPayloadPkg/UefiPayloadPkg.dsc | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/UefiPayloadPkg/UefiPayloadPkg.dsc b/UefiPayloadPkg/UefiPayloadPkg.dsc
index 3d08edfe31..65c1bd610e 100644
--- a/UefiPayloadPkg/UefiPayloadPkg.dsc
+++ b/UefiPayloadPkg/UefiPayloadPkg.dsc
@@ -111,6 +111,11 @@
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+ [BuildOptions] *_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES GCC:*_UNIXGCC_*_CC_FLAGS = -DMDEPKG_NDEBUG@@ -217,7 +222,7 @@
# # Platform #-!if $(UNIVERSAL_PAYLOAD) == TRUE+!if $(CPU_TIMER_LIB_ENABLE) == TRUE TimerLib|UefiCpuPkg/Library/CpuTimerLib/BaseCpuTimerLib.inf !else TimerLib|UefiPayloadPkg/Library/AcpiTimerLib/AcpiTimerLib.inf--
2.32.0.windows.2