Re: [PATCH] KVM: SVM: Add xsetbv intercept

Avi Kivity
2010-12-07T09:34:33Z

On 12/06/2010 07:48 PM, Roedel, Joerg wrote:
> On Mon, Dec 06, 2010 at 11:10:46AM -0500, Avi Kivity wrote:
> > On 12/03/2010 06:42 PM, Joerg Roedel wrote:
> > > This patch implements the xsetbv intercept to the AMD part
> > > of KVM. This makes AVX usable in a save way for the guest on
> > > AVX capable AMD hardware.
> > > The patch is tested by using AVX in the guest and host in
> > > parallel and checking for data corruption. I also used the
> > > KVM xsave unit-tests and they all pass.
> > >
> >
> > That is really strange. You didn't need to do anything to get cpuid.avx
> > recognized. So running an older kvm on newer hardware will happily
> > expose avx even though it's not supported.
> >
> > We screwed up - we should have made cpuid.avx dependent on vendor support.
>
> Hmm, right. The set_supported_cpuid arch-callback should basically
> disable xsave on AMD for all KVM versions which do not handle the xsetbv
> intercept.
>

Please post a patch to do that, and update this patch to undo the
change. We'll backport the first patch to -stable so that people
running older kernels don't get a nasty surprise when they upgrade their
hardware (and use -cpu host).

One more thing to watch out for. We also need to see if there aren't
more mistakes like that out there.

--
error compiling committee.c: too many arguments to function