VirtualBox

Changeset 8830 in vbox for trunk/src/VBox/VMM/PATM/PATM.cpp


Ignore:
Timestamp:
May 15, 2008 2:46:57 AM (17 years ago)
Author:
vboxsync
Message:

dtrace experiments.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/PATM/PATM.cpp

    r8283 r8830  
    13761376        return VINF_SUCCESS;
    13771377
     1378#ifdef DTRACE_EXPERIMENT
     1379    case OP_MOV: /* dtrace changes push ebp; mov ebp, esp; into lock mov ebp, esp */
     1380        if (pCpu->prefix & PREFIX_LOCK)
     1381        {
     1382            Log(("illegal lock sequence -> return here\n"));
     1383            return VINF_SUCCESS;
     1384        }
     1385#endif
     1386
    13781387    case OP_STI:
    13791388    case OP_POPF:
     
    15151524        return VINF_SUCCESS;
    15161525
     1526#ifdef DTRACE_EXPERIMENT
     1527    case OP_MOV: /* dtrace changes push ebp; mov ebp, esp; into lock mov ebp, esp */
     1528        if (pCpu->prefix & PREFIX_LOCK)
     1529        {
     1530            Log(("illegal lock sequence -> return here\n"));
     1531            return VINF_SUCCESS;
     1532        }
     1533#endif
     1534
    15171535    case OP_IRET:
    15181536    case OP_SYSEXIT: /* will fault or emulated in GC */
     
    16531671
    16541672    case OP_MOV:
     1673#ifdef DTRACE_EXPERIMENT
     1674        /* dtrace changes push ebp; mov ebp, esp; into lock mov ebp, esp */
     1675        if (pCpu->prefix & PREFIX_LOCK)
     1676        {
     1677            rc = patmPatchGenIllegalInstr(pVM, pPatch);
     1678            Log(("illegal lock sequence -> return here\n"));
     1679            if (VBOX_SUCCESS(rc))
     1680                rc = VINF_SUCCESS;  /* exit point by definition */
     1681            break;
     1682        }
     1683#endif
    16551684        if (pCpu->pCurInstr->optype & OPTYPE_POTENTIALLY_DANGEROUS)
    16561685        {
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