Changeset 58976 in vbox
- Timestamp:
- Dec 3, 2015 9:42:04 PM (9 years ago)
- svn:sync-xref-src-repo-rev:
- 104498
- Location:
- trunk
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/VBoxTpG.h
r58920 r58976 296 296 typedef struct VTGDESCPROVIDER 297 297 { 298 VTGSTROFF offName; 299 uint16_t iFirstProbe; 300 uint16_t cProbes; 301 VTGDESCATTR AttrSelf; 302 VTGDESCATTR AttrModules; 303 VTGDESCATTR AttrFunctions; 304 VTGDESCATTR AttrNames; 305 VTGDESCATTR AttrArguments; 306 uint8_t bReserved; 307 uint32_t cProbesEnabled; 298 VTGSTROFF offName; 299 uint16_t iFirstProbe; 300 uint16_t cProbes; 301 VTGDESCATTR AttrSelf; 302 VTGDESCATTR AttrModules; 303 VTGDESCATTR AttrFunctions; 304 VTGDESCATTR AttrNames; 305 VTGDESCATTR AttrArguments; 306 uint8_t bReserved; 307 uint32_t volatile cProbesEnabled; 308 /** This increases every time a probe is enabled or disabled. 309 * Can be used in non-ring-3 context via PROVIDER_GET_SETTINGS_SEQ_NO() in 310 * order to only configure probes related stuff when actually required. */ 311 uint32_t volatile uSettingsSerialNo; 308 312 } VTGDESCPROVIDER; 309 AssertCompileSize(VTGDESCPROVIDER, 28);313 AssertCompileSize(VTGDESCPROVIDER, 32); 310 314 /** Pointer to a VTG provider descriptor. */ 311 315 typedef VTGDESCPROVIDER *PVTGDESCPROVIDER; … … 414 418 415 419 /** The current VTGOBJHDR::szMagic value. */ 416 #define VTGOBJHDR_MAGIC "VTG Object Header v1. 6\0"420 #define VTGOBJHDR_MAGIC "VTG Object Header v1.7\0" 417 421 418 422 /** The name of the VTG data object header symbol in the object file. */ -
trunk/src/VBox/HostDrivers/Support/SUPDrv-dtrace.cpp
r58920 r58976 452 452 ASMAtomicIncU32(&pProv->pacProbeEnabled[idxProbe]); 453 453 ASMAtomicIncU32(&pProv->pDesc->cProbesEnabled); 454 ASMAtomicIncU32(&pProv->pDesc->uSettingsSerialNo); 454 455 } 455 456 } … … 462 463 ASMAtomicIncU32(&pProv->paR0Probes[idxProbe].cEnabled); 463 464 ASMAtomicIncU32(&pProv->pDesc->cProbesEnabled); 465 ASMAtomicIncU32(&pProv->pDesc->uSettingsSerialNo); 464 466 } 465 467 … … 499 501 ASMAtomicDecU32(&pProv->pacProbeEnabled[idxProbe]); 500 502 ASMAtomicIncU32(&pProv->pDesc->cProbesEnabled); 503 ASMAtomicIncU32(&pProv->pDesc->uSettingsSerialNo); 501 504 } 502 505 } … … 509 512 ASMAtomicDecU32(&pProv->paR0Probes[idxProbe].cEnabled); 510 513 ASMAtomicDecU32(&pProv->pDesc->cProbesEnabled); 514 ASMAtomicIncU32(&pProv->pDesc->uSettingsSerialNo); 511 515 } 512 516 -
trunk/src/VBox/HostDrivers/Support/SUPDrvIOC.h
r58920 r58976 215 215 * - nothing. 216 216 */ 217 #define SUPDRV_IOC_VERSION 0x002 50000217 #define SUPDRV_IOC_VERSION 0x00260000 218 218 219 219 /** SUP_IOCTL_COOKIE. */ -
trunk/src/VBox/HostDrivers/Support/SUPDrvTracer.cpp
r58920 r58976 539 539 MY_CHECK_RET(pProvider->bReserved == 0, VERR_SUPDRV_VTG_BAD_PROVIDER); 540 540 MY_CHECK_RET(pProvider->cProbesEnabled == 0, VERR_SUPDRV_VTG_BAD_PROVIDER); 541 MY_CHECK_RET(pProvider->uSettingsSerialNo == 0, VERR_SUPDRV_VTG_BAD_PROVIDER); 541 542 } 542 543 -
trunk/src/bldprogs/VBoxTpG.cpp
r58964 r58976 533 533 " ;0 1 2 3\n" 534 534 " ;012345678901234567890123456789012\n" 535 " db 'VTG Object Header v1. 6', 0, 0\n"535 " db 'VTG Object Header v1.7', 0, 0\n" 536 536 " dd %u\n" 537 537 " dd NAME(g_acVTGProbeEnabled_End) - NAME(g_VTGObjHeader)\n" … … 740 740 "VTG_GLOBAL g_cVTGProviderProbesEnabled_%s, data\n" 741 741 " dd 0\n" 742 "VTG_GLOBAL g_cVTGProviderSettingsSeqNo_%s, data\n" 743 " dd 0\n" 742 744 , 743 745 iProvider, pProvider->pszName, … … 750 752 pProvider->AttrName.enmCode, pProvider->AttrName.enmData, pProvider->AttrName.enmDataDep, 751 753 pProvider->AttrArguments.enmCode, pProvider->AttrArguments.enmData, pProvider->AttrArguments.enmDataDep, 754 pProvider->pszName, 752 755 pProvider->pszName); 753 756 iProvider++; … … 1004 1007 generateProviderDefineName(szTmp, sizeof(szTmp), pProv->pszName); 1005 1008 ScmStreamPrintf(pStrm, 1006 "extern uint32_t 1009 "extern uint32_t const volatile g_cVTGProviderProbesEnabled_%s;\n" 1007 1010 "# define %s_ANY_PROBES_ENABLED() \\\n" 1008 1011 " (RT_UNLIKELY(g_cVTGProviderProbesEnabled_%s != 0))\n" 1012 "extern uint32_t const volatile g_cVTGProviderSettingsSeqNo_%s;\n" 1013 "# define %s_GET_SETTINGS_SEQ_NO() (g_cVTGProviderSettingsSeqNo_%s)\n" 1009 1014 "\n", 1015 pProv->pszName, 1016 szTmp, pProv->pszName, 1010 1017 pProv->pszName, 1011 1018 szTmp, pProv->pszName);
Note:
See TracChangeset
for help on using the changeset viewer.