[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] x86/vmx: Small fixes to MSR_IA32_VMX_PROCBASED_CTLS feature probing.
# HG changeset patch # User Keir Fraser <keir@xxxxxxx> # Date 1307691167 -3600 # Node ID 2ef6bbee50371e1135236035ed1a9a7b8748e09f # Parent 0a29c8c3ddf7395ea8e68c5f4cd8633023490022 x86/vmx: Small fixes to MSR_IA32_VMX_PROCBASED_CTLS feature probing. Should check for VIRTUAL_INTR_PENDING as we unconditionally make use of it. Also check for CR8 exiting unconditionally on x86/64, as this is of use to nestedvmx, and every 64-bit cpu should support it. Signed-off-by: Eddie Dong <eddie.dong@xxxxxxxxx> Signed-off-by: Keir Fraser <keir@xxxxxxx> --- diff -r 0a29c8c3ddf7 -r 2ef6bbee5037 xen/arch/x86/hvm/vmx/vmcs.c --- a/xen/arch/x86/hvm/vmx/vmcs.c Fri Jun 10 08:19:07 2011 +0100 +++ b/xen/arch/x86/hvm/vmx/vmcs.c Fri Jun 10 08:32:47 2011 +0100 @@ -148,6 +148,11 @@ 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 | @@ -166,13 +171,9 @@ MSR_IA32_VMX_PROCBASED_CTLS, &mismatch); _vmx_cpu_based_exec_control &= ~CPU_BASED_RDTSC_EXITING; #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); - } + if ( _vmx_cpu_based_exec_control & CPU_BASED_TPR_SHADOW ) + _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 ) _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |