On 04/12/2014 09:24, Wanpeng Li wrote: > XSAVEC also use the compacted format for the extended region > of the XSAVE area. This patch fix it by caculate the size of > XSAVEC extended region of XSAVE area as compact format. > > Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> > --- > arch/x86/kvm/cpuid.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/x86/kvm/cpuid.c b/arch/x86/kvm/cpuid.c > index 70f0fa1..e16a0c7 100644 > --- a/arch/x86/kvm/cpuid.c > +++ b/arch/x86/kvm/cpuid.c > @@ -92,7 +92,7 @@ int kvm_update_cpuid(struct kvm_vcpu *vcpu) > } > > best = kvm_find_cpuid_entry(vcpu, 0xD, 1); > - if (best && (best->eax & F(XSAVES))) > + if (best && (best->eax & (F(XSAVES) || F(XSAVEC)))) "|" instead of "||" as mentioned by Nadav. Is the Intel manual implicitly relying on the fact that there is no processor that has XSAVES but not XSAVEC? Paolo > best->ebx = xstate_required_size(vcpu->arch.xcr0, true); > > /* > -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html