VirtualBox

Changeset 15424 in vbox for trunk/src/VBox/VMM


Ignore:
Timestamp:
Dec 13, 2008 8:56:44 AM (16 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
40873
Message:

PGM: pgmR0DynMapHCPageInlined won't fail.

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

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/PGMInternal.h

    r15411 r15424  
    18211821
    18221822#if defined(IN_RC) || defined(VBOX_WITH_2X_4GB_ADDR_SPACE_IN_R0)
    1823 DECLINLINE(void *) pgmPoolMapPageInlined(PVM pVM, PPGMPOOLPAGE pPage, int iLine, const char *pszFile);
     1823DECLINLINE(void *) pgmPoolMapPageInlined(PVM pVM, PPGMPOOLPAGE pPage);
    18241824#endif
    18251825
     
    18361836 */
    18371837#if defined(IN_RC)
    1838 # define PGMPOOL_PAGE_2_PTR(pVM, pPage)  pgmPoolMapPageInlined(&(pVM)->pgm.s, (pPage), __LINE__, 0)
     1838# define PGMPOOL_PAGE_2_PTR(pVM, pPage)  pgmPoolMapPageInlined(&(pVM)->pgm.s, (pPage))
    18391839#elif defined(VBOX_WITH_2X_4GB_ADDR_SPACE_IN_R0)
    1840 # define PGMPOOL_PAGE_2_PTR(pVM, pPage)  pgmPoolMapPageInlined(&(pVM)->pgm.s, (pPage), __LINE__, __PRETTY_FUNCTION__)
     1840# define PGMPOOL_PAGE_2_PTR(pVM, pPage)  pgmPoolMapPageInlined(&(pVM)->pgm.s, (pPage))
    18411841#elif defined(VBOX_STRICT)
    18421842# define PGMPOOL_PAGE_2_PTR(pVM, pPage)  pgmPoolMapPageStrict(pPage)
     
    18621862 */
    18631863#if defined(IN_RC)
    1864 # define PGMPOOL_PAGE_2_PTR_BY_PGM(pPGM, pPage)  pgmPoolMapPageInlined((pPGM), (pPage), __LINE__, 0)
     1864# define PGMPOOL_PAGE_2_PTR_BY_PGM(pPGM, pPage)  pgmPoolMapPageInlined((pPGM), (pPage))
    18651865#elif defined(VBOX_WITH_2X_4GB_ADDR_SPACE_IN_R0)
    1866 # define PGMPOOL_PAGE_2_PTR_BY_PGM(pPGM, pPage)  pgmPoolMapPageInlined((pPGM), (pPage), __LINE__, __PRETTY_FUNCTION__)
     1866# define PGMPOOL_PAGE_2_PTR_BY_PGM(pPGM, pPage)  pgmPoolMapPageInlined((pPGM), (pPage))
    18671867#else
    18681868# define PGMPOOL_PAGE_2_PTR_BY_PGM(pPGM, pPage)  PGMPOOL_PAGE_2_PTR(PGM2VM(pPGM), pPage)
     
    32743274 * optimizes access to pages already in the set.
    32753275 *
    3276  * @returns See pgmR0DynMapHCPageCommon.
     3276 * @returns VINF_SUCCESS. Will bail out to ring-3 on failure.
    32773277 * @param   pPGM        Pointer to the PVM instance data.
    32783278 * @param   HCPhys      The physical address of the page.
     
    32853285    Assert(!(HCPhys & PAGE_OFFSET_MASK));
    32863286    Assert(pSet->cEntries <= RT_ELEMENTS(pSet->aEntries));
    3287     int         rc;
    32883287
    32893288    unsigned    iHash   = PGMMAPSET_HASH(HCPhys);
     
    32943293        *ppv = pSet->aEntries[iEntry].pvPage;
    32953294        STAM_COUNTER_INC(&pPGM->StatR0DynMapHCPageInlHits);
    3296         rc = VINF_SUCCESS;
    32973295    }
    32983296    else
    32993297    {
    33003298        STAM_COUNTER_INC(&pPGM->StatR0DynMapHCPageInlMisses);
    3301         rc = pgmR0DynMapHCPageCommon(PGM2VM(pPGM), pSet, HCPhys, ppv);
     3299        pgmR0DynMapHCPageCommon(PGM2VM(pPGM), pSet, HCPhys, ppv);
    33023300    }
    33033301
    33043302    STAM_PROFILE_STOP(&pPGM->StatR0DynMapHCPageInl, a);
    3305     return rc;
     3303    return VINF_SUCCESS;
    33063304}
    33073305
     
    33113309 * access to pages already in the set.
    33123310 *
    3313  * @returns See pgmR0DynMapHCPageCommon.
     3311 * @returns See PGMDynMapGCPage.
    33143312 * @param   pPGM        Pointer to the PVM instance data.
    33153313 * @param   HCPhys      The physical address of the page.
     
    33433341    Assert(!(HCPhys & PAGE_OFFSET_MASK));
    33443342    Assert(pSet->cEntries <= RT_ELEMENTS(pSet->aEntries));
    3345     int         rc;
    33463343
    33473344    unsigned    iHash   = PGMMAPSET_HASH(HCPhys);
     
    33523349        *ppv = pSet->aEntries[iEntry].pvPage;
    33533350        STAM_COUNTER_INC(&pPGM->StatR0DynMapGCPageInlHits);
    3354         rc = VINF_SUCCESS;
    33553351    }
    33563352    else
    33573353    {
    33583354        STAM_COUNTER_INC(&pPGM->StatR0DynMapGCPageInlMisses);
    3359         rc = pgmR0DynMapHCPageCommon(PGM2VM(pPGM), pSet, HCPhys, ppv);
     3355        pgmR0DynMapHCPageCommon(PGM2VM(pPGM), pSet, HCPhys, ppv);
    33603356    }
    33613357
    33623358    STAM_PROFILE_STOP(&pPGM->StatR0DynMapGCPageInl, a);
    3363     return rc;
     3359    return VINF_SUCCESS;
    33643360}
    33653361
     
    46314627 * @param   pPage       The page.
    46324628 */
    4633 DECLINLINE(void *) pgmPoolMapPageInlined(PPGM pPGM, PPGMPOOLPAGE pPage, int iLine, const char *pszFile)
     4629DECLINLINE(void *) pgmPoolMapPageInlined(PPGM pPGM, PPGMPOOLPAGE pPage)
    46344630{
    46354631    if (pPage->idx >= PGMPOOL_IDX_FIRST)
     
    46384634        void *pv;
    46394635# ifdef VBOX_WITH_2X_4GB_ADDR_SPACE_IN_R0
    4640         int rc = pgmR0DynMapHCPageInlined(pPGM, pPage->Core.Key, &pv);
     4636        pgmR0DynMapHCPageInlined(pPGM, pPage->Core.Key, &pv);
    46414637# else
    46424638        int rc = PGMDynMapHCPage(PGM2VM(pPGM), pPage->Core.Key, &pv);
     4639        if (RT_SUCCESS(rc))
    46434640# endif
    4644         if (RT_SUCCESS(rc))
    46454641            return pv;
    4646         AssertMsgFailed(("%Rrc: %s(%d)\n", rc, pszFile, iLine));
    46474642    }
    46484643    return pgmPoolMapPageFallback(pPGM, pPage);
  • trunk/src/VBox/VMM/VMMAll/PGMAllPool.cpp

    r15411 r15424  
    159159
    160160    void *pv;
    161     int rc = pgmR0DynMapHCPageInlined(pPGM, HCPhys, &pv);
    162     AssertReleaseRCReturn(rc, NULL);
     161    pgmR0DynMapHCPageInlined(pPGM, HCPhys, &pv);
    163162    return pv;
    164163# endif /* VBOX_WITH_2X_4GB_ADDR_SPACE_IN_R0 */
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