Changeset 91820 in vbox
- Timestamp:
- Oct 18, 2021 9:59:23 AM (3 years ago)
- Location:
- trunk/src/VBox/VMM/VMMR0
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/PGMR0Pool.cpp
r91243 r91820 140 140 141 141 /** 142 * Move this back to PGMR0PoolGrow when VMM_R0_SWITCH_STACK is gonne. 143 */ 144 #ifndef VMM_R0_SWITCH_STACK 145 static int pgmR0PoolGrowOnKrnlStk(PGVM pGVM, PGVMCPU pGVCpu, PPGMPOOL pPool) 146 #else 147 DECLASM(int) pgmR0PoolGrowOnKrnlStk(PGVM pGVM, PGVMCPU pGVCpu); 148 DECLASM(int) StkBack_pgmR0PoolGrowOnKrnlStk(PGVM pGVM, PGVMCPU pGVCpu, PPGMPOOL pPool) 149 #endif 150 { 151 /* 152 * Enter the grow critical section and call worker. 153 */ 154 STAM_REL_PROFILE_START(&pPool->StatGrow, a); 155 156 VMMR0EMTBLOCKCTX Ctx; 157 int rc = VMMR0EmtPrepareToBlock(pGVCpu, VINF_SUCCESS, __FUNCTION__, &pGVM->pgmr0.s.PoolGrowCritSect, &Ctx); 158 AssertRCReturn(rc, rc); 159 160 rc = RTCritSectEnter(&pGVM->pgmr0.s.PoolGrowCritSect); 161 AssertRCReturn(rc, rc); 162 163 rc = pgmR0PoolGrowInner(pGVM, pPool); 164 165 STAM_REL_PROFILE_STOP(&pPool->StatGrow, a); 166 RTCritSectLeave(&pGVM->pgmr0.s.PoolGrowCritSect); 167 168 VMMR0EmtResumeAfterBlocking(pGVCpu, &Ctx); 169 return rc; 170 } 171 172 173 /** 142 174 * Grows the shadow page pool. 143 175 * … … 162 194 PGVMCPU const pGVCpu = &pGVM->aCpus[idCpu]; 163 195 164 /* 165 * Enter the grow critical section and call worker. 166 */ 167 STAM_REL_PROFILE_START(&pPool->StatGrow, a); 168 169 VMMR0EMTBLOCKCTX Ctx; 170 int rc = VMMR0EmtPrepareToBlock(pGVCpu, VINF_SUCCESS, __FUNCTION__, &pGVM->pgmr0.s.PoolGrowCritSect, &Ctx); 171 AssertRCReturn(rc, rc); 172 173 rc = RTCritSectEnter(&pGVM->pgmr0.s.PoolGrowCritSect); 174 AssertRCReturn(rc, rc); 175 176 rc = pgmR0PoolGrowInner(pGVM, pPool); 177 178 STAM_REL_PROFILE_STOP(&pPool->StatGrow, a); 179 RTCritSectLeave(&pGVM->pgmr0.s.PoolGrowCritSect); 180 181 VMMR0EmtResumeAfterBlocking(pGVCpu, &Ctx); 182 183 return rc; 196 return pgmR0PoolGrowOnKrnlStk(pGVM, pGVCpu, pPool); 184 197 } 185 198 -
trunk/src/VBox/VMM/VMMR0/VMMR0StackBack-darwin.asm
r91812 r91820 31 31 SUPR0StackWrapperGeneric pdmCritSectRwEnterExcl, 6 32 32 SUPR0StackWrapperGeneric pdmCritSectRwLeaveExclWorker, 6 33 SUPR0StackWrapperGeneric pgmR0PoolGrowOnKrnlStk, 3 33 34
Note:
See TracChangeset
for help on using the changeset viewer.