From b8982a225a5515bc1c3d09e7c6cc6c8f93ebff0a Mon Sep 17 00:00:00 2001
From: Stefan Lankes <slankes@eonerc.rwth-aachen.de>
Date: Mon, 1 May 2017 12:10:43 +0200
Subject: [PATCH] restore also the time stamp counter

---
 tools/uhyve.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/tools/uhyve.c b/tools/uhyve.c
index 419be653d..7264f8e00 100644
--- a/tools/uhyve.c
+++ b/tools/uhyve.c
@@ -951,6 +951,7 @@ static void save_cpu_state(void)
 	msrs[n++].index = MSR_IA32_SYSENTER_EIP;
 	msrs[n++].index = MSR_IA32_CR_PAT;
 	msrs[n++].index = MSR_IA32_MISC_ENABLE;
+	msrs[n++].index = MSR_IA32_TSC;
 	msrs[n++].index = MSR_CSTAR;
 	msrs[n++].index = MSR_STAR;
 	msrs[n++].index = MSR_EFER;
@@ -1165,7 +1166,9 @@ int uhyve_init(char *path)
 	// try to detect KVM extensions
 	cap_tsc_deadline = kvm_ioctl(vmfd, KVM_CHECK_EXTENSION, KVM_CAP_TSC_DEADLINE_TIMER) <= 0 ? false : true;
 	cap_irqchip = kvm_ioctl(vmfd, KVM_CHECK_EXTENSION, KVM_CAP_IRQCHIP) <= 0 ? false : true;
+#ifdef KVM_CLOCK_TSC_STABLE
 	cap_adjust_clock_stable = kvm_ioctl(vmfd, KVM_CHECK_EXTENSION, KVM_CAP_ADJUST_CLOCK) == KVM_CLOCK_TSC_STABLE ? true : false;
+#endif
 
 	if (restart) {
 		if (load_checkpoint(guest_mem, path) != 0)