]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - arch/x86/kvm/vmx.c
kvm: better MWAIT emulation for guests
[karo-tx-linux.git] / arch / x86 / kvm / vmx.c
index c1a12b94e1fd96573ace14c475e708a7cda6d21f..a4ef6371810106bef15aa649badef4ff9d8ac18d 100644 (file)
@@ -3527,11 +3527,13 @@ static __init int setup_vmcs_config(struct vmcs_config *vmcs_conf)
              CPU_BASED_USE_IO_BITMAPS |
              CPU_BASED_MOV_DR_EXITING |
              CPU_BASED_USE_TSC_OFFSETING |
-             CPU_BASED_MWAIT_EXITING |
-             CPU_BASED_MONITOR_EXITING |
              CPU_BASED_INVLPG_EXITING |
              CPU_BASED_RDPMC_EXITING;
 
+       if (!kvm_mwait_in_guest())
+               min |= CPU_BASED_MWAIT_EXITING |
+                       CPU_BASED_MONITOR_EXITING;
+
        opt = CPU_BASED_TPR_SHADOW |
              CPU_BASED_USE_MSR_BITMAPS |
              CPU_BASED_ACTIVATE_SECONDARY_CONTROLS;