VirtualBox

Changeset 42700 in vbox for trunk


Ignore:
Timestamp:
Aug 9, 2012 12:50:39 AM (12 years ago)
Author:
vboxsync
Message:

pgmPoolAccessHandlerFlush: Deal with VINF_EM_RESCHEDULE.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMAll/PGMAllPool.cpp

    r42188 r42700  
    837837     */
    838838    VBOXSTRICTRC rc2 = EMInterpretInstructionDisasState(pVCpu, pDis, pRegFrame, pvFault, EMCODETYPE_ALL);
    839     if (RT_SUCCESS(rc2))
    840         AssertMsg(rc2 == VINF_SUCCESS, ("%Rrc\n", VBOXSTRICTRC_VAL(rc2))); /* ASSUMES no complicated stuff here. */
     839    if (rc2 == VINF_SUCCESS)
     840    { /* do nothing */ }
     841#ifdef VBOX_WITH_IEM
     842    else if (rc2 == VINF_EM_RESCHEDULE)
     843    {
     844        if (rc == VINF_SUCCESS)
     845            rc = rc2;
     846# ifndef IN_RING3
     847        VMCPU_FF_SET(pVCpu, VMCPU_FF_TO_R3);
     848# endif
     849    }
     850#endif
    841851    else if (rc2 == VERR_EM_INTERPRETER)
    842852    {
     
    856866        }
    857867    }
     868    else if (RT_FAILURE_NP(rc2))
     869        rc = VBOXSTRICTRC_VAL(rc2);
    858870    else
    859         rc = VBOXSTRICTRC_VAL(rc2);
     871        AssertMsgFailed(("%Rrc\n", VBOXSTRICTRC_VAL(rc2))); /* ASSUMES no complicated stuff here. */
    860872
    861873    LogFlow(("pgmPoolAccessHandlerPT: returns %Rrc (flushed)\n", rc));
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