VirtualBox

Changeset 60911 in vbox for trunk


Ignore:
Timestamp:
May 9, 2016 9:21:47 PM (9 years ago)
Author:
vboxsync
Message:

IEMR3ProcessForceFlag: Must set fAccess to IEM_ACCESS_INVALID...

File:
1 edited

Legend:

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

    r60909 r60911  
    1205512055     * Commit the pending bounce buffers (usually just one).
    1205612056     */
    12057 # ifdef VBOX_STRICT
    1205812057    unsigned cBufs = 0;
    12059 # endif
    1206012058    unsigned iMemMap = RT_ELEMENTS(pIemCpu->aMemMappings);
    1206112059    while (iMemMap-- > 0)
     12060    {
    1206212061        if (pIemCpu->aMemMappings[iMemMap].fAccess & (IEM_ACCESS_PENDING_R3_WRITE_1ST | IEM_ACCESS_PENDING_R3_WRITE_2ND))
    1206312062        {
     
    1209512094                     VBOXSTRICTRC_VAL(rcStrictCommit2), VBOXSTRICTRC_VAL(rcStrict)));
    1209612095            }
    12097 # ifdef VBOX_STRICT
    1209812096            cBufs++;
    12099 # endif
    1210012097        }
    12101 
    12102     AssertMsg(cBufs > 0, ("%#x %#x %#x\n", pIemCpu->aMemMappings[0].fAccess, pIemCpu->aMemMappings[1].fAccess,
    12103                           pIemCpu->aMemMappings[2].fAccess));
     12098        else
     12099            AssertMsg(pIemCpu->aMemMappings[iMemMap].fAccess == IEM_ACCESS_INVALID,
     12100                      ("iMemMap=%u: %#x\n", iMemMap, pIemCpu->aMemMappings[iMemMap].fAccess));
     12101        pIemCpu->aMemMappings[iMemMap].fAccess = IEM_ACCESS_INVALID;
     12102    }
     12103
     12104    AssertMsg(cBufs > 0 && cBufs == pIemCpu->cActiveMappings,
     12105              ("cBufs=%u cActiveMappings=%u - %#x %#x %#x\n", cBufs, pIemCpu->cActiveMappings,
     12106               pIemCpu->aMemMappings[0].fAccess, pIemCpu->aMemMappings[1].fAccess, pIemCpu->aMemMappings[2].fAccess));
     12107    pIemCpu->cActiveMappings = 0;
    1210412108    return rcStrict;
    1210512109}
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