VirtualBox

Changeset 42761 in vbox


Ignore:
Timestamp:
Aug 10, 2012 6:23:20 PM (12 years ago)
Author:
vboxsync
Message:

IEM: Bail out on REP STOS and other string ops when handler bypassing is enabled. (Will fix later.)

File:
1 edited

Legend:

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

    r42633 r42761  
    654654
    655655    /*
     656     * Be careful with handle bypassing.
     657     */
     658    if (pIemCpu->fBypassHandlers)
     659    {
     660        Log(("%s: declining because we're bypassing handlers\n", __FUNCTION__));
     661        return VERR_IEM_ASPECT_NOT_IMPLEMENTED;
     662    }
     663
     664    /*
    656665     * If we're reading back what we write, we have to let the verfication code
    657666     * to prevent a false positive.
    658667     * Note! This doesn't take aliasing or wrapping into account - lazy bird.
    659668     */
    660 #ifdef IEM_VERIFICATION_MODE
     669#ifdef IEM_VERIFICATION_MODE_FULL
    661670    if (   IEM_VERIFICATION_ENABLED(pIemCpu)
    662671        && (cbIncr > 0
     
    804813
    805814    /*
     815     * Be careful with handle bypassing.
     816     */
     817    /** @todo Permit doing a page if correctly aligned. */
     818    if (pIemCpu->fBypassHandlers)
     819    {
     820        Log(("%s: declining because we're bypassing handlers\n", __FUNCTION__));
     821        return VERR_IEM_ASPECT_NOT_IMPLEMENTED;
     822    }
     823
     824    /*
    806825     * The loop.
    807826     */
     
    10161035    PCPUMCTX        pCtx = pIemCpu->CTX_SUFF(pCtx);
    10171036    VBOXSTRICTRC    rcStrict;
     1037
     1038    /*
     1039     * Be careful with handle bypassing.
     1040     */
     1041    if (pIemCpu->fBypassHandlers)
     1042    {
     1043        Log(("%s: declining because we're bypassing handlers\n", __FUNCTION__));
     1044        return VERR_IEM_ASPECT_NOT_IMPLEMENTED;
     1045    }
    10181046
    10191047    /*
     
    10871115    int8_t const    cbIncr      = pCtx->eflags.Bits.u1DF ? -(OP_SIZE / 8) : (OP_SIZE / 8);
    10881116    ADDR_TYPE       uAddrReg    = pCtx->ADDR_rDI;
     1117
     1118    /*
     1119     * Be careful with handle bypassing.
     1120     */
     1121    if (pIemCpu->fBypassHandlers)
     1122    {
     1123        Log(("%s: declining because we're bypassing handlers\n", __FUNCTION__));
     1124        return VERR_IEM_ASPECT_NOT_IMPLEMENTED;
     1125    }
    10891126
    10901127    /*
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