VirtualBox

Ignore:
Timestamp:
Dec 5, 2008 1:19:35 PM (16 years ago)
Author:
vboxsync
Message:

Always set the tpr shadow feature; host mode is irrelevant

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR0/HWVMXR0.cpp

    r15033 r15040  
    329329
    330330        /* 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;
    346340
    347341#ifdef VBOX_WITH_VTX_MSR_BITMAPS
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette