| | 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. */ |
|---|