lkml.org 
[lkml]   [2015]   [Jan]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.18 063/150] kvm: x86: mask out XSAVES
    Date
    3.18-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Paolo Bonzini <pbonzini@redhat.com>

    commit b65d6e17fe2239c9b2051727903955d922083fbf upstream.

    This feature is not supported inside KVM guests yet, because we do not emulate
    MSR_IA32_XSS. Mask it out.

    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    arch/x86/kvm/cpuid.c | 11 ++++++++++-
    1 file changed, 10 insertions(+), 1 deletion(-)

    --- a/arch/x86/kvm/cpuid.c
    +++ b/arch/x86/kvm/cpuid.c
    @@ -319,6 +319,10 @@ static inline int __do_cpuid_ent(struct
    F(BMI2) | F(ERMS) | f_invpcid | F(RTM) | f_mpx | F(RDSEED) |
    F(ADX) | F(SMAP);

    + /* cpuid 0xD.1.eax */
    + const u32 kvm_supported_word10_x86_features =
    + F(XSAVEOPT) | F(XSAVEC) | F(XGETBV1);
    +
    /* all calls to cpuid_count() should be made on the same cpu */
    get_cpu();

    @@ -455,13 +459,18 @@ static inline int __do_cpuid_ent(struct
    entry->eax &= supported;
    entry->edx &= supported >> 32;
    entry->flags |= KVM_CPUID_FLAG_SIGNIFCANT_INDEX;
    + if (!supported)
    + break;
    +
    for (idx = 1, i = 1; idx < 64; ++idx) {
    u64 mask = ((u64)1 << idx);
    if (*nent >= maxnent)
    goto out;

    do_cpuid_1_ent(&entry[i], function, idx);
    - if (entry[i].eax == 0 || !(supported & mask))
    + if (idx == 1)
    + entry[i].eax &= kvm_supported_word10_x86_features;
    + else if (entry[i].eax == 0 || !(supported & mask))
    continue;
    entry[i].flags |=
    KVM_CPUID_FLAG_SIGNIFCANT_INDEX;



    \
     
     \ /
      Last update: 2015-01-14 10:01    [W:3.304 / U:0.024 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site