lkml.org 
[lkml]   [2008]   [Nov]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 08/16] x86: Emergency virtualization disable function
Eduardo Habkost wrote:
> On Thu, Nov 06, 2008 at 12:30:51PM +0200, Avi Kivity wrote:
>
>> Eric W. Biederman wrote:
>>
>>>> If you want to be extra simple and safe, remove kvm from the equation. Make the
>>>> disabling code part of kdump/emergency_restart and only rely on the convention
>>>> that cr3.vmxe == vmxon.
>>>>
>>>>
>>> Convention?
>>>
>>>
>> There is a de-facto convention supported by at least vmware and kvm. If
>> cr4.vmxe is 1, then we are in vmx operation. If cr4.vmxe is 0, then we
>> are not in vmx operation. This allows us to determine whether we need
>> to execute vmxoff without any APIs.
>>
>
> I am just worried about the probing needed to make sure CR4 is available
> (and that the CR4.VMXE bit means what we expect it to mean),

That's cpu_has_kvm_support() in vmx.c. Should compile to three
instructions.

> before we
> try to read it and check VMXE. The same for SVM and the MSRs we need to
> touch to disable SVM.
>

That's has_svm() in svm.c; slightly longer but not any more dangerous.

> I prefer to reuse code that already exists on KVM and is working than
> adding new probing code that I won't be able to test on all hardware
> configurations.
>

We could move the code to a header file, and so compile it both for kvm
and for emergency_restart/kdump.

--
error compiling committee.c: too many arguments to function



\
 
 \ /
  Last update: 2008-11-09 12:27    [W:0.099 / U:0.444 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site