Changeset 40607 in vbox
- Timestamp:
- Mar 24, 2012 9:48:27 PM (13 years ago)
- svn:sync-xref-src-repo-rev:
- 77019
- Location:
- trunk/src/VBox/HostDrivers/Support
- Files:
-
- 4 edited
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/HostDrivers/Support/Makefile.kmk
r40606 r40607 393 393 VBoxDrv_SOURCES = \ 394 394 SUPDrv.c \ 395 SUPDrvSem.c 395 SUPDrvSem.c \ 396 SUPDrv.d 396 397 ifdef VBOX_WITH_DTRACE_R0DRV 397 398 VBoxDrv_SOURCES += \ 398 SUPDrv-dtrace.cpp 399 SUPDrv-dtrace.cpp 399 400 endif 400 401 VBoxDRV_LDFLAGS.solaris += -N misc/ctf -
trunk/src/VBox/HostDrivers/Support/SUPDrv-dtrace.cpp
r40605 r40607 108 108 * Global Variables * 109 109 *******************************************************************************/ 110 /** The default provider attributes. */111 static dtrace_pattr_t g_DefProvAttrs =112 { /* .dtat_name, .dtat_data, .dtat_class */113 /* .dtpa_provider = */ { DTRACE_STABILITY_UNSTABLE, DTRACE_STABILITY_UNSTABLE, DTRACE_CLASS_ISA },114 /* .dtpa_mod = */ { DTRACE_STABILITY_UNSTABLE, DTRACE_STABILITY_UNSTABLE, DTRACE_CLASS_ISA },115 /* .dtpa_func = */ { DTRACE_STABILITY_UNSTABLE, DTRACE_STABILITY_UNSTABLE, DTRACE_CLASS_ISA },116 /* .dtpa_name = */ { DTRACE_STABILITY_UNSTABLE, DTRACE_STABILITY_UNSTABLE, DTRACE_CLASS_ISA },117 /* .dtpa_args = */ { DTRACE_STABILITY_UNSTABLE, DTRACE_STABILITY_UNSTABLE, DTRACE_CLASS_ISA },118 };119 120 110 /** 121 111 * DTrace provider method table. … … 530 520 SUPR0DECL(int) SUPR0VtgRegisterDrv(PSUPDRVSESSION pSession, PVTGOBJHDR pVtgHdr, const char *pszName) 531 521 { 532 AssertReturn(SUP_IS_SESSION_VALID(pSession), NULL);522 AssertReturn(SUP_IS_SESSION_VALID(pSession), VERR_INVALID_PARAMETER); 533 523 AssertPtrReturn(pszName, VERR_INVALID_POINTER); 534 524 AssertPtrReturn(pVtgHdr, VERR_INVALID_POINTER); -
trunk/src/VBox/HostDrivers/Support/SUPDrv.c
r40518 r40607 63 63 #include <VBox/vmm/hwacc_vmx.h> 64 64 65 #if 0 /*def VBOX_WITH_DTRACE*/66 # include " SUPDrv-dtrace.h"65 #if defined(RT_OS_SOLARIS) || defined(RT_OS_DARWIN) 66 # include "dtrace/SUPDrv.h" 67 67 #else 68 # define VBOXDRV_SUPDRV_SESSION_CREATE(pvSession, fUser) do { } while (0) 69 # define VBOXDRV_SUPDRV_SESSION_CLOSE(pvSession) do { } while (0) 70 # define VBOXDRV_SUPDRV_IOCCLOSE(pvSession) do { } while (0) 71 # define VBOXDRV_SUPDRV_IOCTL_ENTRY(pvSession, uIOCtl, pvReqHdr) do { } while (0) 72 # define VBOXDRV_SUPDRV_IOCTL_RETURN(pvSession, uIOCtl, pvReqHdr, rcRet, rcReq) do { } while (0) 68 # define VBOXDRV_SESSION_CREATE(pvSession, fUser) do { } while (0) 69 # define VBOXDRV_SESSION_CLOSE(pvSession) do { } while (0) 70 # define VBOXDRV_IOCTL_ENTRY(pvSession, uIOCtl, pvReqHdr) do { } while (0) 71 # define VBOXDRV_IOCTL_RETURN(pvSession, uIOCtl, pvReqHdr, rcRet, rcReq) do { } while (0) 73 72 #endif 74 73 … … 669 668 } 670 669 671 VBOXDRV_S UPDRV_SESSION_CREATE(pSession, fUser);670 VBOXDRV_SESSION_CREATE(pSession, fUser); 672 671 LogFlow(("Created session %p initial cookie=%#x\n", pSession, pSession->u32Cookie)); 673 672 return VINF_SUCCESS; … … 696 695 void VBOXCALL supdrvCloseSession(PSUPDRVDEVEXT pDevExt, PSUPDRVSESSION pSession) 697 696 { 698 VBOXDRV_S UPDRV_SESSION_CLOSE(pSession);697 VBOXDRV_SESSION_CLOSE(pSession); 699 698 700 699 /* … … 1037 1036 int VBOXCALL supdrvIOCtl(uintptr_t uIOCtl, PSUPDRVDEVEXT pDevExt, PSUPDRVSESSION pSession, PSUPREQHDR pReqHdr) 1038 1037 { 1039 VBOXDRV_ SUPDRV_IOCTL_ENTRY(pSession, uIOCtl, pReqHdr);1038 VBOXDRV_IOCTL_ENTRY(pSession, uIOCtl, pReqHdr); 1040 1039 1041 1040 /* … … 1049 1048 OSDBGPRINT(("vboxdrv: Bad ioctl request header; cbIn=%#lx cbOut=%#lx fFlags=%#lx\n", 1050 1049 (long)pReqHdr->cbIn, (long)pReqHdr->cbOut, (long)pReqHdr->fFlags)); 1051 VBOXDRV_ SUPDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VERR_INVALID_PARAMETER, VINF_SUCCESS);1050 VBOXDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VERR_INVALID_PARAMETER, VINF_SUCCESS); 1052 1051 return VERR_INVALID_PARAMETER; 1053 1052 } … … 1055 1054 { 1056 1055 OSDBGPRINT(("vboxdrv: Invalid pSession valud %p (ioctl=%p)\n", pSession, (void *)uIOCtl)); 1057 VBOXDRV_ SUPDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VERR_INVALID_PARAMETER, VINF_SUCCESS);1056 VBOXDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VERR_INVALID_PARAMETER, VINF_SUCCESS); 1058 1057 return VERR_INVALID_PARAMETER; 1059 1058 } … … 1063 1062 { 1064 1063 OSDBGPRINT(("SUP_IOCTL_COOKIE: bad cookie %#lx\n", (long)pReqHdr->u32Cookie)); 1065 VBOXDRV_ SUPDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VERR_INVALID_PARAMETER, VINF_SUCCESS);1064 VBOXDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VERR_INVALID_PARAMETER, VINF_SUCCESS); 1066 1065 return VERR_INVALID_PARAMETER; 1067 1066 } … … 1071 1070 { 1072 1071 OSDBGPRINT(("vboxdrv: bad cookie %#lx / %#lx.\n", (long)pReqHdr->u32Cookie, (long)pReqHdr->u32SessionCookie)); 1073 VBOXDRV_ SUPDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VERR_INVALID_PARAMETER, VINF_SUCCESS);1072 VBOXDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VERR_INVALID_PARAMETER, VINF_SUCCESS); 1074 1073 return VERR_INVALID_PARAMETER; 1075 1074 } … … 1084 1083 OSDBGPRINT(( #Name ": Invalid input/output sizes. cbIn=%ld expected %ld. cbOut=%ld expected %ld.\n", \ 1085 1084 (long)pReq->Hdr.cbIn, (long)(cbInExpect), (long)pReq->Hdr.cbOut, (long)(cbOutExpect))); \ 1086 VBOXDRV_ SUPDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VERR_INVALID_PARAMETER, VERR_INVALID_PARAMETER); \1085 VBOXDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VERR_INVALID_PARAMETER, VERR_INVALID_PARAMETER); \ 1087 1086 return pReq->Hdr.rc = VERR_INVALID_PARAMETER; \ 1088 1087 } \ … … 1097 1096 OSDBGPRINT(( #Name ": Invalid input/output sizes. cbIn=%ld expected %ld.\n", \ 1098 1097 (long)pReq->Hdr.cbIn, (long)(cbInExpect))); \ 1099 VBOXDRV_ SUPDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VERR_INVALID_PARAMETER, VERR_INVALID_PARAMETER); \1098 VBOXDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VERR_INVALID_PARAMETER, VERR_INVALID_PARAMETER); \ 1100 1099 return pReq->Hdr.rc = VERR_INVALID_PARAMETER; \ 1101 1100 } \ … … 1108 1107 OSDBGPRINT(( #Name ": Invalid input/output sizes. cbOut=%ld expected %ld.\n", \ 1109 1108 (long)pReq->Hdr.cbOut, (long)(cbOutExpect))); \ 1110 VBOXDRV_ SUPDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VERR_INVALID_PARAMETER, VERR_INVALID_PARAMETER); \1109 VBOXDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VERR_INVALID_PARAMETER, VERR_INVALID_PARAMETER); \ 1111 1110 return pReq->Hdr.rc = VERR_INVALID_PARAMETER; \ 1112 1111 } \ … … 1118 1117 { \ 1119 1118 OSDBGPRINT(( #Name ": %s\n", #expr)); \ 1120 VBOXDRV_ SUPDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VERR_INVALID_PARAMETER, VERR_INVALID_PARAMETER); \1119 VBOXDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VERR_INVALID_PARAMETER, VERR_INVALID_PARAMETER); \ 1121 1120 return pReq->Hdr.rc = VERR_INVALID_PARAMETER; \ 1122 1121 } \ … … 1128 1127 { \ 1129 1128 OSDBGPRINT( fmt ); \ 1130 VBOXDRV_ SUPDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VERR_INVALID_PARAMETER, VERR_INVALID_PARAMETER); \1129 VBOXDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VERR_INVALID_PARAMETER, VERR_INVALID_PARAMETER); \ 1131 1130 return pReq->Hdr.rc = VERR_INVALID_PARAMETER; \ 1132 1131 } \ 1133 1132 } while (0) 1134 1135 1133 1136 1134 /* … … 1147 1145 OSDBGPRINT(("SUP_IOCTL_COOKIE: invalid magic %.16s\n", pReq->u.In.szMagic)); 1148 1146 pReq->Hdr.rc = VERR_INVALID_MAGIC; 1149 VBOXDRV_ SUPDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VINF_SUCCESS, VERR_INVALID_MAGIC);1147 VBOXDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VINF_SUCCESS, VERR_INVALID_MAGIC); 1150 1148 return 0; 1151 1149 } … … 1165 1163 pReq->u.Out.cFunctions = 0; 1166 1164 pReq->Hdr.rc = VERR_PERMISSION_DENIED; 1167 VBOXDRV_ SUPDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VINF_SUCCESS, VERR_PERMISSION_DENIED);1165 VBOXDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VINF_SUCCESS, VERR_PERMISSION_DENIED); 1168 1166 return 0; 1169 1167 } … … 1186 1184 pReq->u.Out.cFunctions = 0; 1187 1185 pReq->Hdr.rc = VERR_VERSION_MISMATCH; 1188 VBOXDRV_ SUPDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VINF_SUCCESS, pReq->Hdr.rc);1186 VBOXDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VINF_SUCCESS, pReq->Hdr.rc); 1189 1187 return 0; 1190 1188 } … … 1203 1201 pReq->u.Out.cFunctions = sizeof(g_aFunctions) / sizeof(g_aFunctions[0]); 1204 1202 pReq->Hdr.rc = VINF_SUCCESS; 1205 VBOXDRV_ SUPDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VINF_SUCCESS, pReq->Hdr.rc);1203 VBOXDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VINF_SUCCESS, pReq->Hdr.rc); 1206 1204 return 0; 1207 1205 } … … 1217 1215 memcpy(&pReq->u.Out.aFunctions[0], g_aFunctions, sizeof(g_aFunctions)); 1218 1216 pReq->Hdr.rc = VINF_SUCCESS; 1219 VBOXDRV_ SUPDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VINF_SUCCESS, pReq->Hdr.rc);1217 VBOXDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VINF_SUCCESS, pReq->Hdr.rc); 1220 1218 return 0; 1221 1219 } … … 1234 1232 if (RT_FAILURE(pReq->Hdr.rc)) 1235 1233 pReq->Hdr.cbOut = sizeof(pReq->Hdr); 1236 VBOXDRV_ SUPDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VINF_SUCCESS, pReq->Hdr.rc);1234 VBOXDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VINF_SUCCESS, pReq->Hdr.rc); 1237 1235 return 0; 1238 1236 } … … 1246 1244 /* execute */ 1247 1245 pReq->Hdr.rc = SUPR0UnlockMem(pSession, pReq->u.In.pvR3); 1248 VBOXDRV_ SUPDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VINF_SUCCESS, pReq->Hdr.rc);1246 VBOXDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VINF_SUCCESS, pReq->Hdr.rc); 1249 1247 return 0; 1250 1248 } … … 1260 1258 if (RT_FAILURE(pReq->Hdr.rc)) 1261 1259 pReq->Hdr.cbOut = sizeof(pReq->Hdr); 1262 VBOXDRV_ SUPDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VINF_SUCCESS, pReq->Hdr.rc);1260 VBOXDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VINF_SUCCESS, pReq->Hdr.rc); 1263 1261 return 0; 1264 1262 } … … 1272 1270 /* execute */ 1273 1271 pReq->Hdr.rc = SUPR0ContFree(pSession, (RTHCUINTPTR)pReq->u.In.pvR3); 1274 VBOXDRV_ SUPDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VINF_SUCCESS, pReq->Hdr.rc);1272 VBOXDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VINF_SUCCESS, pReq->Hdr.rc); 1275 1273 return 0; 1276 1274 } … … 1293 1291 /* execute */ 1294 1292 pReq->Hdr.rc = supdrvIOCtl_LdrOpen(pDevExt, pSession, pReq); 1295 VBOXDRV_ SUPDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VINF_SUCCESS, pReq->Hdr.rc);1293 VBOXDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VINF_SUCCESS, pReq->Hdr.rc); 1296 1294 return 0; 1297 1295 } … … 1334 1332 /* execute */ 1335 1333 pReq->Hdr.rc = supdrvIOCtl_LdrLoad(pDevExt, pSession, pReq); 1336 VBOXDRV_ SUPDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VINF_SUCCESS, pReq->Hdr.rc);1334 VBOXDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VINF_SUCCESS, pReq->Hdr.rc); 1337 1335 return 0; 1338 1336 } … … 1346 1344 /* execute */ 1347 1345 pReq->Hdr.rc = supdrvIOCtl_LdrFree(pDevExt, pSession, pReq); 1348 VBOXDRV_ SUPDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VINF_SUCCESS, pReq->Hdr.rc);1346 VBOXDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VINF_SUCCESS, pReq->Hdr.rc); 1349 1347 return 0; 1350 1348 } … … 1359 1357 /* execute */ 1360 1358 pReq->Hdr.rc = supdrvIOCtl_LdrGetSymbol(pDevExt, pSession, pReq); 1361 VBOXDRV_ SUPDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VINF_SUCCESS, pReq->Hdr.rc);1359 VBOXDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VINF_SUCCESS, pReq->Hdr.rc); 1362 1360 return 0; 1363 1361 } … … 1403 1401 Log4(("SUP_IOCTL_CALL_VMMR0: rc=%Rrc op=%u out=%u arg=%RX64 p/t=%RTproc/%RTthrd\n", 1404 1402 pReq->Hdr.rc, pReq->u.In.uOperation, pReq->Hdr.cbOut, pReq->u.In.u64Arg, RTProcSelf(), RTThreadNativeSelf())); 1405 VBOXDRV_ SUPDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VINF_SUCCESS, pReq->Hdr.rc);1403 VBOXDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VINF_SUCCESS, pReq->Hdr.rc); 1406 1404 return 0; 1407 1405 } … … 1435 1433 Log4(("SUP_IOCTL_CALL_VMMR0_BIG: rc=%Rrc op=%u out=%u arg=%RX64 p/t=%RTproc/%RTthrd\n", 1436 1434 pReq->Hdr.rc, pReq->u.In.uOperation, pReq->Hdr.cbOut, pReq->u.In.u64Arg, RTProcSelf(), RTThreadNativeSelf())); 1437 VBOXDRV_ SUPDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VINF_SUCCESS, pReq->Hdr.rc);1435 VBOXDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VINF_SUCCESS, pReq->Hdr.rc); 1438 1436 return 0; 1439 1437 } … … 1448 1446 pReq->Hdr.rc = VINF_SUCCESS; 1449 1447 pReq->u.Out.enmMode = SUPR0GetPagingMode(); 1450 VBOXDRV_ SUPDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VINF_SUCCESS, pReq->Hdr.rc);1448 VBOXDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VINF_SUCCESS, pReq->Hdr.rc); 1451 1449 return 0; 1452 1450 } … … 1463 1461 if (RT_FAILURE(pReq->Hdr.rc)) 1464 1462 pReq->Hdr.cbOut = sizeof(pReq->Hdr); 1465 VBOXDRV_ SUPDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VINF_SUCCESS, pReq->Hdr.rc);1463 VBOXDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VINF_SUCCESS, pReq->Hdr.rc); 1466 1464 return 0; 1467 1465 } … … 1475 1473 /* execute */ 1476 1474 pReq->Hdr.rc = SUPR0LowFree(pSession, (RTHCUINTPTR)pReq->u.In.pvR3); 1477 VBOXDRV_ SUPDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VINF_SUCCESS, pReq->Hdr.rc);1475 VBOXDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VINF_SUCCESS, pReq->Hdr.rc); 1478 1476 return 0; 1479 1477 } … … 1489 1487 if (RT_SUCCESS(pReq->Hdr.rc)) 1490 1488 pReq->u.Out.pGipR0 = pDevExt->pGip; 1491 VBOXDRV_ SUPDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VINF_SUCCESS, pReq->Hdr.rc);1489 VBOXDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VINF_SUCCESS, pReq->Hdr.rc); 1492 1490 return 0; 1493 1491 } … … 1501 1499 /* execute */ 1502 1500 pReq->Hdr.rc = SUPR0GipUnmap(pSession); 1503 VBOXDRV_ SUPDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VINF_SUCCESS, pReq->Hdr.rc);1501 VBOXDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VINF_SUCCESS, pReq->Hdr.rc); 1504 1502 return 0; 1505 1503 } … … 1517 1515 pSession->pVM = pReq->u.In.pVMR0; 1518 1516 pReq->Hdr.rc = VINF_SUCCESS; 1519 VBOXDRV_ SUPDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VINF_SUCCESS, pReq->Hdr.rc);1517 VBOXDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VINF_SUCCESS, pReq->Hdr.rc); 1520 1518 return 0; 1521 1519 } … … 1541 1539 if (RT_FAILURE(pReq->Hdr.rc)) 1542 1540 pReq->Hdr.cbOut = sizeof(pReq->Hdr); 1543 VBOXDRV_ SUPDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VINF_SUCCESS, pReq->Hdr.rc);1541 VBOXDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VINF_SUCCESS, pReq->Hdr.rc); 1544 1542 return 0; 1545 1543 } … … 1560 1558 if (RT_FAILURE(pReq->Hdr.rc)) 1561 1559 pReq->Hdr.cbOut = sizeof(pReq->Hdr); 1562 VBOXDRV_ SUPDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VINF_SUCCESS, pReq->Hdr.rc);1560 VBOXDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VINF_SUCCESS, pReq->Hdr.rc); 1563 1561 return 0; 1564 1562 } … … 1577 1575 /* execute */ 1578 1576 pReq->Hdr.rc = SUPR0PageProtect(pSession, pReq->u.In.pvR3, pReq->u.In.pvR0, pReq->u.In.offSub, pReq->u.In.cbSub, pReq->u.In.fProt); 1579 VBOXDRV_ SUPDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VINF_SUCCESS, pReq->Hdr.rc);1577 VBOXDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VINF_SUCCESS, pReq->Hdr.rc); 1580 1578 return 0; 1581 1579 } … … 1589 1587 /* execute */ 1590 1588 pReq->Hdr.rc = SUPR0PageFree(pSession, pReq->u.In.pvR3); 1591 VBOXDRV_ SUPDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VINF_SUCCESS, pReq->Hdr.rc);1589 VBOXDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VINF_SUCCESS, pReq->Hdr.rc); 1592 1590 return 0; 1593 1591 } … … 1614 1612 /* execute */ 1615 1613 pReq->Hdr.rc = supdrvIOCtl_CallServiceModule(pDevExt, pSession, pReq); 1616 VBOXDRV_ SUPDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VINF_SUCCESS, pReq->Hdr.rc);1614 VBOXDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VINF_SUCCESS, pReq->Hdr.rc); 1617 1615 return 0; 1618 1616 } … … 1637 1635 /* execute */ 1638 1636 pReq->Hdr.rc = supdrvIOCtl_LoggerSettings(pDevExt, pSession, pReq); 1639 VBOXDRV_ SUPDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VINF_SUCCESS, pReq->Hdr.rc);1637 VBOXDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VINF_SUCCESS, pReq->Hdr.rc); 1640 1638 return 0; 1641 1639 } … … 1789 1787 if (RT_FAILURE(pReq->Hdr.rc)) 1790 1788 pReq->Hdr.cbOut = sizeof(pReq->Hdr); 1791 VBOXDRV_ SUPDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VINF_SUCCESS, pReq->Hdr.rc);1789 VBOXDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VINF_SUCCESS, pReq->Hdr.rc); 1792 1790 return 0; 1793 1791 } … … 1797 1795 break; 1798 1796 } 1799 VBOXDRV_ SUPDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VERR_GENERAL_FAILURE, VERR_GENERAL_FAILURE);1797 VBOXDRV_IOCTL_RETURN(pSession, uIOCtl, pReqHdr, VERR_GENERAL_FAILURE, VERR_GENERAL_FAILURE); 1800 1798 return VERR_GENERAL_FAILURE; 1801 1799 } -
trunk/src/VBox/HostDrivers/Support/SUPDrv.d
r40605 r40607 1 1 /* $Id$ */ 2 2 /** @file 3 * SUPDrv - Static dtrace probes 3 * SUPDrv - Static dtrace probes. 4 4 */ 5 5 6 6 /* 7 * Copyright (C) 2010 Oracle Corporation7 * Copyright (C) 2010-2012 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as … … 16 16 */ 17 17 18 18 19 provider vboxdrv 19 20 { 20 probe s updrv__session__create(void *pvSession, int fUser);21 probe s updrv__session__close(void *pvSession);22 probe supdrv__ioctl__entry(void *pvSession, unsigned int uIOCtl, void *pvReqHdr);23 probe supdrv__ioctl__return(void *pvSession, unsigned int uIOCtl, void *pvReqHdr, int rc, int rcReq);21 probe session__create(struct SUPDRVSESSION *pSession, int fUser); 22 probe session__close(struct SUPDRVSESSION *pSession); 23 probe ioctl__entry(struct SUPDRVSESSION *pSession, unsigned int uIOCtl, void *pvReqHdr); 24 probe ioctl__return(struct SUPDRVSESSION *pSession, unsigned int uIOCtl, void *pvReqHdr, int rc, int rcReq); 24 25 }; 25 26 … … 31 32 32 33 33 -
trunk/src/VBox/HostDrivers/Support/solaris/SUPDrv-solaris.c
r38895 r40607 66 66 #include <iprt/err.h> 67 67 68 #include "dtrace/SUPDrv.h" 69 68 70 69 71 /*******************************************************************************
Note:
See TracChangeset
for help on using the changeset viewer.