Changeset 90348 in vbox for trunk/src/VBox/VMM/VMMAll
- Timestamp:
- Jul 26, 2021 9:01:38 PM (4 years ago)
- Location:
- trunk/src/VBox/VMM/VMMAll
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/PDMAllCritSect.cpp
r90346 r90348 146 146 * The wait loop. 147 147 */ 148 PSUPDRVSESSION pSession = p CritSect->s.CTX_SUFF(pVM)->pSession;148 PSUPDRVSESSION pSession = pVM->pSession; 149 149 SUPSEMEVENT hEvent = (SUPSEMEVENT)pCritSect->s.Core.EventSem; 150 150 # ifdef IN_RING3 … … 248 248 return VINF_SUCCESS; 249 249 250 Assert(pCritSect->s.CTX_SUFF(pVM) == pVM); RT_NOREF(pVM);251 250 RTNATIVETHREAD hNativeSelf = pdmCritSectGetNativeSelf(pVM, pCritSect); 252 251 /* ... not owned ... */ … … 460 459 return VINF_SUCCESS; 461 460 462 Assert(pCritSect->s.CTX_SUFF(pVM) == pVM);463 461 RTNATIVETHREAD hNativeSelf = pdmCritSectGetNativeSelf(pVM, pCritSect); 464 462 /* ... not owned ... */ … … 596 594 * Always check that the caller is the owner (screw performance). 597 595 */ 598 Assert(pCritSect->s.CTX_SUFF(pVM) == pVM); RT_NOREF(pVM);599 596 RTNATIVETHREAD const hNativeSelf = pdmCritSectGetNativeSelf(pVM, pCritSect); 600 597 AssertReleaseMsgReturn(pCritSect->s.Core.NativeThreadOwner == hNativeSelf, -
trunk/src/VBox/VMM/VMMAll/PDMAllCritSectRw.cpp
r90347 r90348 127 127 * Go back to ring-3 so the kernel can do signals, APCs and other fun things. 128 128 * 129 * @param p This Pointer to the read/write critical section.130 */ 131 static void pdmR0CritSectRwYieldToRing3(P PDMCRITSECTRW pThis)132 { 133 PVMC C pVM = pThis->s.CTX_SUFF(pVM); AssertPtr(pVM);134 PVMCPUCC pVCpu = VMMGetCpu(pVM); AssertPtr(pVCpu);129 * @param pVM The cross context VM structure. 130 */ 131 static void pdmR0CritSectRwYieldToRing3(PVMCC pVM) 132 { 133 PVMCPUCC pVCpu = VMMGetCpu(pVM); 134 AssertPtrReturnVoid(pVCpu); 135 135 int rc = VMMRZCallRing3(pVM, pVCpu, VMMCALLRING3_VM_R0_PREEMPT, NULL); 136 136 AssertRC(rc); … … 158 158 AssertPtr(pThis); 159 159 AssertReturn(pThis->s.Core.u32Magic == RTCRITSECTRW_MAGIC, VERR_SEM_DESTROYED); 160 Assert(pThis->s.CTX_SUFF(pVM) == pVM);161 160 162 161 #if !defined(PDMCRITSECTRW_STRICT) || !defined(IN_RING3) … … 302 301 break; 303 302 # ifdef IN_RING0 304 pdmR0CritSectRwYieldToRing3(p This);303 pdmR0CritSectRwYieldToRing3(pVM); 305 304 # endif 306 305 } … … 567 566 AssertPtr(pThis); 568 567 AssertReturn(pThis->s.Core.u32Magic == RTCRITSECTRW_MAGIC, VERR_SEM_DESTROYED); 569 Assert(pThis->s.CTX_SUFF(pVM) == pVM);570 568 571 569 #if !defined(PDMCRITSECTRW_STRICT) || !defined(IN_RING3) … … 721 719 AssertPtr(pThis); 722 720 AssertReturn(pThis->s.Core.u32Magic == RTCRITSECTRW_MAGIC, VERR_SEM_DESTROYED); 723 Assert(pThis->s.CTX_SUFF(pVM) == pVM);724 721 725 722 #if !defined(PDMCRITSECTRW_STRICT) || !defined(IN_RING3) … … 873 870 break; 874 871 # ifdef IN_RING0 875 pdmR0CritSectRwYieldToRing3(p This);872 pdmR0CritSectRwYieldToRing3(pVM); 876 873 # endif 877 874 } … … 1122 1119 AssertPtr(pThis); 1123 1120 AssertReturn(pThis->s.Core.u32Magic == RTCRITSECTRW_MAGIC, VERR_SEM_DESTROYED); 1124 Assert(pThis->s.CTX_SUFF(pVM) == pVM);1125 1121 1126 1122 #if !defined(PDMCRITSECTRW_STRICT) || !defined(IN_RING3)
Note:
See TracChangeset
for help on using the changeset viewer.