VirtualBox

Changeset 65493 in vbox


Ignore:
Timestamp:
Jan 27, 2017 11:24:29 PM (8 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
113123
Message:

CPUM,PGM: cmpxchg16b work (stats).

Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/vmm/cpum.h

    r64720 r65493  
    997997    /** MWAIT Extensions present. */
    998998    uint32_t        fMWaitExtensions : 1;
     999    /** Supports CMPXCHG16B in 64-bit mode. */
     1000    uint32_t        fMovCmpXchg16b : 1;
    9991001
    10001002    /** Supports AMD 3DNow instructions. */
     
    10221024
    10231025    /** Alignment padding / reserved for future use. */
    1024     uint32_t        fPadding : 29;
     1026    uint32_t        fPadding : 28;
    10251027    uint32_t        auPadding[3];
    10261028} CPUMFEATURES;
  • trunk/src/VBox/VMM/VMMAll/IEMAllInstructions.cpp.h

    r65492 r65493  
    68286828
    68296829/** Opcode REX.W 0x0f 0xc7 !11/1. */
    6830 FNIEMOP_STUB_1(iemOp_Grp9_cmpxchg16b_Mdq, uint8_t, bRm);
     6830FNIEMOP_DEF_1(iemOp_Grp9_cmpxchg16b_Mdq, uint8_t, bRm)
     6831{
     6832    IEMOP_MNEMONIC(cmpxchg16b, "cmpxchg16b Mdq");
     6833    if (IEM_GET_GUEST_CPU_FEATURES(pVCpu)->fMovCmpXchg16b)
     6834    {
     6835        RT_NOREF(bRm);
     6836        IEMOP_BITCH_ABOUT_STUB();
     6837        return VERR_IEM_INSTR_NOT_IMPLEMENTED;
     6838    }
     6839    Log(("cmpxchg16b -> #UD\n"));
     6840    return IEMOP_RAISE_INVALID_OPCODE();
     6841}
     6842
    68316843
    68326844/** Opcode 0x0f 0xc7 11/6. */
  • trunk/src/VBox/VMM/VMMR3/CPUMR3CpuId.cpp

    r65459 r65493  
    16301630        pFeatures->fHypervisorPresent   = RT_BOOL(pStd1Leaf->uEcx & X86_CPUID_FEATURE_ECX_HVP);
    16311631        pFeatures->fMonitorMWait        = RT_BOOL(pStd1Leaf->uEcx & X86_CPUID_FEATURE_ECX_MONITOR);
     1632        pFeatures->fMovCmpXchg16b       = RT_BOOL(pStd1Leaf->uEcx & X86_CPUID_FEATURE_ECX_CX16);
    16321633
    16331634        /* Structured extended features. */
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