Changeset 15424 in vbox for trunk/src/VBox/VMM
- Timestamp:
- Dec 13, 2008 8:56:44 AM (16 years ago)
- svn:sync-xref-src-repo-rev:
- 40873
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/PGMInternal.h
r15411 r15424 1821 1821 1822 1822 #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);1823 DECLINLINE(void *) pgmPoolMapPageInlined(PVM pVM, PPGMPOOLPAGE pPage); 1824 1824 #endif 1825 1825 … … 1836 1836 */ 1837 1837 #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)) 1839 1839 #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)) 1841 1841 #elif defined(VBOX_STRICT) 1842 1842 # define PGMPOOL_PAGE_2_PTR(pVM, pPage) pgmPoolMapPageStrict(pPage) … … 1862 1862 */ 1863 1863 #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)) 1865 1865 #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)) 1867 1867 #else 1868 1868 # define PGMPOOL_PAGE_2_PTR_BY_PGM(pPGM, pPage) PGMPOOL_PAGE_2_PTR(PGM2VM(pPGM), pPage) … … 3274 3274 * optimizes access to pages already in the set. 3275 3275 * 3276 * @returns See pgmR0DynMapHCPageCommon.3276 * @returns VINF_SUCCESS. Will bail out to ring-3 on failure. 3277 3277 * @param pPGM Pointer to the PVM instance data. 3278 3278 * @param HCPhys The physical address of the page. … … 3285 3285 Assert(!(HCPhys & PAGE_OFFSET_MASK)); 3286 3286 Assert(pSet->cEntries <= RT_ELEMENTS(pSet->aEntries)); 3287 int rc;3288 3287 3289 3288 unsigned iHash = PGMMAPSET_HASH(HCPhys); … … 3294 3293 *ppv = pSet->aEntries[iEntry].pvPage; 3295 3294 STAM_COUNTER_INC(&pPGM->StatR0DynMapHCPageInlHits); 3296 rc = VINF_SUCCESS;3297 3295 } 3298 3296 else 3299 3297 { 3300 3298 STAM_COUNTER_INC(&pPGM->StatR0DynMapHCPageInlMisses); 3301 rc =pgmR0DynMapHCPageCommon(PGM2VM(pPGM), pSet, HCPhys, ppv);3299 pgmR0DynMapHCPageCommon(PGM2VM(pPGM), pSet, HCPhys, ppv); 3302 3300 } 3303 3301 3304 3302 STAM_PROFILE_STOP(&pPGM->StatR0DynMapHCPageInl, a); 3305 return rc;3303 return VINF_SUCCESS; 3306 3304 } 3307 3305 … … 3311 3309 * access to pages already in the set. 3312 3310 * 3313 * @returns See pgmR0DynMapHCPageCommon.3311 * @returns See PGMDynMapGCPage. 3314 3312 * @param pPGM Pointer to the PVM instance data. 3315 3313 * @param HCPhys The physical address of the page. … … 3343 3341 Assert(!(HCPhys & PAGE_OFFSET_MASK)); 3344 3342 Assert(pSet->cEntries <= RT_ELEMENTS(pSet->aEntries)); 3345 int rc;3346 3343 3347 3344 unsigned iHash = PGMMAPSET_HASH(HCPhys); … … 3352 3349 *ppv = pSet->aEntries[iEntry].pvPage; 3353 3350 STAM_COUNTER_INC(&pPGM->StatR0DynMapGCPageInlHits); 3354 rc = VINF_SUCCESS;3355 3351 } 3356 3352 else 3357 3353 { 3358 3354 STAM_COUNTER_INC(&pPGM->StatR0DynMapGCPageInlMisses); 3359 rc =pgmR0DynMapHCPageCommon(PGM2VM(pPGM), pSet, HCPhys, ppv);3355 pgmR0DynMapHCPageCommon(PGM2VM(pPGM), pSet, HCPhys, ppv); 3360 3356 } 3361 3357 3362 3358 STAM_PROFILE_STOP(&pPGM->StatR0DynMapGCPageInl, a); 3363 return rc;3359 return VINF_SUCCESS; 3364 3360 } 3365 3361 … … 4631 4627 * @param pPage The page. 4632 4628 */ 4633 DECLINLINE(void *) pgmPoolMapPageInlined(PPGM pPGM, PPGMPOOLPAGE pPage , int iLine, const char *pszFile)4629 DECLINLINE(void *) pgmPoolMapPageInlined(PPGM pPGM, PPGMPOOLPAGE pPage) 4634 4630 { 4635 4631 if (pPage->idx >= PGMPOOL_IDX_FIRST) … … 4638 4634 void *pv; 4639 4635 # 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); 4641 4637 # else 4642 4638 int rc = PGMDynMapHCPage(PGM2VM(pPGM), pPage->Core.Key, &pv); 4639 if (RT_SUCCESS(rc)) 4643 4640 # endif 4644 if (RT_SUCCESS(rc))4645 4641 return pv; 4646 AssertMsgFailed(("%Rrc: %s(%d)\n", rc, pszFile, iLine));4647 4642 } 4648 4643 return pgmPoolMapPageFallback(pPGM, pPage); -
trunk/src/VBox/VMM/VMMAll/PGMAllPool.cpp
r15411 r15424 159 159 160 160 void *pv; 161 int rc = pgmR0DynMapHCPageInlined(pPGM, HCPhys, &pv); 162 AssertReleaseRCReturn(rc, NULL); 161 pgmR0DynMapHCPageInlined(pPGM, HCPhys, &pv); 163 162 return pv; 164 163 # endif /* VBOX_WITH_2X_4GB_ADDR_SPACE_IN_R0 */
Note:
See TracChangeset
for help on using the changeset viewer.