Changeset 73277 in vbox for trunk/src/VBox/VMM/VMMAll/PGMAllPool.cpp
- Timestamp:
- Jul 20, 2018 6:30:34 PM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/PGMAllPool.cpp
r73275 r73277 93 93 * Flushes a chain of pages sharing the same access monitor. 94 94 * 95 * @returns VBox status code suitable for scheduling.96 95 * @param pPool The pool. 97 96 * @param pPage A page in the chain. 98 * @todo VBOXSTRICTRC 99 */ 100 int pgmPoolMonitorChainFlush(PPGMPOOL pPool, PPGMPOOLPAGE pPage) 97 */ 98 void pgmPoolMonitorChainFlush(PPGMPOOL pPool, PPGMPOOLPAGE pPage) 101 99 { 102 100 LogFlow(("pgmPoolMonitorChainFlush: Flush page %RGp type=%d\n", pPage->GCPhys, pPage->enmKind)); … … 119 117 * Iterate the list flushing each shadow page. 120 118 */ 121 int rc = VINF_SUCCESS;122 119 for (;;) 123 120 { … … 134 131 pPage = &pPool->aPages[idx]; 135 132 } 136 return rc;137 133 } 138 134 … … 868 864 * First, do the flushing. 869 865 */ 870 int rc =pgmPoolMonitorChainFlush(pPool, pPage);866 pgmPoolMonitorChainFlush(pPool, pPage); 871 867 872 868 /* … … 874 870 * Must do this in raw mode (!); XP boot will fail otherwise. 875 871 */ 872 int rc = VINF_SUCCESS; 876 873 VBOXSTRICTRC rc2 = EMInterpretInstructionDisasState(pVCpu, pDis, pRegFrame, pvFault, EMCODETYPE_ALL); 877 874 if (rc2 == VINF_SUCCESS) … … 879 876 else if (rc2 == VINF_EM_RESCHEDULE) 880 877 { 881 if (rc == VINF_SUCCESS) 882 rc = VBOXSTRICTRC_VAL(rc2); 878 rc = VBOXSTRICTRC_VAL(rc2); 883 879 # ifndef IN_RING3 884 880 VMCPU_FF_SET(pVCpu, VMCPU_FF_TO_R3); … … 1486 1482 } 1487 1483 else 1488 {1489 /* ASSUME that VERR_PGM_POOL_CLEARED can be ignored here and that FFs will deal with it in due time. */1490 1484 pgmPoolMonitorChainFlush(pPool, pPage); 1491 }1492 1485 1493 1486 STAM_PROFILE_STOP_EX(&pPool->CTX_SUFF_Z(StatMonitor), &pPool->CTX_MID_Z(StatMonitor,FlushPage), a); … … 2920 2913 * @returns VBox status code. 2921 2914 * @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 * 2924 2916 * @param pPool The pool. 2925 2917 * @param iUser The user index. … … 2951 2943 * @returns VBox status code. 2952 2944 * @retval VINF_SUCCESS if successfully added. 2953 * @retval <del>VERR_PGM_POOL_FLUSHED</del> if the pool was flushed - this is2954 * not returned anywhere anymore.2955 2945 * 2956 2946 * @param pPool The pool. … … 3041 3031 * @returns VBox status code. 3042 3032 * @retval VINF_SUCCESS if successfully added. 3043 * @retval <del>VERR_PGM_POOL_FLUSHED</del> if the pool was flushed - this is3044 * not returned anywhere anymore.3045 3033 * 3046 3034 * @param pPool The pool. … … 5104 5092 * @returns VBox status code. 5105 5093 * @retval VINF_SUCCESS on success. 5106 * @retval <del>VERR_PGM_POOL_FLUSHED</del> if the pool was flushed - this is5107 * not returned anywhere anymore.5108 5094 * 5109 5095 * @param pPool The pool. … … 5157 5143 * @retval VINF_SUCCESS if a NEW page was allocated. 5158 5144 * @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 is5160 * not returned anywhere anymore.5161 5145 * 5162 5146 * @param pVM The cross context VM structure.
Note:
See TracChangeset
for help on using the changeset viewer.