On Thu, Nov 06, 2008 at 12:30:51PM +0200, Avi Kivity wrote:
Eric W. Biederman wrote:
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.If you want to be extra simple and safe, remove kvm from the equation. Make theConvention?
disabling code part of kdump/emergency_restart and only rely on the convention
that cr3.vmxe == vmxon.
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
configurations.