x86/hyperv: Add HV_EXPOSE_INVARIANT_TSC define
authorVitaly Kuznetsov <vkuznets@redhat.com>
Thu, 13 Oct 2022 09:58:43 +0000 (11:58 +0200)
committerPaolo Bonzini <pbonzini@redhat.com>
Tue, 27 Dec 2022 11:03:02 +0000 (06:03 -0500)
Avoid open coding BIT(0) of HV_X64_MSR_TSC_INVARIANT_CONTROL by adding
a dedicated define. While there's only one user at this moment, the
upcoming KVM implementation of Hyper-V Invariant TSC feature will need
to use it as well.

Reviewed-by: Michael Kelley <mikelley@microsoft.com>
Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Reviewed-by: Sean Christopherson <seanjc@google.com>
Message-Id: <20221013095849.705943-2-vkuznets@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/include/asm/hyperv-tlfs.h
arch/x86/kernel/cpu/mshyperv.c

index e3efaf6e6b6285d4e2da7abfb87340ce257b4345..617332dd64ac67ddbfb05b5e56667bb8cfb70437 100644 (file)
@@ -255,6 +255,9 @@ enum hv_isolation_type {
 /* TSC invariant control */
 #define HV_X64_MSR_TSC_INVARIANT_CONTROL       0x40000118
 
+/* HV_X64_MSR_TSC_INVARIANT_CONTROL bits */
+#define HV_EXPOSE_INVARIANT_TSC                BIT_ULL(0)
+
 /* Register name aliases for temporary compatibility */
 #define HV_X64_MSR_STIMER0_COUNT       HV_REGISTER_STIMER0_COUNT
 #define HV_X64_MSR_STIMER0_CONFIG      HV_REGISTER_STIMER0_CONFIG
index 831613959a92af177a621ce507d18f671daeed86..e402923800d7aee9a94e2f686791bf7f338cb3d3 100644 (file)
@@ -388,7 +388,7 @@ static void __init ms_hyperv_init_platform(void)
                 * setting of this MSR bit should happen before init_intel()
                 * is called.
                 */
-               wrmsrl(HV_X64_MSR_TSC_INVARIANT_CONTROL, 0x1);
+               wrmsrl(HV_X64_MSR_TSC_INVARIANT_CONTROL, HV_EXPOSE_INVARIANT_TSC);
                setup_force_cpu_cap(X86_FEATURE_TSC_RELIABLE);
        }