On 09/10/19 19:05, Sasha Levin wrote: > From: Jim Mattson <jmattson@xxxxxxxxxx> > > [ Upstream commit 43561123ab3759eb6ff47693aec1a307af0aef83 ] > > For these CPUID leaves, the EDX output is not dependent on the ECX > input (i.e. the SIGNIFCANT_INDEX flag doesn't apply to > EDX). Furthermore, the low byte of the ECX output is always identical > to the low byte of the ECX input. KVM does not produce the correct ECX > and EDX outputs for any undefined subleaves beyond the first. > > Special-case these CPUID leaves in kvm_cpuid, so that the ECX and EDX > outputs are properly generated for all undefined subleaves. > > Fixes: 0771671749b59a ("KVM: Enhance guest cpuid management") > Fixes: a87f2d3a6eadab ("KVM: x86: Add Intel CPUID.1F cpuid emulation support") > Signed-off-by: Jim Mattson <jmattson@xxxxxxxxxx> > Reviewed-by: Marc Orr <marcorr@xxxxxxxxxx> > Reviewed-by: Peter Shier <pshier@xxxxxxxxxx> > Reviewed-by: Jacob Xu <jacobhxu@xxxxxxxxxx> > Cc: Sean Christopherson <sean.j.christopherson@xxxxxxxxx> > Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> > Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> > Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx> > --- > arch/x86/kvm/cpuid.c | 83 +++++++++++++++++++++++++------------------- > 1 file changed, 47 insertions(+), 36 deletions(-) This is absolutely not stable material. Is it possible for KVM to opt out of this AUTOSEL nonsense? Paolo