[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <808FF008-53B9-4271-904C-117A24ADF18C@suse.de>
Date: Wed, 17 Mar 2010 23:02:40 +0100
From: Alexander Graf <agraf@...e.de>
To: Dieter Ries <mail@...terries.net>
Cc: Avi Kivity <avi@...hat.com>, linux-kernel@...r.kernel.org,
kvm@...r.kernel.org
Subject: Re: [PATCH 23/42] KVM: Activate Virtualization On Demand
On 17.03.2010, at 22:57, Dieter Ries wrote:
> Am 16.11.2009 13:19, schrieb Avi Kivity:
>> From: Alexander Graf <agraf@...e.de>
>> diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c
>> index f54c4f9..59fe4d5 100644
>> --- a/arch/x86/kvm/svm.c
>> +++ b/arch/x86/kvm/svm.c
>> @@ -316,7 +316,7 @@ static void svm_hardware_disable(void *garbage)
>> cpu_svm_disable();
>> }
>>
>> -static void svm_hardware_enable(void *garbage)
>> +static int svm_hardware_enable(void *garbage)
>> {
>>
>> struct svm_cpu_data *svm_data;
>> @@ -325,16 +325,20 @@ static void svm_hardware_enable(void *garbage)
>> struct desc_struct *gdt;
>> int me = raw_smp_processor_id();
>>
>> + rdmsrl(MSR_EFER, efer);
>> + if (efer & EFER_SVME)
>> + return -EBUSY;
>> +
>
> Hi,
>
> This is breaking KVM on my Phenom II X4 955.
>
> When I start kvm I get this on the terminal:
>
> kvm_create_vm: Device or resource busy
> Could not initialize KVM, will disable KVM support
>
> And in dmesg:
> [ 67.980732] kvm: enabling virtualization on CPU0 failed
>
>
> I commented out the if() and return, and I added 2 printk's there for
> debugging, and now that's what I see in dmesg when I start kvm:
>
> [ 3341.740112] efer is 3329
> [ 3341.740113] efer is 3329
> [ 3341.740117] efer is 3329
> [ 3341.740119] EFER_SVME is 4096
> [ 3341.740121] EFER_SVME is 4096
> [ 3341.740124] EFER_SVME is 4096
> [ 3341.740130] efer is 3329
> [ 3341.740132] EFER_SVME is 4096
>
> In hex the values are 0x1000 and 0x0d01
>
> KVM has been working well on this machine before, and it still works
> well after commenting that part out.
>
> I am not sure what the value of this register is supposed to be, but are
> you sure
>
> if (efer & EFER_SVME)
>
> is the right condition?
According to the printks you show above the & condition should never apply.
Are you 100% sure you don't have vmware, virtualbox, parallels, whatever running in parallel on that machine?
Alex--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists