summaryrefslogtreecommitdiffstats
path: root/arch/x86/include
diff options
context:
space:
mode:
authorVitaly Kuznetsov <vkuznets@redhat.com>2018-03-01 15:15:12 +0100
committerPaolo Bonzini <pbonzini@redhat.com>2018-03-16 22:01:31 +0100
commita2e164e7f45ab21742b2e32c0195b699ae2ebfc0 (patch)
tree64a0add3637d090b05997a6f1b8cf4f1c208f480 /arch/x86/include
parentddd6f0e94d3153951580d5b88b9d97c7e26a0e00 (diff)
downloadop-kernel-dev-a2e164e7f45ab21742b2e32c0195b699ae2ebfc0.zip
op-kernel-dev-a2e164e7f45ab21742b2e32c0195b699ae2ebfc0.tar.gz
x86/kvm/hyper-v: add reenlightenment MSRs support
Nested Hyper-V/Windows guest running on top of KVM will use TSC page clocksource in two cases: - L0 exposes invariant TSC (CPUID.80000007H:EDX[8]). - L0 provides Hyper-V Reenlightenment support (CPUID.40000003H:EAX[13]). Exposing invariant TSC effectively blocks migration to hosts with different TSC frequencies, providing reenlightenment support will be needed when we start migrating nested workloads. Implement rudimentary support for reenlightenment MSRs. For now, these are just read/write MSRs with no effect. Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com> Reviewed-by: Roman Kagan <rkagan@virtuozzo.com> Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
Diffstat (limited to 'arch/x86/include')
-rw-r--r--arch/x86/include/asm/kvm_host.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h
index df6720f..0395c35 100644
--- a/arch/x86/include/asm/kvm_host.h
+++ b/arch/x86/include/asm/kvm_host.h
@@ -756,6 +756,10 @@ struct kvm_hv {
HV_REFERENCE_TSC_PAGE tsc_ref;
struct idr conn_to_evt;
+
+ u64 hv_reenlightenment_control;
+ u64 hv_tsc_emulation_control;
+ u64 hv_tsc_emulation_status;
};
enum kvm_irqchip_mode {
OpenPOWER on IntegriCloud