VirtualBox

Changeset 78238 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Apr 22, 2019 5:07:45 AM (6 years ago)
Author:
vboxsync
Message:

VMM/HMVMXR0: Don't need to import RIP, RFLAGS when there is no blocking-by-STI/MovSS/NMI. We'll import it while evaluating pending events or while injecting them if needed (real-on-v86 case).

File:
1 edited

Legend:

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

    r78236 r78238  
    26152615 * @remarks Called with interrupts disabled.
    26162616 */
    2617 DECLINLINE(void) hmR0VmxFlushTaggedTlb(PHMPHYSCPU pHostCpu, PVMCPU pVCpu, PVMXVMCSINFO pVmcsInfo)
     2617static void hmR0VmxFlushTaggedTlb(PHMPHYSCPU pHostCpu, PVMCPU pVCpu, PVMXVMCSINFO pVmcsInfo)
    26182618{
    26192619#ifdef HMVMX_ALWAYS_FLUSH_TLB
     
    71397139    rc    |= VMXReadVmcs32(VMX_VMCS32_GUEST_LDTR_ACCESS_RIGHTS, &u32Attr);
    71407140    rc    |= VMXReadVmcsGstN(VMX_VMCS_GUEST_LDTR_BASE,          &u64Base);
    7141 
    71427141    if (RT_SUCCESS(rc))
    71437142    {
     
    72737272        {
    72747273            if (VMCPU_FF_IS_SET(pVCpu, VMCPU_FF_INHIBIT_INTERRUPTS))
    7275             {
    7276                 rc  = hmR0VmxImportGuestRip(pVCpu);
    7277                 rc |= hmR0VmxImportGuestRFlags(pVCpu, pVmcsInfo);
    7278                 AssertRCReturn(rc, rc);
    72797274                VMCPU_FF_CLEAR(pVCpu, VMCPU_FF_INHIBIT_INTERRUPTS);
    7280             }
    72817275
    72827276            if (VMCPU_FF_IS_SET(pVCpu, VMCPU_FF_BLOCK_NMIS))
     
    72967290                if (u32Val & (  VMX_VMCS_GUEST_INT_STATE_BLOCK_MOVSS
    72977291                              | VMX_VMCS_GUEST_INT_STATE_BLOCK_STI))
    7298                 {
    72997292                    EMSetInhibitInterruptsPC(pVCpu, pVCpu->cpum.GstCtx.rip);
    7300                 }
    73017293                else if (VMCPU_FF_IS_SET(pVCpu, VMCPU_FF_INHIBIT_INTERRUPTS))
    73027294                    VMCPU_FF_CLEAR(pVCpu, VMCPU_FF_INHIBIT_INTERRUPTS);
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