[PATCH 08/16] x86: Emergency virtualization disable function
ehabkost at redhat.com
Thu Nov 6 12:45:38 EST 2008
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.
> 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), before we
try to read it and check VMXE. The same for SVM and the MSRs we need to
touch to disable SVM.
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
More information about the kexec