Messages in this thread | | | Date | Wed, 18 Mar 2015 10:18:37 +0100 | From | Paolo Bonzini <> | Subject | Re: regression: nested: L1 3.15+ fails to load kvm-intel on L0 <3.15 |
| |
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
| |