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

2016-11-01 Thread Borislav Petkov
On Tue, Nov 01, 2016 at 03:48:50PM +0800, He Chen wrote: > Before sending a patch, let me check if my understanding is right... > I will add a helper in scattered.c like: > > unsigned int get_scattered_cpuid_features(unsigned int level, > unsigned int

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

2016-11-01 Thread Borislav Petkov
On Tue, Nov 01, 2016 at 03:48:50PM +0800, He Chen wrote: > Before sending a patch, let me check if my understanding is right... > I will add a helper in scattered.c like: > > unsigned int get_scattered_cpuid_features(unsigned int level, > unsigned int

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

2016-11-01 Thread He Chen
On Mon, Oct 31, 2016 at 12:41:32PM +0100, Paolo Bonzini wrote: > > > On 31/10/2016 12:05, Borislav Petkov wrote: > > On Mon, Oct 31, 2016 at 11:47:48AM +0100, Paolo Bonzini wrote: > >> The information is all in arch/x86/kernel/cpu/scattered.c's cpuid_bits > >> array. Borislav, would it be okay

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

2016-11-01 Thread He Chen
On Mon, Oct 31, 2016 at 12:41:32PM +0100, Paolo Bonzini wrote: > > > On 31/10/2016 12:05, Borislav Petkov wrote: > > On Mon, Oct 31, 2016 at 11:47:48AM +0100, Paolo Bonzini wrote: > >> The information is all in arch/x86/kernel/cpu/scattered.c's cpuid_bits > >> array. Borislav, would it be okay

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

2016-10-31 Thread Paolo Bonzini
On 31/10/2016 12:05, Borislav Petkov wrote: > On Mon, Oct 31, 2016 at 11:47:48AM +0100, Paolo Bonzini wrote: >> The information is all in arch/x86/kernel/cpu/scattered.c's cpuid_bits >> array. Borislav, would it be okay to export the cpuid_regs enum? > > Yeah, and kill the duplicated one in

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

2016-10-31 Thread Paolo Bonzini
On 31/10/2016 12:05, Borislav Petkov wrote: > On Mon, Oct 31, 2016 at 11:47:48AM +0100, Paolo Bonzini wrote: >> The information is all in arch/x86/kernel/cpu/scattered.c's cpuid_bits >> array. Borislav, would it be okay to export the cpuid_regs enum? > > Yeah, and kill the duplicated one in

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

2016-10-31 Thread Borislav Petkov
On Mon, Oct 31, 2016 at 11:47:48AM +0100, Paolo Bonzini wrote: > The information is all in arch/x86/kernel/cpu/scattered.c's cpuid_bits > array. Borislav, would it be okay to export the cpuid_regs enum? Yeah, and kill the duplicated one in arch/x86/events/intel/pt.c too please, while at it. I'd

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

2016-10-31 Thread Borislav Petkov
On Mon, Oct 31, 2016 at 11:47:48AM +0100, Paolo Bonzini wrote: > The information is all in arch/x86/kernel/cpu/scattered.c's cpuid_bits > array. Borislav, would it be okay to export the cpuid_regs enum? Yeah, and kill the duplicated one in arch/x86/events/intel/pt.c too please, while at it. I'd

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

2016-10-31 Thread Paolo Bonzini
On 31/10/2016 11:30, Borislav Petkov wrote: > On Mon, Oct 31, 2016 at 10:18:41AM +, Luc, Piotr wrote: >> The cpuid_mask function, which usually used in kvm, read bit from this >> x86_capabity and mask out. This prevents passing disabled features to >> guest. If we use cpu_count instead,

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

2016-10-31 Thread Paolo Bonzini
On 31/10/2016 11:30, Borislav Petkov wrote: > On Mon, Oct 31, 2016 at 10:18:41AM +, Luc, Piotr wrote: >> The cpuid_mask function, which usually used in kvm, read bit from this >> x86_capabity and mask out. This prevents passing disabled features to >> guest. If we use cpu_count instead,

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

2016-10-31 Thread Borislav Petkov
On Mon, Oct 31, 2016 at 10:18:41AM +, Luc, Piotr wrote: > The cpuid_mask function, which usually used in kvm, read bit from this > x86_capabity and mask out. This prevents passing disabled features to > guest. If we use cpu_count instead, which reports bits directly from Ah, you mean

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

2016-10-31 Thread Borislav Petkov
On Mon, Oct 31, 2016 at 10:18:41AM +, Luc, Piotr wrote: > The cpuid_mask function, which usually used in kvm, read bit from this > x86_capabity and mask out. This prevents passing disabled features to > guest. If we use cpu_count instead, which reports bits directly from Ah, you mean

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

2016-10-31 Thread Luc, Piotr
On Mon, 2016-10-31 at 10:53 +0100, Borislav Petkov wrote: > > I think that in v4.9-rc2 the CPUID[7,0].edx bits can be masked out > by > > applying noxsave to cmdline. Using directly cpu_count will result > in > > passing the bits in edx to a guest directly while the xsaveopt and > rest > > of

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

2016-10-31 Thread Luc, Piotr
On Mon, 2016-10-31 at 10:53 +0100, Borislav Petkov wrote: > > I think that in v4.9-rc2 the CPUID[7,0].edx bits can be masked out > by > > applying noxsave to cmdline. Using directly cpu_count will result > in > > passing the bits in edx to a guest directly while the xsaveopt and > rest > > of

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

2016-10-31 Thread Borislav Petkov
On Mon, Oct 31, 2016 at 09:15:43AM +, Luc, Piotr wrote: > I think that in v4.9-rc2 the CPUID[7,0].edx bits can be masked out by > applying noxsave to cmdline. Using directly cpu_count will result in > passing the bits in edx to a guest directly while the xsaveopt and rest > of AVX512 features

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

2016-10-31 Thread Borislav Petkov
On Mon, Oct 31, 2016 at 09:15:43AM +, Luc, Piotr wrote: > I think that in v4.9-rc2 the CPUID[7,0].edx bits can be masked out by > applying noxsave to cmdline. Using directly cpu_count will result in > passing the bits in edx to a guest directly while the xsaveopt and rest > of AVX512 features

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

2016-10-31 Thread Luc, Piotr
On Sat, 2016-10-29 at 08:21 -0400, Paolo Bonzini wrote: > > 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

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

2016-10-31 Thread Luc, Piotr
On Sat, 2016-10-29 at 08:21 -0400, Paolo Bonzini wrote: > > 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

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

2016-10-29 Thread Paolo Bonzini
;, > linux-kernel@vger.kernel.org, t...@linutronix.de, x...@kernel.org, > h...@zytor.com, mi...@redhat.com, "Luwei Kang" > <luwei.k...@intel.com>, rkrc...@redhat.com > Sent: Saturday, October 29, 2016 2:53:10 PM > Subject: Re: [PATCH] x86/cpuid: expose AVX512_4VNNIW an

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

2016-10-29 Thread Paolo Bonzini
.com, "Luwei Kang" > , rkrc...@redhat.com > Sent: Saturday, October 29, 2016 2:53:10 PM > Subject: Re: [PATCH] x86/cpuid: expose AVX512_4VNNIW and AVX512_4FMAPS > features to kvm guest > > On Sat, Oct 29, 2016 at 08:36:11AM -0400, Paolo Bonzini wrote:

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

2016-10-29 Thread Borislav Petkov
On Sat, Oct 29, 2016 at 08:36:11AM -0400, Paolo Bonzini wrote: > Because then it wouldn't be in processor.h. Easy: return cpuid_edx(…) & KVM_CPUID_EDX_7_MASK; at the call site. > Yes, but it doesn't take an ecx. Looks like we need another set of macros :-) > Anyhow this is not an

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

2016-10-29 Thread Borislav Petkov
On Sat, Oct 29, 2016 at 08:36:11AM -0400, Paolo Bonzini wrote: > Because then it wouldn't be in processor.h. Easy: return cpuid_edx(…) & KVM_CPUID_EDX_7_MASK; at the call site. > Yes, but it doesn't take an ecx. Looks like we need another set of macros :-) > Anyhow this is not an

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

