VirtualBox

Changeset 60875 in vbox for trunk/src/VBox


Ignore:
Timestamp:
May 7, 2016 6:09:37 PM (9 years ago)
Author:
vboxsync
Message:

PATMRC.cpp: Use IEM for the INT3 stuff.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMRC/PATMRC.cpp

    r58126 r60875  
    2727#include <VBox/vmm/mm.h>
    2828#include <VBox/vmm/em.h>
    29 #ifdef VBOX_WITH_IEM
    30 # include <VBox/vmm/iem.h>
    31 #endif
     29#include <VBox/vmm/iem.h>
    3230#include <VBox/vmm/selm.h>
    3331#include <VBox/vmm/mm.h>
     
    462460{
    463461    PPATMPATCHREC pRec;
    464     int rc;
    465462
    466463    AssertReturn(!pCtxCore->eflags.Bits.u1VM
     
    532529            }
    533530
    534 #ifdef VBOX_WITH_IEM
    535531            VBOXSTRICTRC rcStrict;
    536532            rcStrict = IEMExecOneBypassWithPrefetchedByPC(pVCpu, pCtxCore, pCtxCore->rip,
    537533                                                          pRec->patch.aPrivInstr, pRec->patch.cbPrivInstr);
    538             rc = VBOXSTRICTRC_TODO(rcStrict);
    539 #else
    540             uint32_t    cbOp;
    541             DISCPUSTATE cpu;
    542             rc = DISInstr(&pRec->patch.aPrivInstr[0], enmCpuMode, &cpu, &cbOp);
    543             if (RT_FAILURE(rc))
    544             {
    545                 Log(("DISCoreOne failed with %Rrc\n", rc));
     534            if (RT_FAILURE(rcStrict))
     535            {
     536                Log(("EMInterpretInstructionCPU failed with %Rrc\n", VBOXSTRICTRC_TODO(rcStrict)));
    546537                PATM_STAT_FAULT_INC(&pRec->patch);
    547538                pRec->patch.cTraps++;
    548539                return VINF_EM_RAW_EMULATE_INSTR;
    549540            }
    550 
    551             rc = VBOXSTRICTRC_TODO(EMInterpretInstructionDisasState(pVCpu, &cpu, pCtxCore, 0 /* not relevant here */,
    552                                                                     EMCODETYPE_SUPERVISOR));
    553 #endif
    554             if (RT_FAILURE(rc))
    555             {
    556                 Log(("EMInterpretInstructionCPU failed with %Rrc\n", rc));
    557                 PATM_STAT_FAULT_INC(&pRec->patch);
    558                 pRec->patch.cTraps++;
    559                 return VINF_EM_RAW_EMULATE_INSTR;
    560             }
    561             return rc;
     541            return VBOXSTRICTRC_TODO(rcStrict);
    562542        }
    563543    }
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