static uint64_t rtc_export_speed(uint64_t cyc_per_sec) { uint64_t cycles; /* Round: */ cycles = ((cyc_per_sec + (UI_CPUFREQ_ROUNDING_FACTOR/2)) / UI_CPUFREQ_ROUNDING_FACTOR) * UI_CPUFREQ_ROUNDING_FACTOR; /* * Set current measured speed. */ if (cycles >= 0x100000000ULL) { gPEClockFrequencyInfo.cpu_clock_rate_hz = 0xFFFFFFFFUL; } else { gPEClockFrequencyInfo.cpu_clock_rate_hz = (unsigned long)cycles; } gPEClockFrequencyInfo.cpu_frequency_hz = cycles; kprintf("[RTCLOCK] frequency %llu (%llu)\n", cycles, cyc_per_sec); return(cycles); }