VirtualBox

Changeset 38074 in vbox


Ignore:
Timestamp:
Jul 19, 2011 3:34:20 PM (14 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
73020
Message:

IEM: Implemented CMC.

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

Legend:

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

    r38073 r38074  
    47174717#define IEM_MC_SET_EFL_BIT(a_fBit)                      do { (pIemCpu)->CTX_SUFF(pCtx)->eflags.u |= (a_fBit); } while (0)
    47184718#define IEM_MC_CLEAR_EFL_BIT(a_fBit)                    do { (pIemCpu)->CTX_SUFF(pCtx)->eflags.u &= ~(a_fBit); } while (0)
     4719#define IEM_MC_FLIP_EFL_BIT(a_fBit)                     do { (pIemCpu)->CTX_SUFF(pCtx)->eflags.u ^= (a_fBit); } while (0)
    47194720
    47204721
  • trunk/src/VBox/VMM/VMMAll/IEMAllInstructions.cpp.h

    r38073 r38074  
    1049710497
    1049810498/** Opcode 0xf5. */
    10499 FNIEMOP_STUB(iemOp_cmc);
     10499FNIEMOP_DEF(iemOp_cmc)
     10500{
     10501    IEMOP_MNEMONIC("cmc");
     10502    IEMOP_HLP_NO_LOCK_PREFIX();
     10503    IEM_MC_BEGIN(0, 0);
     10504    IEM_MC_FLIP_EFL_BIT(X86_EFL_CF);
     10505    IEM_MC_ADVANCE_RIP();
     10506    IEM_MC_END();
     10507    return VINF_SUCCESS;
     10508}
    1050010509
    1050110510
     
    1112511134FNIEMOP_DEF(iemOp_stc)
    1112611135{
    11127     IEMOP_MNEMONIC("slc");
     11136    IEMOP_MNEMONIC("stc");
    1112811137    IEMOP_HLP_NO_LOCK_PREFIX();
    1112911138    IEM_MC_BEGIN(0, 0);
  • trunk/src/VBox/VMM/testcase/tstIEMCheckMc.cpp

    r38073 r38074  
    315315#define IEM_MC_SET_EFL_BIT(a_fBit)                      do { CHK_SINGLE_BIT(uint32_t, a_fBit); } while (0)
    316316#define IEM_MC_CLEAR_EFL_BIT(a_fBit)                    do { CHK_SINGLE_BIT(uint32_t, a_fBit); } while (0)
     317#define IEM_MC_FLIP_EFL_BIT(a_fBit)                     do { CHK_SINGLE_BIT(uint32_t, a_fBit); } while (0)
    317318
    318319#define IEM_MC_FETCH_MEM_U8(a_u8Dst, a_iSeg, a_GCPtrMem)                do { CHK_GCPTR(a_GCPtrMem); } while (0)
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