VirtualBox

Changeset 8831 in vbox for trunk/src/VBox/VMM/VMMGC


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

dtrace experiments.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMGC/TRPMGCHandlers.cpp

    r8825 r8831  
    377377                pRegFrame->eip += Cpu.opsize;
    378378        }
     379        /* Speed up dtrace and don't entrust invalid lock sequences to the recompiler. */
     380        else if (Cpu.prefix & PREFIX_LOCK)
     381        {
     382            Log(("TRPMGCTrap06Handler: pc=%RGv op=%d\n", pRegFrame->eip, Cpu.pCurInstr->opcode));
     383            /** @todo Clear this with PATM - it gets upset when returning VINF_EM_RAW_GUEST_TRAP on a patch address. */
     384#ifdef DTRACE_EXPERIMENT
     385            rc = TRPMForwardTrap(pVM, pRegFrame, 0x6, 0, TRPM_TRAP_NO_ERRORCODE, TRPM_TRAP);
     386            Assert(rc == VINF_EM_RAW_GUEST_TRAP);
     387#else
     388            rc = VINF_EM_RAW_EMULATE_INSTR;
     389#endif
     390        }
     391        /* Never generate a raw trap here; it might be an instruction, that requires emulation. */
    379392        else
    380             /* Never generate a raw trap here; it might be an instruction, that requires emulation. */
    381393            rc = VINF_EM_RAW_EMULATE_INSTR;
    382394    }
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