diff --git a/UefiCpuPkg/CpuTimerDxeRiscV64/CpuTimerDxeRiscV64.inf b/UefiCpuPkg/CpuTimerDxeRiscV64/CpuTimerDxeRiscV64.inf index f2a2cf12ca..812b6745eb 100644 --- a/UefiCpuPkg/CpuTimerDxeRiscV64/CpuTimerDxeRiscV64.inf +++ b/UefiCpuPkg/CpuTimerDxeRiscV64/CpuTimerDxeRiscV64.inf @@ -32,6 +32,7 @@ CpuLib UefiBootServicesTableLib UefiDriverEntryPoint + TimerLib [LibraryClasses.RISCV64] RiscVSbiLib @@ -42,7 +43,6 @@ [Pcd] gEfiMdePkgTokenSpaceGuid.PcdRiscVFeatureOverride ## CONSUMES - gUefiCpuPkgTokenSpaceGuid.PcdCpuCoreCrystalClockFrequency ## CONSUMES [Protocols] gEfiCpuArchProtocolGuid ## CONSUMES diff --git a/UefiCpuPkg/CpuTimerDxeRiscV64/Timer.c b/UefiCpuPkg/CpuTimerDxeRiscV64/Timer.c index 216f48a529..14780e4c45 100644 --- a/UefiCpuPkg/CpuTimerDxeRiscV64/Timer.c +++ b/UefiCpuPkg/CpuTimerDxeRiscV64/Timer.c @@ -10,6 +10,7 @@ #include #include #include +#include #include "Timer.h" // @@ -114,7 +115,7 @@ TimerInterruptHandler ( mTimerNotifyFunction ( DivU64x32 ( EFI_TIMER_PERIOD_SECONDS (PeriodStart - mLastPeriodStart), - PcdGet64 (PcdCpuCoreCrystalClockFrequency) + GetPerformanceCounterProperties (NULL, NULL) ) ); } @@ -129,7 +130,7 @@ TimerInterruptHandler ( PeriodStart += DivU64x32 ( MultU64x32 ( mTimerPeriod, - PcdGet64 (PcdCpuCoreCrystalClockFrequency) + GetPerformanceCounterProperties (NULL, NULL) ), 1000000u ); // convert to tick @@ -232,7 +233,7 @@ TimerDriverSetTimerPeriod ( PeriodStart += DivU64x32 ( MultU64x32 ( mTimerPeriod, - PcdGet64 (PcdCpuCoreCrystalClockFrequency) + GetPerformanceCounterProperties (NULL, NULL) ), 1000000u ); // convert to tick