Changeset 20981 in vbox for trunk/src/VBox/VMM/VMMR0/HWACCMR0.cpp
- Timestamp:
- Jun 26, 2009 3:03:24 PM (16 years ago)
- svn:sync-xref-src-repo-rev:
- 49189
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/HWACCMR0.cpp
r20979 r20981 851 851 PVMCPU pVCpu = &pVM->aCpus[i]; 852 852 853 pVCpu->hwaccm.s.idEnteredCpu = NIL_RTCPUID; 854 853 855 /* Invalidate the last cpu we were running on. */ 854 856 pVCpu->hwaccm.s.idLastCpu = NIL_RTCPUID; … … 961 963 /* Make sure we can't enter a session after we've disabled hwaccm in preparation of a suspend. */ 962 964 AssertReturn(!ASMAtomicReadBool(&HWACCMR0Globals.fSuspended), VERR_HWACCM_SUSPEND_PENDING); 963 Assert(pVCpu->idHostCpu == NIL_RTCPUID);964 965 965 ASMAtomicWriteBool(&pCpu->fInUse, true); 966 ASMAtomicWriteU32(&pVCpu->idHostCpu, idCpu); 966 967 AssertMsg(pVCpu->hwaccm.s.idEnteredCpu == NIL_RTCPUID, ("%d", (int)pVCpu->hwaccm.s.idEnteredCpu)); 968 pVCpu->hwaccm.s.idEnteredCpu = idCpu; 967 969 968 970 pCtx = CPUMQueryGuestCtxPtr(pVCpu); … … 998 1000 #endif 999 1001 } 1002 else 1003 pVCpu->hwaccm.s.idEnteredCpu = NIL_RTCPUID; 1000 1004 return rc; 1001 1005 } … … 1038 1042 /* keep track of the CPU owning the VMCS for debugging scheduling weirdness and ring-3 calls. */ 1039 1043 #ifdef RT_STRICT 1040 if (RT_UNLIKELY( pVCpu-> idHostCpu != idCpu1044 if (RT_UNLIKELY( pVCpu->hwaccm.s.idEnteredCpu != idCpu 1041 1045 && RT_FAILURE(rc))) 1042 1046 { 1043 AssertMsgFailed(("Owner is %d, I'm %d", (int)pVCpu-> idHostCpu, (int)idCpu));1047 AssertMsgFailed(("Owner is %d, I'm %d", (int)pVCpu->hwaccm.s.idEnteredCpu, (int)idCpu)); 1044 1048 rc = VERR_INTERNAL_ERROR; 1045 1049 } 1046 1050 #endif 1051 pVCpu->hwaccm.s.idEnteredCpu = NIL_RTCPUID; 1047 1052 1048 1053 ASMAtomicWriteBool(&pCpu->fInUse, false); … … 1195 1200 PVMCPU pVCpu = &pVM->aCpus[idCpu]; 1196 1201 1197 if (pVCpu-> idHostCpu == idHostCpu)1202 if (pVCpu->hwaccm.s.idEnteredCpu == idHostCpu) 1198 1203 return pVCpu; 1199 1204 }
Note:
See TracChangeset
for help on using the changeset viewer.