2016-10-29 Thread Paolo Bonzini
;, > linux-kernel@vger.kernel.org, t...@linutronix.de, x...@kernel.org, > h...@zytor.com, mi...@redhat.com, "Luwei Kang" > <luwei.k...@intel.com>, rkrc...@redhat.com > Sent: Saturday, October 29, 2016 2:25:48 PM > Subject: Re: [PATCH] x86/cpuid: expose AVX512_4VNNIW an

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

2016-10-29 Thread Paolo Bonzini
.com, "Luwei Kang" > , rkrc...@redhat.com > Sent: Saturday, October 29, 2016 2:25:48 PM > Subject: Re: [PATCH] x86/cpuid: expose AVX512_4VNNIW and AVX512_4FMAPS > features to kvm guest > > On Sat, Oct 29, 2016 at 08:21:17AM -0400, Paolo Bonzini wrote: > > Currentl

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

2016-10-29 Thread Borislav Petkov
On Sat, Oct 29, 2016 at 08:21:17AM -0400, Paolo Bonzini wrote: > 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

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

2016-10-29 Thread Borislav Petkov
On Sat, Oct 29, 2016 at 08:21:17AM -0400, Paolo Bonzini wrote: > 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

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

2016-10-29 Thread Paolo Bonzini
;, > linux-kernel@vger.kernel.org, t...@linutronix.de, x...@kernel.org, > h...@zytor.com, mi...@redhat.com, "Luwei Kang" > <luwei.k...@intel.com>, rkrc...@redhat.com > Sent: Friday, October 28, 2016 2:21:23 PM > Subject: Re: [PATCH] x86/cpuid: expose AVX512_4VNNIW an

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

