VirtualBox

Changeset 60914 in vbox for trunk


Ignore:
Timestamp:
May 10, 2016 6:47:16 AM (9 years ago)
Author:
vboxsync
Message:

EMAll.cpp: Fix unused static function warnings.

File:
1 edited

Legend:

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

    r60913 r60914  
    15981598
    15991599
    1600 /**
    1601  * Interpret CRx write.
    1602  *
    1603  * @returns VBox status code.
    1604  * @param   pVM         The cross context VM structure.
    1605  * @param   pVCpu       The cross context virtual CPU structure.
    1606  * @param   pRegFrame   The register frame.
    1607  * @param   DestRegCrx  CRx register index (DISUSE_REG_CR*)
    1608  * @param   SrcRegGen   General purpose register index (USE_REG_E**))
    1609  *
    1610  */
    1611 static int emInterpretCRxWrite(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, uint32_t DestRegCrx, uint32_t SrcRegGen)
    1612 {
    1613     uint64_t val;
    1614     int      rc;
    1615     Assert(pRegFrame == CPUMGetGuestCtxCore(pVCpu));
    1616 
    1617     if (CPUMIsGuestIn64BitCode(pVCpu))
    1618         rc = DISFetchReg64(pRegFrame, SrcRegGen, &val);
    1619     else
    1620     {
    1621         uint32_t val32;
    1622         rc = DISFetchReg32(pRegFrame, SrcRegGen, &val32);
    1623         val = val32;
    1624     }
    1625 
    1626     if (RT_SUCCESS(rc))
    1627         return emUpdateCRx(pVM, pVCpu, pRegFrame, DestRegCrx, val);
    1628 
    1629     return VERR_EM_INTERPRETER;
    1630 }
    1631 
    1632 
    16331600#ifdef LOG_ENABLED
    16341601static const char *emMSRtoString(uint32_t uMsr)
     
    17531720
    17541721/**
    1755  * Interpret CRx read.
    1756  *
    1757  * @returns VBox status code.
    1758  * @param   pVM         The cross context VM structure.
    1759  * @param   pVCpu       The cross context virtual CPU structure.
    1760  * @param   pRegFrame   The register frame.
    1761  * @param   DestRegGen  General purpose register index (USE_REG_E**))
    1762  * @param   SrcRegCrx   CRx register index (DISUSE_REG_CR*)
    1763  *
    1764  */
    1765 static int emInterpretCRxRead(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, uint32_t DestRegGen, uint32_t SrcRegCrx)
    1766 {
    1767     Assert(pRegFrame == CPUMGetGuestCtxCore(pVCpu));
    1768     uint64_t val64;
    1769     int rc = CPUMGetGuestCRx(pVCpu, SrcRegCrx, &val64);
    1770     AssertMsgRCReturn(rc, ("CPUMGetGuestCRx %d failed\n", SrcRegCrx), VERR_EM_INTERPRETER);
    1771     NOREF(pVM);
    1772 
    1773     if (CPUMIsGuestIn64BitCode(pVCpu))
    1774         rc = DISWriteReg64(pRegFrame, DestRegGen, val64);
    1775     else
    1776         rc = DISWriteReg32(pRegFrame, DestRegGen, val64);
    1777 
    1778     if (RT_SUCCESS(rc))
    1779     {
    1780         LogFlow(("MOV_CR: gen32=%d CR=%d val=%RX64\n", DestRegGen, SrcRegCrx, val64));
    1781         return VINF_SUCCESS;
    1782     }
    1783     return VERR_EM_INTERPRETER;
    1784 }
    1785 
    1786 
    1787 /**
    17881722 * Interpret DRx write.
    17891723 *
     
    34083342}
    34093343#endif
     3344
     3345
     3346/**
     3347 * Interpret CRx read.
     3348 *
     3349 * @returns VBox status code.
     3350 * @param   pVM         The cross context VM structure.
     3351 * @param   pVCpu       The cross context virtual CPU structure.
     3352 * @param   pRegFrame   The register frame.
     3353 * @param   DestRegGen  General purpose register index (USE_REG_E**))
     3354 * @param   SrcRegCrx   CRx register index (DISUSE_REG_CR*)
     3355 *
     3356 */
     3357static int emInterpretCRxRead(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, uint32_t DestRegGen, uint32_t SrcRegCrx)
     3358{
     3359    Assert(pRegFrame == CPUMGetGuestCtxCore(pVCpu));
     3360    uint64_t val64;
     3361    int rc = CPUMGetGuestCRx(pVCpu, SrcRegCrx, &val64);
     3362    AssertMsgRCReturn(rc, ("CPUMGetGuestCRx %d failed\n", SrcRegCrx), VERR_EM_INTERPRETER);
     3363    NOREF(pVM);
     3364
     3365    if (CPUMIsGuestIn64BitCode(pVCpu))
     3366        rc = DISWriteReg64(pRegFrame, DestRegGen, val64);
     3367    else
     3368        rc = DISWriteReg32(pRegFrame, DestRegGen, val64);
     3369
     3370    if (RT_SUCCESS(rc))
     3371    {
     3372        LogFlow(("MOV_CR: gen32=%d CR=%d val=%RX64\n", DestRegGen, SrcRegCrx, val64));
     3373        return VINF_SUCCESS;
     3374    }
     3375    return VERR_EM_INTERPRETER;
     3376}
     3377
     3378
     3379/**
     3380 * Interpret CRx write.
     3381 *
     3382 * @returns VBox status code.
     3383 * @param   pVM         The cross context VM structure.
     3384 * @param   pVCpu       The cross context virtual CPU structure.
     3385 * @param   pRegFrame   The register frame.
     3386 * @param   DestRegCrx  CRx register index (DISUSE_REG_CR*)
     3387 * @param   SrcRegGen   General purpose register index (USE_REG_E**))
     3388 *
     3389 */
     3390static int emInterpretCRxWrite(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, uint32_t DestRegCrx, uint32_t SrcRegGen)
     3391{
     3392    uint64_t val;
     3393    int      rc;
     3394    Assert(pRegFrame == CPUMGetGuestCtxCore(pVCpu));
     3395
     3396    if (CPUMIsGuestIn64BitCode(pVCpu))
     3397        rc = DISFetchReg64(pRegFrame, SrcRegGen, &val);
     3398    else
     3399    {
     3400        uint32_t val32;
     3401        rc = DISFetchReg32(pRegFrame, SrcRegGen, &val32);
     3402        val = val32;
     3403    }
     3404
     3405    if (RT_SUCCESS(rc))
     3406        return emUpdateCRx(pVM, pVCpu, pRegFrame, DestRegCrx, val);
     3407
     3408    return VERR_EM_INTERPRETER;
     3409}
     3410
    34103411
    34113412/**
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