VirtualBox

Ignore:
Timestamp:
Mar 29, 2017 10:12:02 AM (8 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
114260
Message:

IEM,CPUM: Implemented clflush Mb (0f ae /7).

Location:
trunk/src/VBox/ValidationKit/bootsectors
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-generated-1-template.c

    r66323 r66327  
    15441544            break;
    15451545
     1546        case BS3CG1ENC_MODRM_MbRO:
     1547            if (iEncoding == 0)
     1548            {
     1549                off = Bs3Cg1InsertOpcodes(pThis, Bs3Cg1InsertReqPrefix(pThis, 0)) - 1;
     1550                off = Bs3Cfg1EncodeMemMod0Disp(pThis, false, off,
     1551                                               (pThis->abCurInstr[off] & X86_MODRM_REG_MASK) >> X86_MODRM_REG_SHIFT,
     1552                                               1, 0, BS3CG1OPLOC_MEM);
     1553            }
     1554            else
     1555                break;
     1556            pThis->cbCurInstr = off;
     1557            iEncoding++;
     1558            break;
     1559
     1560
    15461561        case BS3CG1ENC_FIXED:
    15471562            if (iEncoding == 0)
     
    18051820            pThis->aOperands[0].enmLocation = BS3CG1OPLOC_CTX;
    18061821            pThis->aOperands[1].enmLocation = BS3CG1OPLOC_MEM;
     1822            break;
     1823
     1824        case BS3CG1ENC_MODRM_MbRO:
     1825            pThis->iRmOp             = 0;
     1826            pThis->aOperands[0].cbOp = 1;
     1827            pThis->aOperands[0].enmLocation = BS3CG1OPLOC_MEM;
    18071828            break;
    18081829
     
    19141935        case BS3CG1CPU_GE_80486:
    19151936        case BS3CG1CPU_GE_Pentium:
     1937        case BS3CG1CPU_CLFSH:
    19161938            return false;
    19171939
     
    20202042            {
    20212043                ASMCpuIdExSlow(7, 0, 0/*leaf*/, 0, &fEax, &fEbx, &fEcx, &fEdx);
    2022 
    20232044                switch (pThis->enmCpuTest)
    20242045                {
     
    20312052            }
    20322053            return false;
     2054
     2055        case BS3CG1CPU_CLFSH:
     2056            if (g_uBs3CpuDetected & BS3CPU_F_CPUID)
     2057            {
     2058                ASMCpuIdExSlow(1, 0, 0, 0, NULL, NULL, NULL, &fEdx);
     2059                if (fEdx & X86_CPUID_FEATURE_EDX_CLFSH)
     2060                    return true;
     2061            }
     2062            return false;
     2063
    20332064
    20342065        default:
  • trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-generated-1.h

    r66323 r66327  
    6969
    7070    BS3CG1OP_Ma,
     71    BS3CG1OP_MbRO,
    7172    BS3CG1OP_Mq,
    7273
     
    101102    BS3CG1ENC_MODRM_Vq_Mq,
    102103    BS3CG1ENC_MODRM_Vdq_Wdq,
     104    BS3CG1ENC_MODRM_MbRO,
    103105
    104106    BS3CG1ENC_FIXED,
     
    150152    BS3CG1CPU_AVX,
    151153    BS3CG1CPU_AVX2,
     154    BS3CG1CPU_CLFSH,
     155
    152156    BS3CG1CPU_END
    153157} BS3CG1CPU;
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