2016-10-29 Thread Paolo Bonzini
at.com, "Luwei Kang" > , rkrc...@redhat.com > 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

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

2016-10-28 Thread Borislav Petkov
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, , , , ); > > return edx; > } Even

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

2016-10-28 Thread Borislav Petkov
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, , , , ); > > return edx; > } Even

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

2016-10-28 Thread Paolo Bonzini
On 28/10/2016 13:08, Borislav Petkov wrote: > On Fri, Oct 28, 2016 at 12:17:02PM +0200, Paolo Bonzini wrote: >> Otherwise, if you add a cpuid_count_edx function to processor.h then one >> can do: >> >> entry_>edx &= cpuid_count_edx(7, 0); >> >> which is decent too. > > If you think of

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

2016-10-28 Thread Paolo Bonzini
On 28/10/2016 13:08, Borislav Petkov wrote: > On Fri, Oct 28, 2016 at 12:17:02PM +0200, Paolo Bonzini wrote: >> Otherwise, if you add a cpuid_count_edx function to processor.h then one >> can do: >> >> entry_>edx &= cpuid_count_edx(7, 0); >> >> which is decent too. > > If you think of

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

2016-10-28 Thread Borislav Petkov
On Fri, Oct 28, 2016 at 12:17:02PM +0200, Paolo Bonzini wrote: > Otherwise, if you add a cpuid_count_edx function to processor.h then one > can do: > > entry_>edx &= cpuid_count_edx(7, 0); > > which is decent too. If you think of iterating over the cpuid_bits[] array and recreating the

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

2016-10-28 Thread Borislav Petkov
On Fri, Oct 28, 2016 at 12:17:02PM +0200, Paolo Bonzini wrote: > Otherwise, if you add a cpuid_count_edx function to processor.h then one > can do: > > entry_>edx &= cpuid_count_edx(7, 0); > > which is decent too. If you think of iterating over the cpuid_bits[] array and recreating the

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

2016-10-28 Thread Paolo Bonzini
On 28/10/2016 12:13, Luc, Piotr wrote: > On Fri, 2016-10-28 at 17:12 +0800, He Chen wrote: >> The spec can be found in Intel Software Developer Manual or in >> Instruction Set Extensions Programming Reference. >> >> Signed-off-by: Luwei Kang >> Signed-off-by: He Chen

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

2016-10-28 Thread Paolo Bonzini
On 28/10/2016 12:13, Luc, Piotr wrote: > On Fri, 2016-10-28 at 17:12 +0800, He Chen wrote: >> The spec can be found in Intel Software Developer Manual or in >> Instruction Set Extensions Programming Reference. >> >> Signed-off-by: Luwei Kang >> Signed-off-by: He Chen >> --- >>

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

2016-10-28 Thread Luc, Piotr
On Fri, 2016-10-28 at 17:12 +0800, He Chen wrote: > The spec can be found in Intel Software Developer Manual or in > Instruction Set Extensions Programming Reference. > > Signed-off-by: Luwei Kang > Signed-off-by: He Chen > --- >  

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

