[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] Addback capability check for non-initial features



add back missing capability check of MSR_IA32_VMX_PROCBASED_CTLS.

Besides initial configuration, adjust_vmx_controls is responsible for 
hardware capibility check as well. This patch add back the check.

Signed-off-by: Eddie Dong <eddie.dong@xxxxxxxxx>

diff -r 43a06a43e60b xen/arch/x86/hvm/vmx/vmcs.c
--- a/xen/arch/x86/hvm/vmx/vmcs.c       Thu Jun 09 16:30:34 2011 +0800
+++ b/xen/arch/x86/hvm/vmx/vmcs.c       Fri Jun 10 13:28:49 2011 +0800
@@ -148,6 +148,11 @@ static int vmx_init_vmcs_config(void)
         MSR_IA32_VMX_PINBASED_CTLS, &mismatch);
 
     min = (CPU_BASED_HLT_EXITING |
+           CPU_BASED_VIRTUAL_INTR_PENDING |
+#ifdef __x86_64__
+           CPU_BASED_CR8_LOAD_EXITING |
+           CPU_BASED_CR8_STORE_EXITING |
+#endif
            CPU_BASED_INVLPG_EXITING |
            CPU_BASED_CR3_LOAD_EXITING |
            CPU_BASED_CR3_STORE_EXITING |
@@ -164,15 +169,12 @@ static int vmx_init_vmcs_config(void)
     _vmx_cpu_based_exec_control = adjust_vmx_controls(
         "CPU-Based Exec Control", min, opt,
         MSR_IA32_VMX_PROCBASED_CTLS, &mismatch);
-    _vmx_cpu_based_exec_control &= ~CPU_BASED_RDTSC_EXITING;
+    _vmx_cpu_based_exec_control &= ~(CPU_BASED_RDTSC_EXITING | 
+                                     CPU_BASED_VIRTUAL_INTR_PENDING);
 #ifdef __x86_64__
     if ( !(_vmx_cpu_based_exec_control & CPU_BASED_TPR_SHADOW) )
-    {
-        min |= CPU_BASED_CR8_LOAD_EXITING | CPU_BASED_CR8_STORE_EXITING;
-        _vmx_cpu_based_exec_control = adjust_vmx_controls(
-            "CPU-Based Exec Control", min, opt,
-            MSR_IA32_VMX_PROCBASED_CTLS, &mismatch);
-    }
+        _vmx_cpu_based_exec_control &= ~(CPU_BASED_CR8_LOAD_EXITING |
+                                         CPU_BASED_CR8_STORE_EXITING);
 #endif
 
     if ( _vmx_cpu_based_exec_control & CPU_BASED_ACTIVATE_SECONDARY_CONTROLS )

Attachment: cap3.patch
Description: cap3.patch

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.