KVM: VMX: extract kvm_cpu_vmxoff() from hardware_disable()
Along with some comments on why it is different from the core cpu_vmxoff() function. Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Signed-off-by: Avi Kivity <avi@redhat.com>
This commit is contained in:
committed by
Avi Kivity
parent
1e9931146c
commit
710ff4a855
@@ -1091,11 +1091,20 @@ static void vmclear_local_vcpus(void)
|
|||||||
__vcpu_clear(vmx);
|
__vcpu_clear(vmx);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Just like cpu_vmxoff(), but with the __kvm_handle_fault_on_reboot()
|
||||||
|
* tricks.
|
||||||
|
*/
|
||||||
|
static void kvm_cpu_vmxoff(void)
|
||||||
|
{
|
||||||
|
asm volatile (__ex(ASM_VMX_VMXOFF) : : : "cc");
|
||||||
|
write_cr4(read_cr4() & ~X86_CR4_VMXE);
|
||||||
|
}
|
||||||
|
|
||||||
static void hardware_disable(void *garbage)
|
static void hardware_disable(void *garbage)
|
||||||
{
|
{
|
||||||
vmclear_local_vcpus();
|
vmclear_local_vcpus();
|
||||||
asm volatile (__ex(ASM_VMX_VMXOFF) : : : "cc");
|
kvm_cpu_vmxoff();
|
||||||
write_cr4(read_cr4() & ~X86_CR4_VMXE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static __init int adjust_vmx_controls(u32 ctl_min, u32 ctl_opt,
|
static __init int adjust_vmx_controls(u32 ctl_min, u32 ctl_opt,
|
||||||
|
Reference in New Issue
Block a user