Changeset 40763 in vbox for trunk/include/VBox
- Timestamp:
- Apr 4, 2012 2:40:09 PM (13 years ago)
- svn:sync-xref-src-repo-rev:
- 77258
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/sup.h
r40761 r40763 1295 1295 /** Provider ID. */ 1296 1296 uintptr_t idProvider; 1297 /** The number of trace points. */ 1298 uint32_t volatile cTracepoints; 1297 /** The number of trace points provided. */ 1298 uint32_t volatile cProvidedProbes; 1299 /** Whether we've invalidated this bugger. */ 1300 bool fZombie; 1299 1301 } DTrace; 1300 1302 } SUPDRVTRACERDATA; … … 1315 1317 /** Pointer to the provider name (a copy that's always available). */ 1316 1318 const char *pszName; 1319 /** Pointer to the module name. */ 1320 const char *pszModName; 1317 1321 } SUPDRVVDTPROVIDERCORE; 1318 1322 /** Pointer to a tracepoint provider core structure. */ … … 1325 1329 typedef struct SUPDRVTRACERUSRCTX 1326 1330 { 1331 /** The probe ID from the VTG location record. */ 1332 uint32_t idProbe; 1333 /** 32 if X86, 64 if AMD64. */ 1334 uint8_t cBits; 1335 /** Reserved padding. */ 1336 uint8_t abReserved[3]; 1337 /** Data which format is dictated by the cBits member. */ 1327 1338 union 1328 1339 { … … 1374 1385 } Amd64; 1375 1386 } u; 1376 /** 32 if X86, 64 if AMD64. */1377 uint8_t cBits;1378 /** Reserved padding. */1379 uint8_t abReserved[3];1380 /** The probe ID from the VTG location record. */1381 uint32_t idProbe;1382 1387 } SUPDRVTRACERUSRCTX; 1383 1388 /** Pointer to the usermode probe context information. */ … … 1407 1412 * @param uArg4 The fifth raw probe argument. 1408 1413 * 1409 * @remarks SUPR0 VtgFireProbe will do a tail jump thru this member, so no extra1410 * stack frames will be added.1414 * @remarks SUPR0TracerFireProbe will do a tail jump thru this member, so 1415 * no extra stack frames will be added. 1411 1416 * @remarks This does not take a 'this' pointer argument because it doesn't map 1412 1417 * well onto VTG or DTrace. 1413 1418 * 1414 1419 */ 1415 DECLR0CALLBACKMEMBER(void, pfn FireKernelProbe, (struct VTGPROBELOC *pVtgProbeLoc, uintptr_t uArg0, uintptr_t uArg1, uintptr_t uArg2,1420 DECLR0CALLBACKMEMBER(void, pfnProbeFireKernel, (struct VTGPROBELOC *pVtgProbeLoc, uintptr_t uArg0, uintptr_t uArg1, uintptr_t uArg2, 1416 1421 uintptr_t uArg3, uintptr_t uArg4)); 1417 1422 … … 1422 1427 * 1423 1428 * @param pVtgProbeLoc The probe location record. 1429 * @param pSession The user session. 1424 1430 * @param pCtx The usermode context info. 1425 1431 */ 1426 DECLR0CALLBACKMEMBER(void, pfn FireUserProbe, (PCSUPDRVTRACERREG pThis, PCSUPDRVTRACERUSRCTX pCtx));1432 DECLR0CALLBACKMEMBER(void, pfnProbeFireUser, (PCSUPDRVTRACERREG pThis, PSUPDRVSESSION pSession, PCSUPDRVTRACERUSRCTX pCtx)); 1427 1433 1428 1434 /** … … 1438 1444 * set to a non-zero value on success. 1439 1445 */ 1440 DECLR0CALLBACKMEMBER(int, pfn OpenTracer, (PCSUPDRVTRACERREG pThis, PSUPDRVSESSION pSession, uint32_t uCookie, uintptr_t uArg,1446 DECLR0CALLBACKMEMBER(int, pfnTracerOpen, (PCSUPDRVTRACERREG pThis, PSUPDRVSESSION pSession, uint32_t uCookie, uintptr_t uArg, 1441 1447 uintptr_t *puSessionData)); 1442 1448 … … 1453 1459 * @param piRetVal The tracer specific return value. 1454 1460 */ 1455 DECLR0CALLBACKMEMBER(int, pfn Ioctl, (PCSUPDRVTRACERREG pThis, PSUPDRVSESSION pSession, uintptr_t uSessionData,1456 uintptr_t uCmd, uintptr_t uArg, int32_t *piRetVal));1461 DECLR0CALLBACKMEMBER(int, pfnTracerIoCtl, (PCSUPDRVTRACERREG pThis, PSUPDRVSESSION pSession, uintptr_t uSessionData, 1462 uintptr_t uCmd, uintptr_t uArg, int32_t *piRetVal)); 1457 1463 1458 1464 /** … … 1463 1469 * @param uSessionData The data assoicated with the session. 1464 1470 */ 1465 DECLR0CALLBACKMEMBER(void, pfn CloseTrace, (PCSUPDRVTRACERREG pThis, PSUPDRVSESSION pSession, uintptr_t uSessionData));1471 DECLR0CALLBACKMEMBER(void, pfnTracerClose, (PCSUPDRVTRACERREG pThis, PSUPDRVSESSION pSession, uintptr_t uSessionData)); 1466 1472 1467 1473 /** … … 1471 1477 * @param pThis Pointer to the registration record. 1472 1478 * @param pCore The provider core data. 1479 * 1480 * @todo Kernel vs. Userland providers. 1473 1481 */ 1474 DECLR0CALLBACKMEMBER(int, pfn RegisterProvider, (PCSUPDRVTRACERREG pThis, PSUPDRVVDTPROVIDERCORE pCore));1482 DECLR0CALLBACKMEMBER(int, pfnProviderRegister, (PCSUPDRVTRACERREG pThis, PSUPDRVVDTPROVIDERCORE pCore)); 1475 1483 1476 1484 /** … … 1484 1492 * @param pCore The provider core data. 1485 1493 */ 1486 DECLR0CALLBACKMEMBER(int, pfn DeregisterProvider, (PCSUPDRVTRACERREG pThis, PSUPDRVVDTPROVIDERCORE pCore));1494 DECLR0CALLBACKMEMBER(int, pfnProviderDeregister, (PCSUPDRVTRACERREG pThis, PSUPDRVVDTPROVIDERCORE pCore)); 1487 1495 1488 1496 /** … … 1493 1501 * @param pCore The provider core data. 1494 1502 */ 1495 DECLR0CALLBACKMEMBER(int, pfn DeregisterZombieProvider, (PCSUPDRVTRACERREG pThis, PSUPDRVVDTPROVIDERCORE pCore));1503 DECLR0CALLBACKMEMBER(int, pfnProviderDeregisterZombie, (PCSUPDRVTRACERREG pThis, PSUPDRVVDTPROVIDERCORE pCore)); 1496 1504 1497 1505 /** End marker (SUPDRVTRACERREG_MAGIC). */ … … 1522 1530 #define SUPDRVTRACERHLP_VERSION RT_MAKE_U32(0, 1) 1523 1531 1524 SUPR0DECL(int) SUPR0VtgRegisterDrv(PSUPDRVSESSION pSession, struct VTGOBJHDR *pVtgHdr, const char *pszName); 1525 SUPR0DECL(void) SUPR0VtgDeregisterDrv(PSUPDRVSESSION pSession); 1526 SUPR0DECL(void) SUPR0VtgFireProbe(uint32_t idProbe, uintptr_t uArg0, uintptr_t uArg1, uintptr_t uArg2, 1527 uintptr_t uArg3, uintptr_t uArg4); 1528 SUPR0DECL(int) SUPR0VtgRegisterModule(void *hMod, struct VTGOBJHDR *pVtgHdr); 1532 SUPR0DECL(int) SUPR0TracerRegisterImpl(void *hMod, PSUPDRVSESSION pSession, PCSUPDRVTRACERREG pReg, PCSUPDRVTRACERHLP *ppHlp); 1533 SUPR0DECL(int) SUPR0TracerDeregisterImpl(PSUPDRVSESSION pSession); 1534 SUPR0DECL(int) SUPR0TracerRegisterDrv(PSUPDRVSESSION pSession, struct VTGOBJHDR *pVtgHdr, const char *pszName); 1535 SUPR0DECL(void) SUPR0TracerDeregisterDrv(PSUPDRVSESSION pSession); 1536 SUPR0DECL(int) SUPR0TracerRegisterModule(void *hMod, struct VTGOBJHDR *pVtgHdr); 1537 SUPR0DECL(void) SUPR0TracerFireProbe(uint32_t idProbe, uintptr_t uArg0, uintptr_t uArg1, uintptr_t uArg2, 1538 uintptr_t uArg3, uintptr_t uArg4); 1529 1539 /** @} */ 1530 1540
Note:
See TracChangeset
for help on using the changeset viewer.