Message ID | 1417681468-7165-3-git-send-email-wanpeng.li@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Wanpeng Li <wanpeng.li@linux.intel.com> 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@linux.intel.com> > --- > 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)))) Did you want to use | (bitwise or) instead of II (logical or) ? > best->ebx = xstate_required_size(vcpu->arch.xcr0, true); > > /* > -- > 1.9.1 > > -- > To unsubscribe from this list: send the line "unsubscribe kvm" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html Nadav -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi Nadav, On 12/4/14, 4:30 PM, Nadav Amit wrote: > Wanpeng Li <wanpeng.li@linux.intel.com> 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@linux.intel.com> >> --- >> 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)))) > Did you want to use | (bitwise or) instead of II (logical or) ? I make a mistake here, I will fix it in next version. Regards, Wanpeng Li > >> best->ebx = xstate_required_size(vcpu->arch.xcr0, true); >> >> /* >> -- >> 1.9.1 >> >> -- >> To unsubscribe from this list: send the line "unsubscribe kvm" in >> the body of a message to majordomo@vger.kernel.org >> More majordomo info at http://vger.kernel.org/majordomo-info.html > Nadav > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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@linux.intel.com> > --- > 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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)))) best->ebx = xstate_required_size(vcpu->arch.xcr0, true); /*
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@linux.intel.com> --- arch/x86/kvm/cpuid.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)