Changeset 15040 in vbox for trunk/src/VBox/VMM/VMMR0/HWVMXR0.cpp
- Timestamp:
- Dec 5, 2008 1:19:35 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/HWVMXR0.cpp
r15033 r15040 329 329 330 330 /* Note: VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_MWAIT_EXIT might cause a vmlaunch failure with an invalid control fields error. (combined with some other exit reasons) */ 331 332 #if HC_ARCH_BITS == 64 || defined(VBOX_WITH_HYBIRD_32BIT_KERNEL) 333 if (VMX_IS_64BIT_HOST_MODE()) 334 { 335 if (pVM->hwaccm.s.vmx.msr.vmx_proc_ctls.n.allowed1 & VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_USE_TPR_SHADOW) 336 { 337 /* CR8 reads from the APIC shadow page; writes cause an exit is they lower the TPR below the threshold */ 338 val |= VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_USE_TPR_SHADOW; 339 Assert(pVM->hwaccm.s.vmx.pAPIC); 340 } 341 else 342 /* Exit on CR8 reads & writes in case the TPR shadow feature isn't present. */ 343 val |= VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_CR8_STORE_EXIT | VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_CR8_LOAD_EXIT; 344 } 345 #endif 331 if (pVM->hwaccm.s.vmx.msr.vmx_proc_ctls.n.allowed1 & VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_USE_TPR_SHADOW) 332 { 333 /* CR8 reads from the APIC shadow page; writes cause an exit is they lower the TPR below the threshold */ 334 val |= VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_USE_TPR_SHADOW; 335 Assert(pVM->hwaccm.s.vmx.pAPIC); 336 } 337 else 338 /* Exit on CR8 reads & writes in case the TPR shadow feature isn't present. */ 339 val |= VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_CR8_STORE_EXIT | VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_CR8_LOAD_EXIT; 346 340 347 341 #ifdef VBOX_WITH_VTX_MSR_BITMAPS
Note:
See TracChangeset
for help on using the changeset viewer.