VirtualBox

Changeset 41728 in vbox


Ignore:
Timestamp:
Jun 14, 2012 11:04:57 PM (13 years ago)
Author:
vboxsync
Message:

DIS: register macro name adjustments - part two.

Location:
trunk
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/dis.h

    r41727 r41728  
    309309/** @} */
    310310
    311 #define USE_REG_FP0                     0
    312 #define USE_REG_FP1                     1
    313 #define USE_REG_FP2                     2
    314 #define USE_REG_FP3                     3
    315 #define USE_REG_FP4                     4
    316 #define USE_REG_FP5                     5
    317 #define USE_REG_FP6                     6
    318 #define USE_REG_FP7                     7
    319 
    320 #define USE_REG_CR0                     0
    321 #define USE_REG_CR1                     1
    322 #define USE_REG_CR2                     2
    323 #define USE_REG_CR3                     3
    324 #define USE_REG_CR4                     4
    325 #define USE_REG_CR8                     8
    326 
    327 #define USE_REG_DR0                     0
    328 #define USE_REG_DR1                     1
    329 #define USE_REG_DR2                     2
    330 #define USE_REG_DR3                     3
    331 #define USE_REG_DR4                     4
    332 #define USE_REG_DR5                     5
    333 #define USE_REG_DR6                     6
    334 #define USE_REG_DR7                     7
    335 
    336 #define USE_REG_MMX0                    0
    337 #define USE_REG_MMX1                    1
    338 #define USE_REG_MMX2                    2
    339 #define USE_REG_MMX3                    3
    340 #define USE_REG_MMX4                    4
    341 #define USE_REG_MMX5                    5
    342 #define USE_REG_MMX6                    6
    343 #define USE_REG_MMX7                    7
    344 
    345 #define USE_REG_XMM0                    0
    346 #define USE_REG_XMM1                    1
    347 #define USE_REG_XMM2                    2
    348 #define USE_REG_XMM3                    3
    349 #define USE_REG_XMM4                    4
    350 #define USE_REG_XMM5                    5
    351 #define USE_REG_XMM6                    6
    352 #define USE_REG_XMM7                    7
    353 /** @todo missing XMM8-XMM15 */
     311/** @name FPU register indexes.
     312 * This matches the AMD64 register encoding.  It is found used in
     313 * DISOPPARAM::base.reg_fp.
     314 * @{
     315 */
     316#define DISFPREG_ST0                    UINT8_C(0)
     317#define DISFPREG_ST1                    UINT8_C(1)
     318#define DISFPREG_ST2                    UINT8_C(2)
     319#define DISFPREG_ST3                    UINT8_C(3)
     320#define DISFPREG_ST4                    UINT8_C(4)
     321#define DISFPREG_ST5                    UINT8_C(5)
     322#define DISFPREG_ST6                    UINT8_C(6)
     323#define DISFPREG_ST7                    UINT8_C(7)
     324/** @}  */
     325
     326/** @name Control register indexes.
     327 * This matches the AMD64 register encoding.  It is found used in
     328 * DISOPPARAM::base.reg_ctrl.
     329 * @{
     330 */
     331#define DISCREG_CR0                     UINT8_C(0)
     332#define DISCREG_CR1                     UINT8_C(1)
     333#define DISCREG_CR2                     UINT8_C(2)
     334#define DISCREG_CR3                     UINT8_C(3)
     335#define DISCREG_CR4                     UINT8_C(4)
     336#define DISCREG_CR8                     UINT8_C(8)
     337/** @}  */
     338
     339/** @name Debug register indexes.
     340 * This matches the AMD64 register encoding.  It is found used in
     341 * DISOPPARAM::base.reg_dbg.
     342 * @{
     343 */
     344#define DISDREG_DR0                     UINT8_C(0)
     345#define DISDREG_DR1                     UINT8_C(1)
     346#define DISDREG_DR2                     UINT8_C(2)
     347#define DISDREG_DR3                     UINT8_C(3)
     348#define DISDREG_DR4                     UINT8_C(4)
     349#define DISDREG_DR5                     UINT8_C(5)
     350#define DISDREG_DR6                     UINT8_C(6)
     351#define DISDREG_DR7                     UINT8_C(7)
     352/** @}  */
     353
     354/** @name MMX register indexes.
     355 * This matches the AMD64 register encoding.  It is found used in
     356 * DISOPPARAM::base.reg_mmx.
     357 * @{
     358 */
     359#define DISMREG_MMX0                    UINT8_C(0)
     360#define DISMREG_MMX1                    UINT8_C(1)
     361#define DISMREG_MMX2                    UINT8_C(2)
     362#define DISMREG_MMX3                    UINT8_C(3)
     363#define DISMREG_MMX4                    UINT8_C(4)
     364#define DISMREG_MMX5                    UINT8_C(5)
     365#define DISMREG_MMX6                    UINT8_C(6)
     366#define DISMREG_MMX7                    UINT8_C(7)
     367/** @}  */
     368
     369/** @name SSE register indexes.
     370 * This matches the AMD64 register encoding.  It is found used in
     371 * DISOPPARAM::base.reg_xmm.
     372 * @{
     373 */
     374#define DISXREG_XMM0                    UINT8_C(0)
     375#define DISXREG_XMM1                    UINT8_C(1)
     376#define DISXREG_XMM2                    UINT8_C(2)
     377#define DISXREG_XMM3                    UINT8_C(3)
     378#define DISXREG_XMM4                    UINT8_C(4)
     379#define DISXREG_XMM5                    UINT8_C(5)
     380#define DISXREG_XMM6                    UINT8_C(6)
     381#define DISXREG_XMM7                    UINT8_C(7)
     382/** @}  */
    354383
    355384/** Used by DISQueryParamVal & EMIQueryParamVal
     
    424453        /** DISGREG_XXX. */
    425454        uint8_t     reg_gen;
    426         /** ST(0) - ST(7) */
     455        /** DISFPREG_XXX */
    427456        uint8_t     reg_fp;
    428         /** MMX0 - MMX7 */
     457        /** DISMREG_XXX. */
    429458        uint8_t     reg_mmx;
    430         /** XMM0 - XMM7 */
     459        /** DISXREG_XXX. */
    431460        uint8_t     reg_xmm;
    432         /** {ES, CS, SS, DS, FS, GS} (DISSELREG). */
     461        /** DISSELREG_XXX. */
    433462        uint8_t     reg_seg;
    434         /** TR0-TR7 (?) */
     463        /** TR0-TR7  (no defines for these). */
    435464        uint8_t     reg_test;
    436         /** CR0-CR4 */
     465        /** DISCREG_XXX */
    437466        uint8_t     reg_ctrl;
    438         /** DR0-DR7 */
     467        /** DISDREG_XXX */
    439468        uint8_t     reg_dbg;
    440469    } base;
  • trunk/src/VBox/Disassembler/DisasmCore.cpp

    r41727 r41728  
    743743                {
    744744                    pCpu->prefix &= ~DISPREFIX_LOCK;
    745                     pParam->base.reg_ctrl = USE_REG_CR8;
     745                    pParam->base.reg_ctrl = DISCREG_CR8;
    746746                }
    747747                else
  • trunk/src/VBox/VMM/VMMAll/CPUMAllRegs.cpp

    r40235 r41728  
    55
    66/*
    7  * Copyright (C) 2006-2007 Oracle Corporation
     7 * Copyright (C) 2006-2012 Oracle Corporation
    88 *
    99 * This file is part of VirtualBox Open Source Edition (OSE), as
     
    12651265{
    12661266    uint64_t u64;
    1267     int rc = CPUMGetGuestCRx(pVCpu, USE_REG_CR8, &u64);
     1267    int rc = CPUMGetGuestCRx(pVCpu, DISCREG_CR8, &u64);
    12681268    if (RT_FAILURE(rc))
    12691269        u64 = 0;
     
    13481348    switch (iReg)
    13491349    {
    1350         case USE_REG_CR0:
     1350        case DISCREG_CR0:
    13511351            *pValue = pVCpu->cpum.s.Guest.cr0;
    13521352            break;
    13531353
    1354         case USE_REG_CR2:
     1354        case DISCREG_CR2:
    13551355            *pValue = pVCpu->cpum.s.Guest.cr2;
    13561356            break;
    13571357
    1358         case USE_REG_CR3:
     1358        case DISCREG_CR3:
    13591359            *pValue = pVCpu->cpum.s.Guest.cr3;
    13601360            break;
    13611361
    1362         case USE_REG_CR4:
     1362        case DISCREG_CR4:
    13631363            *pValue = pVCpu->cpum.s.Guest.cr4;
    13641364            break;
    13651365
    1366         case USE_REG_CR8:
     1366        case DISCREG_CR8:
    13671367        {
    13681368            uint8_t u8Tpr;
     
    14231423VMMDECL(int) CPUMGetGuestDRx(PVMCPU pVCpu, uint32_t iReg, uint64_t *pValue)
    14241424{
    1425     AssertReturn(iReg <= USE_REG_DR7, VERR_INVALID_PARAMETER);
     1425    AssertReturn(iReg <= DISDREG_DR7, VERR_INVALID_PARAMETER);
    14261426    /* DR4 is an alias for DR6, and DR5 is an alias for DR7. */
    14271427    if (iReg == 4 || iReg == 5)
     
    19701970VMMDECL(int) CPUMSetGuestDRx(PVMCPU pVCpu, uint32_t iReg, uint64_t Value)
    19711971{
    1972     AssertReturn(iReg <= USE_REG_DR7, VERR_INVALID_PARAMETER);
     1972    AssertReturn(iReg <= DISDREG_DR7, VERR_INVALID_PARAMETER);
    19731973    /* DR4 is an alias for DR6, and DR5 is an alias for DR7. */
    19741974    if (iReg == 4 || iReg == 5)
  • trunk/src/VBox/VMM/VMMAll/EMAll.cpp

    r41727 r41728  
    22092209    switch (DestRegCrx)
    22102210    {
    2211     case USE_REG_CR0:
     2211    case DISCREG_CR0:
    22122212        oldval = CPUMGetGuestCR0(pVCpu);
    22132213#ifdef IN_RC
     
    22622262        return rc2 == VINF_SUCCESS ? rc : rc2;
    22632263
    2264     case USE_REG_CR2:
     2264    case DISCREG_CR2:
    22652265        rc = CPUMSetGuestCR2(pVCpu, val); AssertRC(rc);
    22662266        return VINF_SUCCESS;
    22672267
    2268     case USE_REG_CR3:
     2268    case DISCREG_CR3:
    22692269        /* Reloading the current CR3 means the guest just wants to flush the TLBs */
    22702270        rc = CPUMSetGuestCR3(pVCpu, val); AssertRC(rc);
     
    22772277        return rc;
    22782278
    2279     case USE_REG_CR4:
     2279    case DISCREG_CR4:
    22802280        oldval = CPUMGetGuestCR4(pVCpu);
    22812281        rc = CPUMSetGuestCR4(pVCpu, val); AssertRC(rc);
     
    23152315        return rc2 == VINF_SUCCESS ? rc : rc2;
    23162316
    2317     case USE_REG_CR8:
     2317    case DISCREG_CR8:
    23182318        return PDMApicSetTPR(pVCpu, val << 4);  /* cr8 bits 3-0 correspond to bits 7-4 of the task priority mmio register. */
    23192319
    23202320    default:
    23212321        AssertFailed();
    2322     case USE_REG_CR1: /* illegal op */
     2322    case DISCREG_CR1: /* illegal op */
    23232323        break;
    23242324    }
     
    23772377                    | (u16Data &  (X86_CR0_PE | X86_CR0_MP | X86_CR0_EM | X86_CR0_TS));
    23782378
    2379     return emUpdateCRx(pVM, pVCpu, pRegFrame, USE_REG_CR0, NewCr0);
     2379    return emUpdateCRx(pVM, pVCpu, pRegFrame, DISCREG_CR0, NewCr0);
    23802380}
    23812381
  • trunk/src/VBox/VMM/VMMR0/HWVMXR0.cpp

    r41727 r41728  
    41694169                Assert(   !pVM->hwaccm.s.fNestedPaging
    41704170                       || !CPUMIsGuestInPagedProtectedModeEx(pCtx)
    4171                        || VMX_EXIT_QUALIFICATION_CRX_REGISTER(exitQualification) != USE_REG_CR3);
     4171                       || VMX_EXIT_QUALIFICATION_CRX_REGISTER(exitQualification) != DISCREG_CR3);
    41724172
    41734173                /* CR8 reads only cause an exit when the TPR shadow feature isn't present. */
  • trunk/src/VBox/VMM/VMMR3/EMRaw.cpp

    r41727 r41728  
    994994                    //read
    995995                    Assert(Cpu.param2.fUse & DISUSE_REG_CR);
    996                     Assert(Cpu.param2.base.reg_ctrl <= USE_REG_CR4);
     996                    Assert(Cpu.param2.base.reg_ctrl <= DISCREG_CR4);
    997997                    STAM_COUNTER_INC(&pStats->StatMovReadCR[Cpu.param2.base.reg_ctrl]);
    998998                }
     
    10011001                    //write
    10021002                    Assert(Cpu.param1.fUse & DISUSE_REG_CR);
    1003                     Assert(Cpu.param1.base.reg_ctrl <= USE_REG_CR4);
     1003                    Assert(Cpu.param1.base.reg_ctrl <= DISCREG_CR4);
    10041004                    STAM_COUNTER_INC(&pStats->StatMovWriteCR[Cpu.param1.base.reg_ctrl]);
    10051005                }
  • trunk/src/VBox/VMM/VMMR3/PATMPatch.cpp

    r41727 r41728  
    11511151{
    11521152    int rc = VINF_SUCCESS;
    1153     int reg, mod, rm, dbgreg;
     1153    unsigned reg, mod, rm, dbgreg;
    11541154    uint32_t offset;
    11551155
     
    11831183    pPB[1] = MAKE_MODRM(mod, reg, rm);
    11841184
    1185     AssertReturn(dbgreg <= USE_REG_DR7, VERR_INVALID_PARAMETER);
     1185    AssertReturn(dbgreg <= DISDREG_DR7, VERR_INVALID_PARAMETER);
    11861186    offset = RT_OFFSETOF(CPUMCTX, dr[dbgreg]);
    11871187
     
    12351235    switch (ctrlreg)
    12361236    {
    1237     case USE_REG_CR0:
     1237    case DISCREG_CR0:
    12381238        offset = RT_OFFSETOF(CPUMCTX, cr0);
    12391239        break;
    1240     case USE_REG_CR2:
     1240    case DISCREG_CR2:
    12411241        offset = RT_OFFSETOF(CPUMCTX, cr2);
    12421242        break;
    1243     case USE_REG_CR3:
     1243    case DISCREG_CR3:
    12441244        offset = RT_OFFSETOF(CPUMCTX, cr3);
    12451245        break;
    1246     case USE_REG_CR4:
     1246    case DISCREG_CR4:
    12471247        offset = RT_OFFSETOF(CPUMCTX, cr4);
    12481248        break;
  • trunk/src/VBox/VMM/include/EMInternal.h

    r41692 r41728  
    272272    STAMCOUNTER             StatInvlpg;
    273273    STAMCOUNTER             StatHlt;
    274     STAMCOUNTER             StatMovReadCR[USE_REG_CR4 + 1];
    275     STAMCOUNTER             StatMovWriteCR[USE_REG_CR4 + 1];
     274    STAMCOUNTER             StatMovReadCR[DISCREG_CR4 + 1];
     275    STAMCOUNTER             StatMovWriteCR[DISCREG_CR4 + 1];
    276276    STAMCOUNTER             StatMovDRx;
    277277    STAMCOUNTER             StatIret;
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