wall_clock: use standard wall clock if rtsc frequency is too low

This commit is contained in:
german77 2022-01-27 16:53:58 -06:00
parent 2136ebccd6
commit e4c63d432d

View File

@ -72,7 +72,9 @@ std::unique_ptr<WallClock> CreateBestMatchingClock(u32 emulated_cpu_frequency,
if (caps.invariant_tsc) { if (caps.invariant_tsc) {
rtsc_frequency = EstimateRDTSCFrequency(); rtsc_frequency = EstimateRDTSCFrequency();
} }
if (rtsc_frequency == 0) {
// Fallback to StandardWallClock if rtsc period is higher than a nano second
if (rtsc_frequency <= 1000000000) {
return std::make_unique<StandardWallClock>(emulated_cpu_frequency, return std::make_unique<StandardWallClock>(emulated_cpu_frequency,
emulated_clock_frequency); emulated_clock_frequency);
} else { } else {