VirtualBox

Changeset 47751 in vbox


Ignore:
Timestamp:
Aug 15, 2013 11:38:05 AM (11 years ago)
Author:
vboxsync
Message:

IEM: read-modified-write should have the r/w err bit set even when it happens on a not present page.

File:
1 edited

Legend:

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

    r47750 r47751  
    32023202        uErr |= X86_TRAP_PF_ID;
    32033203
     3204#if 0 /* This is so much non-sense, really.  Why was it done like that? */
    32043205    /* Note! RW access callers reporting a WRITE protection fault, will clear
    32053206             the READ flag before calling.  So, read-modify-write accesses (RW)
     
    32073208    if ((fAccess & (IEM_ACCESS_TYPE_WRITE | IEM_ACCESS_TYPE_READ)) == IEM_ACCESS_TYPE_WRITE)
    32083209        uErr |= X86_TRAP_PF_RW;
     3210#else
     3211    if (fAccess & IEM_ACCESS_TYPE_WRITE)
     3212    {
     3213        if (!IEM_FULL_VERIFICATION_REM_ENABLED(pIemCpu) || !(fAccess & IEM_ACCESS_TYPE_READ))
     3214            uErr |= X86_TRAP_PF_RW;
     3215    }
     3216#endif
    32093217
    32103218    return iemRaiseXcptOrInt(pIemCpu, 0, X86_XCPT_PF, IEM_XCPT_FLAGS_T_CPU_XCPT | IEM_XCPT_FLAGS_ERR | IEM_XCPT_FLAGS_CR2,
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