From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paolo Bonzini Subject: Re: regression: nested: L1 3.15+ fails to load kvm-intel on L0 <3.15 Date: Wed, 18 Mar 2015 10:18:37 +0100 Message-ID: <550942ED.4040809@redhat.com> References: <55093B52.5090904@canonical.com> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Transfer-Encoding: 7bit To: Stefan Bader , kvm@vger.kernel.org, Linux Kernel Mailing List Return-path: In-Reply-To: <55093B52.5090904@canonical.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: kvm.vger.kernel.org On 18/03/2015 09:46, Stefan Bader wrote: > > Regardless of that, I wonder whether the below (this version untested) sound > acceptable for upstream? At least it would make debugging much simpler. :) > > --- a/arch/x86/kvm/vmx.c > +++ b/arch/x86/kvm/vmx.c > @@ -2953,8 +2953,11 @@ static __init int adjust_vmx_controls(u32 ctl_min, u32 ct > ctl |= vmx_msr_low; /* bit == 1 in low word ==> must be one */ > > /* Ensure minimum (required) set of control bits are supported. */ > - if (ctl_min & ~ctl) > + if (ctl_min & ~ctl) { > + printk(KERN_ERR "vmx: msr(%08x) does not match requirements. " > + "req=%08x cur=%08x\n", msr, ctl_min, ctl); > return -EIO; > + } > > *result = ctl; > return 0; Yes, this is nice. Maybe -ENODEV. Also, a minimal patch for Ubuntu would probably be: @@ -2850,7 +2851,7 @@ static __init int setup_vmcs_config(struct vmcs_config *vmcs_conf) vmx_capability.ept, vmx_capability.vpid); } - min = 0; + min = VM_EXIT_SAVE_DEBUG_CONTROLS; #ifdef CONFIG_X86_64 min |= VM_EXIT_HOST_ADDR_SPACE_SIZE; #endif but I don't think it's a good idea to add it to stable kernels. Paolo