aboutsummaryrefslogtreecommitdiffstats
path: root/src/fw/paravirt.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/fw/paravirt.c')
-rw-r--r--src/fw/paravirt.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/fw/paravirt.c b/src/fw/paravirt.c
index ef420931..1e3d6012 100644
--- a/src/fw/paravirt.c
+++ b/src/fw/paravirt.c
@@ -67,6 +67,11 @@ static void kvm_detect(void)
if (strcmp(signature, "KVMKVMKVM") == 0) {
dprintf(1, "Running on KVM\n");
PlatformRunningOn |= PF_KVM;
+ if (eax >= KVM_CPUID_SIGNATURE + 0x10) {
+ cpuid(KVM_CPUID_SIGNATURE + 0x10, &eax, &ebx, &ecx, &edx);
+ dprintf(1, "kvm: have invtsc, freq %u kHz\n", eax);
+ tsctimer_setfreq(eax, "invtsc");
+ }
}
}