VirtualBox

Changeset 25554 in vbox


Ignore:
Timestamp:
Dec 22, 2009 10:09:05 AM (15 years ago)
Author:
vboxsync
Message:

trpmGCTrap0dHandler: use EMInterpretDisasOneEx
EMInterpretDisasOneEx: do not directly access RC pointers

Location:
trunk/src/VBox/VMM
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMAll/EMAll.cpp

    r25550 r25554  
    258258VMMDECL(int) EMInterpretDisasOneEx(PVM pVM, PVMCPU pVCpu, RTGCUINTPTR GCPtrInstr, PCCPUMCTXCORE pCtxCore, PDISCPUSTATE pDis, unsigned *pcbInstr)
    259259{
    260     int rc;
    261 
    262 #ifndef IN_RC
     260    int        rc;
    263261    EMDISSTATE State;
    264262
     
    266264    State.pVCpu = pVCpu;
    267265
     266#ifdef IN_RC
     267    State.GCPtr = GCPtrInstr;
     268#else /* ring 0/3 */
    268269    rc = PGMPhysSimpleReadGCPtr(pVCpu, &State.aOpcode, GCPtrInstr, sizeof(State.aOpcode));
    269270    if (RT_SUCCESS(rc))
     
    286287
    287288    rc = DISCoreOneEx(GCPtrInstr, SELMGetCpuModeFromSelector(pVM, pCtxCore->eflags, pCtxCore->cs, (PCPUMSELREGHID)&pCtxCore->csHid),
    288 #ifdef IN_RC
    289                           NULL, NULL,
    290 #else
    291                           EMReadBytes, &State,
    292 #endif
    293                           pDis, pcbInstr);
     289                      EMReadBytes, &State,
     290                      pDis, pcbInstr);
    294291    if (RT_SUCCESS(rc))
    295292        return VINF_SUCCESS;
  • trunk/src/VBox/VMM/VMMGC/TRPMGCHandlers.cpp

    r25252 r25554  
    862862    DISCPUSTATE Cpu;
    863863    uint32_t    cbOp;
    864     rc = DISCoreOneEx((RTGCUINTPTR)PC, cBits == 32 ? CPUMODE_32BIT : cBits == 16 ? CPUMODE_16BIT : CPUMODE_64BIT,
    865                       NULL, NULL, &Cpu, &cbOp);
     864    rc = EMInterpretDisasOneEx(pVM, pVCpu, (RTGCUINTPTR)PC, pRegFrame, &Cpu, &cbOp);
    866865    if (RT_FAILURE(rc))
    867866    {
Note: See TracChangeset for help on using the changeset viewer.

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