Changeset 40759 in vbox for trunk/src/VBox/HostDrivers/Support
- Timestamp:
- Apr 3, 2012 7:57:32 PM (13 years ago)
- svn:sync-xref-src-repo-rev:
- 77252
- Location:
- trunk/src/VBox/HostDrivers/Support
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/HostDrivers/Support/Makefile.kmk
r40756 r40759 310 310 # 311 311 if1of ($(KBUILD_TARGET), darwin linux solaris) 312 # Leopard (x86) and Snow Leopard (x86/amd64) 313 SYSMODS += VBoxDrv 312 ifdef VBOX_WITH_VBOXDRV 313 SYSMODS += VBoxDrv 314 endif 314 315 VBoxDrv_TEMPLATE = VBOXR0DRV 315 316 VBoxDrv_NAME.freebsd = vboxdrv -
trunk/src/VBox/HostDrivers/Support/SUPDrv-tracer.cpp
r40756 r40759 875 875 876 876 /** 877 * Called when a session is being cleaned up. 878 * 879 * @param pDevExt The device extension structure. 880 * @param pSession The session that is being torn down. 881 */ 882 void VBOXCALL supdrvTracerCleanupSession(PSUPDRVDEVEXT pDevExt, PSUPDRVSESSION pSession) 883 { 884 /* 885 * If ring-0 session, make sure it has deregistered VTG objects and the tracer. 886 */ 887 if (pSession->R0Process == NIL_RTR0PROCESS) 888 { 889 SUPDRVTPPROVIDER *pNextProv; 890 SUPDRVTPPROVIDER *pProv; 891 892 RTSemFastMutexRequest(pDevExt->mtxTracer); 893 RTListForEachSafe(&pDevExt->TracerProviderList, pProv, pProvNext, SUPDRVTPPROVIDER, ListEntry) 894 { 895 if (pProv->pSession == pSession) 896 { 897 RTListNodeRemove(&pProv->ListEntry); 898 supdrvTracerDeregisterVtgObj(pDevExt, pProv); 899 } 900 } 901 RTSemFastMutexRelease(pDevExt->mtxTracer); 902 903 (void)SUPR0TracerDeregister(pSession); 904 } 905 906 /* 907 * Clean up instance data the trace may have associated with the session. 908 */ 909 if (pSession->uTracerData) 910 { 911 RTSemFastMutexRequest(pDevExt->mtxTracer); 912 if ( pSession->uTracerData 913 && pDevExt->pTracerOps) 914 pSession->pTracerOps->pfnCloseTrace(pSession->pTracerOps, pSession, pSession->uTracerData); 915 pSession->uTracerData = 0; 916 RTSemFastMutexRelease(pDevExt->mtxTracer); 917 } 918 } 919 920 921 /** 877 922 * Early module initialization hook. 878 923 * … … 891 936 /** @todo */ 892 937 pDevExt->TracerHlp.uEndVersion = SUPDRVTRACERHLP_VERSION; 893 894 938 RTListInit(&pDevExt->TracerProviderList); 895 939 RTListInit(&pDevExt->TracerProviderZombieList); 940 896 941 rc = supdrvTracerRegisterVtgObj(pDevExt, &g_VTGObjHeader, _1M, NULL /*pImage*/, NULL /*pSession*/, "vboxdrv"); 897 942 if (RT_SUCCESS(rc)) -
trunk/src/VBox/HostDrivers/Support/SUPDrvInternal.h
r40758 r40759 436 436 * This is NIL_RTR0PROCESS for kernel sessions and valid for user ones. */ 437 437 RTR0PROCESS R0Process; 438 #ifdef VBOX_WITH_SUPDRV_GENERIC_TRACER 439 /** Per session tracer specfic data. */ 440 uintptr_t uTracerData; 441 #endif 438 442 #ifndef SUPDRV_AGNOSTIC 439 443 # if defined(RT_OS_DARWIN)
Note:
See TracChangeset
for help on using the changeset viewer.