> From: Sasha Levin > Sent: Tuesday, July 05, 2011 7:09 AM > > Instead of exiting quietly, print an error if the VMX or the SVM bits > were already set when loading the module. > > Having VMX/SVM bits set means that either there is someone else doing > hardware virtualization, or that the BIOS is buggy and sets it on > by default. > > Cc: Avi Kivity <avi@xxxxxxxxxx> > Cc: Marcelo Tosatti <mtosatti@xxxxxxxxxx> > Signed-off-by: Sasha Levin <levinsasha928@xxxxxxxxx> > --- > arch/x86/kvm/svm.c | 5 ++++- > arch/x86/kvm/vmx.c | 4 +++- > 2 files changed, 7 insertions(+), 2 deletions(-) > > diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c > index 5ca76e3..2a1df2e 100644 > --- a/arch/x86/kvm/svm.c > +++ b/arch/x86/kvm/svm.c > @@ -590,8 +590,11 @@ static int svm_hardware_enable(void *garbage) > int me = raw_smp_processor_id(); > > rdmsrl(MSR_EFER, efer); > - if (check_inuse && (efer & EFER_SVME)) > + if (check_inuse && (efer & EFER_SVME)) { > + printk(KERN_ERR "svm_hardware_enable: SVM already set > on %d\n", > + me); > return -EBUSY; > + } > > if (!has_svm()) { > printk(KERN_ERR "svm_hardware_enable: err EOPNOTSUPP > on %d\n", > diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c > index 3046b07..df69b1d 100644 > --- a/arch/x86/kvm/vmx.c > +++ b/arch/x86/kvm/vmx.c > @@ -2233,8 +2233,10 @@ static int hardware_enable(void *garbage) > u64 phys_addr = __pa(per_cpu(vmxarea, cpu)); > u64 old, test_bits; > > - if (check_inuse && (read_cr4() & X86_CR4_VMXE)) > + if (check_inuse && (read_cr4() & X86_CR4_VMXE)) { > + printk(KERN_ERR "hardware_enable: VMX already set\n"); > return -EBUSY; > + } > make the error message consistent between vmx and svm, i.e. adding cpu id for vmx too. Thanks Kevin -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html