VirtualBox

Changeset 73277 in vbox for trunk/src


Ignore:
Timestamp:
Jul 20, 2018 6:30:34 PM (7 years ago)
Author:
vboxsync
Message:

PGM: Eliminated the unused VERR_PGM_POOL_FLUSHED and VERR_PGM_POOL_CLEARED status codes. Found checking out PGMHCChangeMode. bugref:9044

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

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMAll/PGMAllBth.h

    r73275 r73277  
    142142                          NIL_PGMPOOL_IDX, UINT32_MAX, false /*fLockPage*/,
    143143                          &pNewShwPageCR3);
    144     if (rc == VERR_PGM_POOL_FLUSHED) /** @todo r=bird: VERR_PGM_POOL_FLUSHED won't be returned */
    145     {
    146         Log(("Bth-Enter: PGM pool flushed -> signal sync cr3\n"));
    147         Assert(VMCPU_FF_IS_SET(pVCpu, VMCPU_FF_PGM_SYNC_CR3));
    148         pgmUnlock(pVM);
    149         return VINF_PGM_SYNC_CR3;
    150     }
    151144    AssertRCReturn(rc, rc);
    152145
     
    29522945            return VINF_SUCCESS;
    29532946        }
    2954         else if (rc == VERR_PGM_POOL_FLUSHED) /** @todo r=bird: VERR_PGM_POOL_FLUSHED won't be returned */
    2955         {
    2956             VMCPU_FF_SET(pVCpu, VMCPU_FF_PGM_SYNC_CR3);
    2957             PGM_DYNMAP_UNUSED_HINT(pVCpu, pPdeDst);
    2958             return VINF_PGM_SYNC_CR3;
    2959         }
    29602947        else
    29612948            AssertMsgFailedReturn(("rc=%Rrc\n", rc), RT_FAILURE_NP(rc) ? rc : VERR_IPE_UNEXPECTED_INFO_STATUS);
  • trunk/src/VBox/VMM/VMMAll/PGMAllPool.cpp

    r73275 r73277  
    9393 * Flushes a chain of pages sharing the same access monitor.
    9494 *
    95  * @returns VBox status code suitable for scheduling.
    9695 * @param   pPool       The pool.
    9796 * @param   pPage       A page in the chain.
    98  * @todo VBOXSTRICTRC
    99  */
    100 int pgmPoolMonitorChainFlush(PPGMPOOL pPool, PPGMPOOLPAGE pPage)
     97 */
     98void pgmPoolMonitorChainFlush(PPGMPOOL pPool, PPGMPOOLPAGE pPage)
    10199{
    102100    LogFlow(("pgmPoolMonitorChainFlush: Flush page %RGp type=%d\n", pPage->GCPhys, pPage->enmKind));
     
    119117     * Iterate the list flushing each shadow page.
    120118     */
    121     int rc = VINF_SUCCESS;
    122119    for (;;)
    123120    {
     
    134131        pPage = &pPool->aPages[idx];
    135132    }
    136     return rc;
    137133}
    138134
     
    868864     * First, do the flushing.
    869865     */
    870     int rc = pgmPoolMonitorChainFlush(pPool, pPage);
     866    pgmPoolMonitorChainFlush(pPool, pPage);
    871867
    872868    /*
     
    874870     * Must do this in raw mode (!); XP boot will fail otherwise.
    875871     */
     872    int rc = VINF_SUCCESS;
    876873    VBOXSTRICTRC rc2 = EMInterpretInstructionDisasState(pVCpu, pDis, pRegFrame, pvFault, EMCODETYPE_ALL);
    877874    if (rc2 == VINF_SUCCESS)
     
    879876    else if (rc2 == VINF_EM_RESCHEDULE)
    880877    {
    881         if (rc == VINF_SUCCESS)
    882             rc = VBOXSTRICTRC_VAL(rc2);
     878        rc = VBOXSTRICTRC_VAL(rc2);
    883879# ifndef IN_RING3
    884880        VMCPU_FF_SET(pVCpu, VMCPU_FF_TO_R3);
     
    14861482        }
    14871483        else
    1488         {
    1489             /* ASSUME that VERR_PGM_POOL_CLEARED can be ignored here and that FFs will deal with it in due time. */
    14901484            pgmPoolMonitorChainFlush(pPool, pPage);
    1491         }
    14921485
    14931486        STAM_PROFILE_STOP_EX(&pPool->CTX_SUFF_Z(StatMonitor), &pPool->CTX_MID_Z(StatMonitor,FlushPage), a);
     
    29202913 * @returns VBox status code.
    29212914 * @retval  VINF_SUCCESS if successfully added.
    2922  * @retval  <del>VERR_PGM_POOL_FLUSHED</del> if the pool was flushed - this is
    2923  *          not returned anywhere anymore.
     2915 *
    29242916 * @param   pPool       The pool.
    29252917 * @param   iUser       The user index.
     
    29512943 * @returns VBox status code.
    29522944 * @retval  VINF_SUCCESS if successfully added.
    2953  * @retval  <del>VERR_PGM_POOL_FLUSHED</del> if the pool was flushed - this is
    2954  *          not returned anywhere anymore.
    29552945 *
    29562946 * @param   pPool       The pool.
     
    30413031 * @returns VBox status code.
    30423032 * @retval  VINF_SUCCESS if successfully added.
    3043  * @retval  <del>VERR_PGM_POOL_FLUSHED</del> if the pool was flushed - this is
    3044  *          not returned anywhere anymore.
    30453033 *
    30463034 * @param   pPool       The pool.
     
    51045092 * @returns VBox status code.
    51055093 * @retval  VINF_SUCCESS on success.
    5106  * @retval  <del>VERR_PGM_POOL_FLUSHED</del> if the pool was flushed - this is
    5107  *          not returned anywhere anymore.
    51085094 *
    51095095 * @param   pPool       The pool.
     
    51575143 * @retval  VINF_SUCCESS if a NEW page was allocated.
    51585144 * @retval  VINF_PGM_CACHED_PAGE if a CACHED page was returned.
    5159  * @retval  <del>VERR_PGM_POOL_FLUSHED</del> if the pool was flushed - this is
    5160  *          not returned anywhere anymore.
    51615145 *
    51625146 * @param   pVM         The cross context VM structure.
  • trunk/src/VBox/VMM/include/PGMInternal.h

    r73268 r73277  
    42894289uint16_t        pgmPoolTrackPhysExtAddref(PVM pVM, PPGMPAGE pPhysPage, uint16_t u16, uint16_t iShwPT, uint16_t iPte);
    42904290void            pgmPoolTrackPhysExtDerefGCPhys(PPGMPOOL pPool, PPGMPOOLPAGE pPoolPage, PPGMPAGE pPhysPage, uint16_t iPte);
    4291 int             pgmPoolMonitorChainFlush(PPGMPOOL pPool, PPGMPOOLPAGE pPage);
     4291void            pgmPoolMonitorChainFlush(PPGMPOOL pPool, PPGMPOOLPAGE pPage);
    42924292void            pgmPoolMonitorModifiedInsert(PPGMPOOL pPool, PPGMPOOLPAGE pPage);
    42934293PGM_ALL_CB2_PROTO(FNPGMPHYSHANDLER) pgmPoolAccessHandler;
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