2016-10-28 Thread Luc, Piotr
On Fri, 2016-10-28 at 17:12 +0800, He Chen wrote: > The spec can be found in Intel Software Developer Manual or in > Instruction Set Extensions Programming Reference. > > Signed-off-by: Luwei Kang > Signed-off-by: He Chen > --- >  arch/x86/kvm/cpuid.c | 7 ++- >  1 file changed, 6

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

2016-10-28 Thread He Chen
On Fri, Oct 28, 2016 at 11:54:13AM +0200, Paolo Bonzini wrote: > > > On 28/10/2016 11:46, He Chen wrote: > > On Fri, Oct 28, 2016 at 11:31:05AM +0200, Paolo Bonzini wrote: > >> > >> > >> On 28/10/2016 11:12, He Chen wrote: > >>> The spec can be found in Intel Software Developer Manual or in >

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

2016-10-28 Thread He Chen
On Fri, Oct 28, 2016 at 11:54:13AM +0200, Paolo Bonzini wrote: > > > On 28/10/2016 11:46, He Chen wrote: > > On Fri, Oct 28, 2016 at 11:31:05AM +0200, Paolo Bonzini wrote: > >> > >> > >> On 28/10/2016 11:12, He Chen wrote: > >>> The spec can be found in Intel Software Developer Manual or in >

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

2016-10-28 Thread Paolo Bonzini
On 28/10/2016 11:46, He Chen wrote: > On Fri, Oct 28, 2016 at 11:31:05AM +0200, Paolo Bonzini wrote: >> >> >> On 28/10/2016 11:12, He Chen wrote: >>> The spec can be found in Intel Software Developer Manual or in >>> Instruction Set Extensions Programming Reference. >>> >>> Signed-off-by: Luwei

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

2016-10-28 Thread Paolo Bonzini
On 28/10/2016 11:46, He Chen wrote: > On Fri, Oct 28, 2016 at 11:31:05AM +0200, Paolo Bonzini wrote: >> >> >> On 28/10/2016 11:12, He Chen wrote: >>> The spec can be found in Intel Software Developer Manual or in >>> Instruction Set Extensions Programming Reference. >>> >>> Signed-off-by: Luwei

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

2016-10-28 Thread He Chen
On Fri, Oct 28, 2016 at 11:31:05AM +0200, Paolo Bonzini wrote: > > > On 28/10/2016 11:12, He Chen wrote: > > The spec can be found in Intel Software Developer Manual or in > > Instruction Set Extensions Programming Reference. > > > > Signed-off-by: Luwei Kang > >

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

2016-10-28 Thread He Chen
On Fri, Oct 28, 2016 at 11:31:05AM +0200, Paolo Bonzini wrote: > > > On 28/10/2016 11:12, He Chen wrote: > > The spec can be found in Intel Software Developer Manual or in > > Instruction Set Extensions Programming Reference. > > > > Signed-off-by: Luwei Kang > > Signed-off-by: He Chen > >

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

2016-10-28 Thread Paolo Bonzini
On 28/10/2016 11:12, He Chen wrote: > The spec can be found in Intel Software Developer Manual or in > Instruction Set Extensions Programming Reference. > > Signed-off-by: Luwei Kang > Signed-off-by: He Chen > --- > arch/x86/kvm/cpuid.c | 7

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

2016-10-28 Thread Paolo Bonzini
On 28/10/2016 11:12, He Chen wrote: > The spec can be found in Intel Software Developer Manual or in > Instruction Set Extensions Programming Reference. > > Signed-off-by: Luwei Kang > Signed-off-by: He Chen > --- > arch/x86/kvm/cpuid.c | 7 ++- > 1 file changed, 6 insertions(+), 1

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

2016-10-28 Thread He Chen
The spec can be found in Intel Software Developer Manual or in Instruction Set Extensions Programming Reference. Signed-off-by: Luwei Kang Signed-off-by: He Chen --- arch/x86/kvm/cpuid.c | 7 ++- 1 file changed, 6 insertions(+), 1 deletion(-)

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

2016-10-28 Thread He Chen
The spec can be found in Intel Software Developer Manual or in Instruction Set Extensions Programming Reference. Signed-off-by: Luwei Kang Signed-off-by: He Chen --- arch/x86/kvm/cpuid.c | 7 ++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/arch/x86/kvm/cpuid.c