VirtualBox

Changeset 3207 in vbox


Ignore:
Timestamp:
Jun 21, 2007 1:18:21 PM (17 years ago)
Author:
vboxsync
Message:

Map VINF_EM_RAW_EMULATE_INSTR to VINF_IOM_HC_IOPORT_READ/WRITE. Direct emulation is cheaper than falling back to the recompiler.

File:
1 edited

Legend:

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

    r3122 r3207  
    762762    {
    763763        rc = EMInterpretPortIO(pVM, pRegFrame, &Cpu, cbOp);
     764        if (rc == VINF_EM_RAW_EMULATE_INSTR)
     765        {
     766            /* First attempt to emulate directly before falling back to the recompiler */
     767            rc = (pCpu->pCurInstr->optype & OPTYPE_PORTIO_WRITE) ? VINF_IOM_HC_IOPORT_WRITE : VINF_IOM_HC_IOPORT_READ;
     768        }
     769
    764770        return trpmGCExitTrap(pVM, rc, pRegFrame);
    765771    }
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