Changeset 9231 in vbox for trunk/src/VBox
- Timestamp:
- May 29, 2008 3:31:26 PM (17 years ago)
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/PGMAllPool.cpp
r9212 r9231 603 603 { 604 604 #ifdef IN_GC 605 if (PATMIsPatchGCAddr(pVM, (RT GCPTR)pRegFrame->eip))605 if (PATMIsPatchGCAddr(pVM, (RTRCPTR)pRegFrame->eip)) 606 606 { 607 607 LogFlow(("pgmPoolAccessHandlerPTWorker: Interpretation failed for patch code %04x:%RGv, ignoring.\n", -
trunk/src/VBox/VMM/VMMAll/TRPMAll.cpp
r9223 r9231 422 422 && !(eflags.Bits.u1VM) /** @todo implement when needed (illegal for same privilege level transfers). */ 423 423 #endif 424 && !PATMIsPatchGCAddr(pVM, (RT GCPTR)pRegFrame->eip)424 && !PATMIsPatchGCAddr(pVM, (RTRCPTR)pRegFrame->eip) 425 425 ) 426 426 { … … 728 728 STAM_COUNTER_INC(&pVM->trpm.s.StatForwardFailNoHandler); 729 729 else 730 if (PATMIsPatchGCAddr(pVM, (RT GCPTR)pRegFrame->eip))730 if (PATMIsPatchGCAddr(pVM, (RTRCPTR)pRegFrame->eip)) 731 731 STAM_COUNTER_INC(&pVM->trpm.s.StatForwardFailPatchAddr); 732 732 #endif -
trunk/src/VBox/VMM/VMMGC/PDMGCDevice.cpp
r8155 r9231 362 362 LogFlow(("pdmGCDevHlp_PATMSetMMIOPatchInfo: caller=%p/%d:\n", pDevIns, pDevIns->iInstance)); 363 363 364 return PATMSetMMIOPatchInfo(pDevIns->Internal.s.pVMGC, GCPhys, pCachedData);364 return PATMSetMMIOPatchInfo(pDevIns->Internal.s.pVMGC, GCPhys, (RTRCPTR)pCachedData); 365 365 } 366 366 -
trunk/src/VBox/VMM/VMMGC/TRPMGCHandlers.cpp
r8985 r9231 376 376 */ 377 377 if ( Cpu.pCurInstr->opcode == OP_ILLUD2 378 && PATMIsPatchGCAddr(pVM, (RT GCPTR)pRegFrame->eip))378 && PATMIsPatchGCAddr(pVM, (RTRCPTR)pRegFrame->eip)) 379 379 { 380 380 rc = PATMGCHandleIllegalInstrTrap(pVM, pRegFrame); … … 393 393 Log(("TRPMGCTrap06Handler: pc=%RGv op=%d\n", pRegFrame->eip, Cpu.pCurInstr->opcode)); 394 394 #ifdef DTRACE_EXPERIMENT /** @todo fix/remove/permanent-enable this when DIS/PATM handles invalid lock sequences. */ 395 Assert(!PATMIsPatchGCAddr(pVM, (RT GCPTR)pRegFrame->eip));395 Assert(!PATMIsPatchGCAddr(pVM, (RTRCPTR)pRegFrame->eip)); 396 396 rc = TRPMForwardTrap(pVM, pRegFrame, 0x6, 0, TRPM_TRAP_NO_ERRORCODE, TRPM_TRAP, 0x6); 397 397 Assert(rc == VINF_EM_RAW_GUEST_TRAP); … … 571 571 { 572 572 Assert(pCpu->param1.flags & USE_IMMEDIATE8); 573 Assert(!(PATMIsPatchGCAddr(pVM, PC)));573 Assert(!(PATMIsPatchGCAddr(pVM, (RTRCPTR)PC))); 574 574 if (pCpu->param1.parval == 3) 575 575 { … … 599 599 case OP_HLT: 600 600 /* If it's in patch code, defer to ring-3. */ 601 if (PATMIsPatchGCAddr(pVM, PC))601 if (PATMIsPatchGCAddr(pVM, (RTRCPTR)PC)) 602 602 break; 603 603 … … 615 615 case OP_MOV_DR: 616 616 /* We can safely emulate control/debug register move instructions in patched code. */ 617 if ( !PATMIsPatchGCAddr(pVM, PC)617 if ( !PATMIsPatchGCAddr(pVM, (RTRCPTR)PC) 618 618 && !CSAMIsKnownDangerousInstr(pVM, PC)) 619 619 break; … … 884 884 case VINF_EM_RAW_GUEST_TRAP: 885 885 case VINF_EM_RAW_EXCEPTION_PRIVILEGED: 886 if (PATMIsPatchGCAddr(pVM, (RT GCPTR)pRegFrame->eip))886 if (PATMIsPatchGCAddr(pVM, (RTRCPTR)pRegFrame->eip)) 887 887 rc = VINF_PATM_PATCH_TRAP_GP; 888 888 break; … … 907 907 908 908 default: 909 AssertMsg(PATMIsPatchGCAddr(pVM, (RT GCPTR)pRegFrame->eip) == false, ("return code %d\n", rc));909 AssertMsg(PATMIsPatchGCAddr(pVM, (RTRCPTR)pRegFrame->eip) == false, ("return code %d\n", rc)); 910 910 break; 911 911 } … … 945 945 case VINF_EM_RAW_EMULATE_INSTR_LDT_FAULT: 946 946 case VINF_EM_RAW_EMULATE_INSTR_IDT_FAULT: 947 if (PATMIsPatchGCAddr(pVM, (RT GCPTR)pRegFrame->eip))947 if (PATMIsPatchGCAddr(pVM, (RTRCPTR)pRegFrame->eip)) 948 948 rc = VINF_PATCH_EMULATE_INSTR; 949 949 break; 950 950 951 951 case VINF_EM_RAW_GUEST_TRAP: 952 if (PATMIsPatchGCAddr(pVM, (RT GCPTR)pRegFrame->eip))952 if (PATMIsPatchGCAddr(pVM, (RTRCPTR)pRegFrame->eip)) 953 953 return VINF_PATM_PATCH_TRAP_PF; 954 954 … … 974 974 975 975 default: 976 AssertMsg(PATMIsPatchGCAddr(pVM, (RT GCPTR)pRegFrame->eip) == false, ("Patch address for return code %d. eip=%08x\n", rc, pRegFrame->eip));976 AssertMsg(PATMIsPatchGCAddr(pVM, (RTRCPTR)pRegFrame->eip) == false, ("Patch address for return code %d. eip=%08x\n", rc, pRegFrame->eip)); 977 977 break; 978 978 }
Note:
See TracChangeset
for help on using the changeset viewer.