From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paolo Bonzini Subject: Re: [PATCH 3/4] kvm: cpuid: fix xsave area size of XSAVEC Date: Thu, 04 Dec 2014 14:57:13 +0100 Message-ID: <54806839.1080301@redhat.com> References: <1417681468-7165-1-git-send-email-wanpeng.li@linux.intel.com> <1417681468-7165-3-git-send-email-wanpeng.li@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Cc: kvm@vger.kernel.org, linux-kernel@vger.kernel.org To: Wanpeng Li Return-path: In-Reply-To: <1417681468-7165-3-git-send-email-wanpeng.li@linux.intel.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: kvm.vger.kernel.org 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 > --- > 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); > > /* >