Re: [PATCH] x86/cpuid: expose AVX512_4VNNIW and AVX512_4FMAPS features to kvm guest

From: Paolo Bonzini
Date: Sat Oct 29 2016 - 08:22:18 EST




----- Original Message -----
> From: "Borislav Petkov" <bp@xxxxxxxxx>
> To: "Paolo Bonzini" <pbonzini@xxxxxxxxxx>
> Cc: "Piotr Luc" <Piotr.Luc@xxxxxxxxx>, kvm@xxxxxxxxxxxxxxx, "he chen" <he.chen@xxxxxxxxxxxxxxx>,
> linux-kernel@xxxxxxxxxxxxxxx, tglx@xxxxxxxxxxxxx, x86@xxxxxxxxxx, hpa@xxxxxxxxx, mingo@xxxxxxxxxx, "Luwei Kang"
> <luwei.kang@xxxxxxxxx>, rkrcmar@xxxxxxxxxx
> Sent: Friday, October 28, 2016 2:21:23 PM
> Subject: Re: [PATCH] x86/cpuid: expose AVX512_4VNNIW and AVX512_4FMAPS features to kvm guest
>
> On Fri, Oct 28, 2016 at 02:07:21PM +0200, Paolo Bonzini wrote:
> > cpuid_count_edx would be just
> >
> > static inline unsigned int cpuid_count_edx(unsigned op, unsigned count)
> > {
> > unsigned int eax, ebx, ecx, edx;
> >
> > cpuid_count(op, count, &eax, &ebx, &ecx, &edx);
> >
> > return edx;
> > }
>
> Even better.
>
> But shouldn't this be hiding unimplemented CPUID bits from the guest?

Currently none of the bits in CPUID[7,0].edx is ever masked by the host, so
this would be enough. If we ever need to do some masking, I guess I'll
practice my puss-in-boots look and submit a patch to add CPUID[7,0] back
as a separate cpufeature entr.

Paolo