VirtualBox

Changeset 8831

Show
Ignore:
Timestamp:
05/15/08 04:48:57 (8 months ago)
Author:
vboxsync
Message:

dtrace experiments.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • 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    } 

© 2008 Sun Microsystems, Inc.
ContactPrivacy policy