lkml.org 
[lkml]   [2016]   [Jan]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.2.y-ckt 010/268] KVM: x86: expose MSR_TSC_AUX to userspace
    Date
    4.2.8-ckt3 -stable review patch.  If anyone has any objections, please let me know.

    ---8<------------------------------------------------------------

    From: Paolo Bonzini <pbonzini@redhat.com>

    commit 9dbe6cf941a6fe82933aef565e4095fb10f65023 upstream.

    If we do not do this, it is not properly saved and restored across
    migration. Windows notices due to its self-protection mechanisms,
    and is very upset about it (blue screen of death).

    Cc: Radim Krcmar <rkrcmar@redhat.com>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: Kamal Mostafa <kamal@canonical.com>
    ---
    arch/x86/kvm/x86.c | 11 ++++++-----
    1 file changed, 6 insertions(+), 5 deletions(-)

    diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
    index d022b73..35b6bd2 100644
    --- a/arch/x86/kvm/x86.c
    +++ b/arch/x86/kvm/x86.c
    @@ -941,7 +941,7 @@ static u32 msrs_to_save[] = {
    MSR_CSTAR, MSR_KERNEL_GS_BASE, MSR_SYSCALL_MASK, MSR_LSTAR,
    #endif
    MSR_IA32_TSC, MSR_IA32_CR_PAT, MSR_VM_HSAVE_PA,
    - MSR_IA32_FEATURE_CONTROL, MSR_IA32_BNDCFGS
    + MSR_IA32_FEATURE_CONTROL, MSR_IA32_BNDCFGS, MSR_TSC_AUX,
    };

    static unsigned num_msrs_to_save;
    @@ -4053,16 +4053,17 @@ static void kvm_init_msr_list(void)

    /*
    * Even MSRs that are valid in the host may not be exposed
    - * to the guests in some cases. We could work around this
    - * in VMX with the generic MSR save/load machinery, but it
    - * is not really worthwhile since it will really only
    - * happen with nested virtualization.
    + * to the guests in some cases.
    */
    switch (msrs_to_save[i]) {
    case MSR_IA32_BNDCFGS:
    if (!kvm_x86_ops->mpx_supported())
    continue;
    break;
    + case MSR_TSC_AUX:
    + if (!kvm_x86_ops->rdtscp_supported())
    + continue;
    + break;
    default:
    break;
    }
    --
    1.9.1
    \
     
     \ /
      Last update: 2016-01-27 23:21    [W:4.092 / U:0.020 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site