- Timestamp:
- Jul 29, 2013 12:51:12 PM (11 years ago)
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/GVMMR0.cpp
r46326 r47456 868 868 } 869 869 870 rc = RTR0MemObjMapUser(&pGVM->gvmm.s.VMPagesMapObj, pGVM->gvmm.s.VMPagesMemObj, (RTR3PTR)-1, 0, 871 RTMEM_PROT_READ | RTMEM_PROT_WRITE, NIL_RTR0PROCESS); 870 rc = RTR0MemObjMapUser(&pGVM->gvmm.s.VMPagesMapObj, pGVM->gvmm.s.VMPagesMemObj, (RTR3PTR)-1, 871 0 /* uAlignment */, RTMEM_PROT_READ | RTMEM_PROT_WRITE, 872 NIL_RTR0PROCESS); 872 873 if (RT_SUCCESS(rc)) 873 874 { … … 888 889 pGVMM->cEMTs += cCpus; 889 890 890 VBOXVMM_R0_GVMM_VM_CREATED(pGVM, pVM, ProcId, (void *)hEMT0, cCpus); 891 892 gvmmR0UsedUnlock(pGVMM); 893 gvmmR0CreateDestroyUnlock(pGVMM); 894 895 *ppVM = pVM; 896 Log(("GVMMR0CreateVM: pVM=%p pVMR3=%p pGVM=%p hGVM=%d\n", pVM, pVM->pVMR3, pGVM, iHandle)); 897 return VINF_SUCCESS; 891 rc = VMMR0ThreadCtxHooksCreate(&pVM->aCpus[0]); 892 if (RT_SUCCESS(rc)) 893 { 894 VBOXVMM_R0_GVMM_VM_CREATED(pGVM, pVM, ProcId, (void *)hEMT0, cCpus); 895 896 gvmmR0UsedUnlock(pGVMM); 897 gvmmR0CreateDestroyUnlock(pGVMM); 898 899 *ppVM = pVM; 900 Log(("GVMMR0CreateVM: pVM=%p pVMR3=%p pGVM=%p hGVM=%d\n", pVM, pVM->pVMR3, pGVM, iHandle)); 901 return VINF_SUCCESS; 902 } 898 903 } 899 904 … … 1098 1103 AssertRC(rc); 1099 1104 1100 /* be careful here because we might theoretically be racing someone else cleaning up. */1105 /* Be careful here because we might theoretically be racing someone else cleaning up. */ 1101 1106 if ( pHandle->pVM == pVM 1102 1107 && ( ( pHandle->hEMT0 == hSelf … … 1111 1116 pHandle->pvObj = NULL; 1112 1117 gvmmR0CreateDestroyUnlock(pGVMM); 1118 1119 for (VMCPUID idCpu = 0; idCpu < pVM->cCpus; idCpu++) 1120 VMMR0ThreadCtxHooksRelease(&pVM->aCpus[idCpu]); 1113 1121 1114 1122 SUPR0ObjRelease(pvObj, pHandle->pSession); … … 1337 1345 pVM->aCpus[idCpu].hNativeThreadR0 = pGVM->aCpus[idCpu].hEMT = RTThreadNativeSelf(); 1338 1346 1339 return VINF_SUCCESS; 1347 rc = VMMR0ThreadCtxHooksCreate(&pVM->aCpus[idCpu]); 1348 return rc; 1340 1349 } 1341 1350 -
trunk/src/VBox/VMM/include/VMMInternal.h
r46861 r47456 418 418 R0PTRTYPE(PVMMR0LOGGER) pR0LoggerR0; 419 419 420 /** @name Thread-context hooks. 421 * @{*/ 422 RTTHREADCTX hR0ThreadCtx; 423 /** @} */ 424 420 425 /** @name Rendezvous 421 426 * @{ */ -
trunk/src/VBox/VMM/include/VMMInternal.mac
r45097 r47456 108 108 .pR0LoggerR0 RTR0PTR_RES 1 109 109 110 .hR0ThreadCtx RTR0PTR_RES 1 111 110 112 .fInRendezvous resb 1 111 113 %if HC_ARCH_BITS == 32
Note:
See TracChangeset
for help on using the changeset viewer.