VirtualBox

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


Ignore:
Timestamp:
Feb 5, 2010 4:04:36 AM (15 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
57330
Message:

VMM: warnings. Changed PATMIsPatchGCAddr and CSAMIsKnownDangerousInstr to take RTRCUINTPTR instead of RTRCPTR so we can mostly avoid having to cast the parameter.

Location:
trunk/src/VBox/VMM/VMMGC
Files:
3 edited

Legend:

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

    r26175 r26271  
    208208    LogFlow(("pdmRCDevHlp_PATMSetMMIOPatchInfo: caller=%p/%d:\n", pDevIns, pDevIns->iInstance));
    209209
    210     return PATMSetMMIOPatchInfo(pDevIns->Internal.s.pVMRC, GCPhys, (RTRCPTR)pCachedData);
     210    return PATMSetMMIOPatchInfo(pDevIns->Internal.s.pVMRC, GCPhys, (RTRCPTR)(uintptr_t)pCachedData);
    211211}
    212212
  • trunk/src/VBox/VMM/VMMGC/SELMGC.cpp

    r19141 r26271  
    6868     */
    6969    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));
    7171    if (RT_FAILURE(rc))
    7272        return VINF_EM_RAW_EMULATE_INSTR_GDT_FAULT;
     
    317317         * then check if any of these has changed.
    318318         */
    319         PCVBOXTSS pGuestTss = (PVBOXTSS)pVM->selm.s.GCPtrGuestTss;
     319        PCVBOXTSS pGuestTss = (PVBOXTSS)(uintptr_t)pVM->selm.s.GCPtrGuestTss;
    320320        if (    PAGE_ADDRESS(&pGuestTss->esp0) == PAGE_ADDRESS(&pGuestTss->padding_ss0)
    321321            &&  PAGE_ADDRESS(&pGuestTss->esp0) == PAGE_ADDRESS((uint8_t *)pGuestTss + offRange)
  • trunk/src/VBox/VMM/VMMGC/TRPMGCHandlers.cpp

    r26152 r26271  
    406406         */
    407407        if (    Cpu.pCurInstr->opcode == OP_ILLUD2
    408             &&  PATMIsPatchGCAddr(pVM, (RTRCPTR)pRegFrame->eip))
     408            &&  PATMIsPatchGCAddr(pVM, pRegFrame->eip))
    409409        {
    410410            rc = PATMGCHandleIllegalInstrTrap(pVM, pRegFrame);
     
    429429            Log(("TRPMGCTrap06Handler: pc=%08x op=%d\n", pRegFrame->eip, Cpu.pCurInstr->opcode));
    430430#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));
    432432            rc = TRPMForwardTrap(pVCpu, pRegFrame, 0x6, 0, TRPM_TRAP_NO_ERRORCODE, TRPM_TRAP, 0x6);
    433433            Assert(rc == VINF_EM_RAW_GUEST_TRAP);
     
    618618        {
    619619            Assert(pCpu->param1.flags & USE_IMMEDIATE8);
    620             Assert(!(PATMIsPatchGCAddr(pVM, (RTRCPTR)PC)));
     620            Assert(!(PATMIsPatchGCAddr(pVM, PC)));
    621621            if (pCpu->param1.parval == 3)
    622622            {
     
    646646        case OP_HLT:
    647647            /* If it's in patch code, defer to ring-3. */
    648             if (PATMIsPatchGCAddr(pVM, (RTRCPTR)PC))
     648            if (PATMIsPatchGCAddr(pVM, PC))
    649649                break;
    650650
     
    662662        case OP_MOV_DR:
    663663            /* 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))
    666666                break;
    667667        case OP_INVLPG:
     
    938938        case VINF_EM_RAW_GUEST_TRAP:
    939939        case VINF_EM_RAW_EXCEPTION_PRIVILEGED:
    940             if (PATMIsPatchGCAddr(pVM, (RTRCPTR)pRegFrame->eip))
     940            if (PATMIsPatchGCAddr(pVM, pRegFrame->eip))
    941941                rc = VINF_PATM_PATCH_TRAP_GP;
    942942            break;
     
    962962
    963963        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));
    965965            break;
    966966        }
     
    10031003        case VINF_EM_RAW_EMULATE_INSTR_LDT_FAULT:
    10041004        case VINF_EM_RAW_EMULATE_INSTR_IDT_FAULT:
    1005             if (PATMIsPatchGCAddr(pVM, (RTRCPTR)pRegFrame->eip))
     1005            if (PATMIsPatchGCAddr(pVM, pRegFrame->eip))
    10061006                rc = VINF_PATCH_EMULATE_INSTR;
    10071007            break;
    10081008
    10091009        case VINF_EM_RAW_GUEST_TRAP:
    1010             if (PATMIsPatchGCAddr(pVM, (RTRCPTR)pRegFrame->eip))
     1010            if (PATMIsPatchGCAddr(pVM, pRegFrame->eip))
    10111011                return VINF_PATM_PATCH_TRAP_PF;
    10121012
     
    10331033
    10341034        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));
    10361036            break;
    10371037    }
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette