Changeset 26271 in vbox for trunk/src/VBox/VMM/VMMGC
- Timestamp:
- Feb 5, 2010 4:04:36 AM (15 years ago)
- svn:sync-xref-src-repo-rev:
- 57330
- Location:
- trunk/src/VBox/VMM/VMMGC
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMGC/PDMGCDevice.cpp
r26175 r26271 208 208 LogFlow(("pdmRCDevHlp_PATMSetMMIOPatchInfo: caller=%p/%d:\n", pDevIns, pDevIns->iInstance)); 209 209 210 return PATMSetMMIOPatchInfo(pDevIns->Internal.s.pVMRC, GCPhys, (RTRCPTR) pCachedData);210 return PATMSetMMIOPatchInfo(pDevIns->Internal.s.pVMRC, GCPhys, (RTRCPTR)(uintptr_t)pCachedData); 211 211 } 212 212 -
trunk/src/VBox/VMM/VMMGC/SELMGC.cpp
r19141 r26271 68 68 */ 69 69 X86DESC Desc; 70 int rc = MMGCRamRead(pVM, &Desc, (uint8_t *) GdtrGuest.pGdt + offEntry, sizeof(X86DESC));70 int rc = MMGCRamRead(pVM, &Desc, (uint8_t *)(uintptr_t)GdtrGuest.pGdt + offEntry, sizeof(X86DESC)); 71 71 if (RT_FAILURE(rc)) 72 72 return VINF_EM_RAW_EMULATE_INSTR_GDT_FAULT; … … 317 317 * then check if any of these has changed. 318 318 */ 319 PCVBOXTSS pGuestTss = (PVBOXTSS) pVM->selm.s.GCPtrGuestTss;319 PCVBOXTSS pGuestTss = (PVBOXTSS)(uintptr_t)pVM->selm.s.GCPtrGuestTss; 320 320 if ( PAGE_ADDRESS(&pGuestTss->esp0) == PAGE_ADDRESS(&pGuestTss->padding_ss0) 321 321 && PAGE_ADDRESS(&pGuestTss->esp0) == PAGE_ADDRESS((uint8_t *)pGuestTss + offRange) -
trunk/src/VBox/VMM/VMMGC/TRPMGCHandlers.cpp
r26152 r26271 406 406 */ 407 407 if ( Cpu.pCurInstr->opcode == OP_ILLUD2 408 && PATMIsPatchGCAddr(pVM, (RTRCPTR)pRegFrame->eip))408 && PATMIsPatchGCAddr(pVM, pRegFrame->eip)) 409 409 { 410 410 rc = PATMGCHandleIllegalInstrTrap(pVM, pRegFrame); … … 429 429 Log(("TRPMGCTrap06Handler: pc=%08x op=%d\n", pRegFrame->eip, Cpu.pCurInstr->opcode)); 430 430 #ifdef DTRACE_EXPERIMENT /** @todo fix/remove/permanent-enable this when DIS/PATM handles invalid lock sequences. */ 431 Assert(!PATMIsPatchGCAddr(pVM, (RTRCPTR)pRegFrame->eip));431 Assert(!PATMIsPatchGCAddr(pVM, pRegFrame->eip)); 432 432 rc = TRPMForwardTrap(pVCpu, pRegFrame, 0x6, 0, TRPM_TRAP_NO_ERRORCODE, TRPM_TRAP, 0x6); 433 433 Assert(rc == VINF_EM_RAW_GUEST_TRAP); … … 618 618 { 619 619 Assert(pCpu->param1.flags & USE_IMMEDIATE8); 620 Assert(!(PATMIsPatchGCAddr(pVM, (RTRCPTR)PC)));620 Assert(!(PATMIsPatchGCAddr(pVM, PC))); 621 621 if (pCpu->param1.parval == 3) 622 622 { … … 646 646 case OP_HLT: 647 647 /* If it's in patch code, defer to ring-3. */ 648 if (PATMIsPatchGCAddr(pVM, (RTRCPTR)PC))648 if (PATMIsPatchGCAddr(pVM, PC)) 649 649 break; 650 650 … … 662 662 case OP_MOV_DR: 663 663 /* We can safely emulate control/debug register move instructions in patched code. */ 664 if ( !PATMIsPatchGCAddr(pVM, (RTRCPTR)PC)665 && !CSAMIsKnownDangerousInstr(pVM, (RTRCPTR)PC))664 if ( !PATMIsPatchGCAddr(pVM, PC) 665 && !CSAMIsKnownDangerousInstr(pVM, PC)) 666 666 break; 667 667 case OP_INVLPG: … … 938 938 case VINF_EM_RAW_GUEST_TRAP: 939 939 case VINF_EM_RAW_EXCEPTION_PRIVILEGED: 940 if (PATMIsPatchGCAddr(pVM, (RTRCPTR)pRegFrame->eip))940 if (PATMIsPatchGCAddr(pVM, pRegFrame->eip)) 941 941 rc = VINF_PATM_PATCH_TRAP_GP; 942 942 break; … … 962 962 963 963 default: 964 AssertMsg(PATMIsPatchGCAddr(pVM, (RTRCPTR)pRegFrame->eip) == false, ("return code %d\n", rc));964 AssertMsg(PATMIsPatchGCAddr(pVM, pRegFrame->eip) == false, ("return code %d\n", rc)); 965 965 break; 966 966 } … … 1003 1003 case VINF_EM_RAW_EMULATE_INSTR_LDT_FAULT: 1004 1004 case VINF_EM_RAW_EMULATE_INSTR_IDT_FAULT: 1005 if (PATMIsPatchGCAddr(pVM, (RTRCPTR)pRegFrame->eip))1005 if (PATMIsPatchGCAddr(pVM, pRegFrame->eip)) 1006 1006 rc = VINF_PATCH_EMULATE_INSTR; 1007 1007 break; 1008 1008 1009 1009 case VINF_EM_RAW_GUEST_TRAP: 1010 if (PATMIsPatchGCAddr(pVM, (RTRCPTR)pRegFrame->eip))1010 if (PATMIsPatchGCAddr(pVM, pRegFrame->eip)) 1011 1011 return VINF_PATM_PATCH_TRAP_PF; 1012 1012 … … 1033 1033 1034 1034 default: 1035 AssertMsg(PATMIsPatchGCAddr(pVM, (RTRCPTR)pRegFrame->eip) == false, ("Patch address for return code %d. eip=%08x\n", rc, pRegFrame->eip));1035 AssertMsg(PATMIsPatchGCAddr(pVM, pRegFrame->eip) == false, ("Patch address for return code %d. eip=%08x\n", rc, pRegFrame->eip)); 1036 1036 break; 1037 1037 }
Note:
See TracChangeset
for help on using the changeset viewer.