aboutsummaryrefslogtreecommitdiff
path: root/target/i386/hyperv-proto.h
diff options
context:
space:
mode:
authorVitaly Kuznetsov <vkuznets@redhat.com>2018-04-11 13:50:36 +0200
committerPaolo Bonzini <pbonzini@redhat.com>2018-05-11 14:33:39 +0200
commitba6a4fd95de1e0a85bfbe43330448f16486e2181 (patch)
tree10150076aa08cd93b9fe36d959d9bf27b86411c6 /target/i386/hyperv-proto.h
parent45b47130f4b7b53eb1437e8301bfeb4e73490413 (diff)
i386/kvm: add support for Hyper-V reenlightenment MSRs
KVM recently gained support for Hyper-V Reenlightenment MSRs which are required to make KVM-on-Hyper-V enable TSC page clocksource to its guests when INVTSC is not passed to it (and it is not passed by default in Qemu as it effectively blocks migration). Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com> Message-Id: <20180411115036.31832-2-vkuznets@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'target/i386/hyperv-proto.h')
-rw-r--r--target/i386/hyperv-proto.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/target/i386/hyperv-proto.h b/target/i386/hyperv-proto.h
index cb4d7f2b7a..93352ebd2a 100644
--- a/target/i386/hyperv-proto.h
+++ b/target/i386/hyperv-proto.h
@@ -35,7 +35,7 @@
#define HV_RESET_AVAILABLE (1u << 7)
#define HV_REFERENCE_TSC_AVAILABLE (1u << 9)
#define HV_ACCESS_FREQUENCY_MSRS (1u << 11)
-
+#define HV_ACCESS_REENLIGHTENMENTS_CONTROL (1u << 13)
/*
* HV_CPUID_FEATURES.EDX bits
@@ -130,6 +130,13 @@
#define HV_CRASH_CTL_NOTIFY (1ull << 63)
/*
+ * Reenlightenment notification MSRs
+ */
+#define HV_X64_MSR_REENLIGHTENMENT_CONTROL 0x40000106
+#define HV_X64_MSR_TSC_EMULATION_CONTROL 0x40000107
+#define HV_X64_MSR_TSC_EMULATION_STATUS 0x40000108
+
+/*
* Hypercall status code
*/
#define HV_STATUS_SUCCESS 0