Changeset 58920 in vbox
- Timestamp:
- Nov 30, 2015 2:10:59 PM (9 years ago)
- svn:sync-xref-src-repo-rev:
- 104422
- Location:
- trunk
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/VBoxTpG.h
r58106 r58920 305 305 VTGDESCATTR AttrArguments; 306 306 uint8_t bReserved; 307 uint32_t cProbesEnabled; 307 308 } VTGDESCPROVIDER; 309 AssertCompileSize(VTGDESCPROVIDER, 28); 308 310 /** Pointer to a VTG provider descriptor. */ 309 311 typedef VTGDESCPROVIDER *PVTGDESCPROVIDER; … … 412 414 413 415 /** The current VTGOBJHDR::szMagic value. */ 414 #define VTGOBJHDR_MAGIC "VTG Object Header v1. 5\0"416 #define VTGOBJHDR_MAGIC "VTG Object Header v1.6\0" 415 417 416 418 /** The name of the VTG data object header symbol in the object file. */ -
trunk/src/VBox/ExtPacks/VBoxDTrace/VBoxDTraceR0.cpp
r57358 r58920 1512 1512 pProbeLocEn->fEnabled = 1; 1513 1513 ASMAtomicIncU32(&pProv->pacProbeEnabled[idxProbe]); 1514 ASMAtomicIncU32(&pProv->pDesc->cProbesEnabled); 1514 1515 } 1515 1516 } … … 1521 1522 pProv->paR0ProbeLocs[idxProbeLoc].fEnabled = 1; 1522 1523 ASMAtomicIncU32(&pProv->paR0Probes[idxProbe].cEnabled); 1524 ASMAtomicIncU32(&pProv->pDesc->cProbesEnabled); 1523 1525 } 1524 1526 … … 1557 1559 pProbeLocEn->fEnabled = 0; 1558 1560 ASMAtomicDecU32(&pProv->pacProbeEnabled[idxProbe]); 1561 ASMAtomicDecU32(&pProv->pDesc->cProbesEnabled); 1559 1562 } 1560 1563 } … … 1566 1569 pProv->paR0ProbeLocs[idxProbeLoc].fEnabled = 0; 1567 1570 ASMAtomicDecU32(&pProv->paR0Probes[idxProbe].cEnabled); 1571 ASMAtomicDecU32(&pProv->pDesc->cProbesEnabled); 1568 1572 } 1569 1573 -
trunk/src/VBox/HostDrivers/Support/SUPDrv-dtrace.cpp
r58340 r58920 451 451 pProbeLocEn->fEnabled = 1; 452 452 ASMAtomicIncU32(&pProv->pacProbeEnabled[idxProbe]); 453 ASMAtomicIncU32(&pProv->pDesc->cProbesEnabled); 453 454 } 454 455 } … … 460 461 pProv->paR0ProbeLocs[idxProbeLoc].fEnabled = 1; 461 462 ASMAtomicIncU32(&pProv->paR0Probes[idxProbe].cEnabled); 463 ASMAtomicIncU32(&pProv->pDesc->cProbesEnabled); 462 464 } 463 465 … … 496 498 pProbeLocEn->fEnabled = 0; 497 499 ASMAtomicDecU32(&pProv->pacProbeEnabled[idxProbe]); 500 ASMAtomicIncU32(&pProv->pDesc->cProbesEnabled); 498 501 } 499 502 } … … 505 508 pProv->paR0ProbeLocs[idxProbeLoc].fEnabled = 0; 506 509 ASMAtomicDecU32(&pProv->paR0Probes[idxProbe].cEnabled); 510 ASMAtomicDecU32(&pProv->pDesc->cProbesEnabled); 507 511 } 508 512 -
trunk/src/VBox/HostDrivers/Support/SUPDrvIOC.h
r58340 r58920 215 215 * - nothing. 216 216 */ 217 #define SUPDRV_IOC_VERSION 0x002 40000217 #define SUPDRV_IOC_VERSION 0x00250000 218 218 219 219 /** SUP_IOCTL_COOKIE. */ -
trunk/src/VBox/HostDrivers/Support/SUPDrvTracer.cpp
r58340 r58920 538 538 MY_VALIDATE_ATTR(pProvider->AttrArguments); 539 539 MY_CHECK_RET(pProvider->bReserved == 0, VERR_SUPDRV_VTG_BAD_PROVIDER); 540 MY_CHECK_RET(pProvider->cProbesEnabled == 0, VERR_SUPDRV_VTG_BAD_PROVIDER); 540 541 } 541 542 -
trunk/src/bldprogs/VBoxTpG.cpp
r57353 r58920 533 533 " ;0 1 2 3\n" 534 534 " ;012345678901234567890123456789012\n" 535 " db 'VTG Object Header v1. 5', 0, 0\n"535 " db 'VTG Object Header v1.6', 0, 0\n" 536 536 " dd %u\n" 537 537 " dd NAME(g_acVTGProbeEnabled_End) - NAME(g_VTGObjHeader)\n" … … 738 738 " db %d, %d, %d ; AttrArguments\n" 739 739 " db 0 ; reserved\n" 740 "VTG_GLOBAL g_cVTGProviderProbesEnabled_%s, data\n" 741 " dd 0\n" 740 742 , 741 743 iProvider, pProvider->pszName, … … 747 749 pProvider->AttrFunctions.enmCode, pProvider->AttrFunctions.enmData, pProvider->AttrFunctions.enmDataDep, 748 750 pProvider->AttrName.enmCode, pProvider->AttrName.enmData, pProvider->AttrName.enmDataDep, 749 pProvider->AttrArguments.enmCode, pProvider->AttrArguments.enmData, pProvider->AttrArguments.enmDataDep); 751 pProvider->AttrArguments.enmCode, pProvider->AttrArguments.enmData, pProvider->AttrArguments.enmDataDep, 752 pProvider->pszName); 750 753 iProvider++; 751 754 } … … 909 912 910 913 914 static RTEXITCODE generateProviderDefineName(char *pszBuf, size_t cbBuf, const char *pszProvider) 915 { 916 size_t cbMax = strlen(pszProvider) + 1; 917 if (cbMax > cbBuf || cbMax > 80) 918 return RTMsgErrorExit(RTEXITCODE_FAILURE, "Provider '%s' ends up with a too long defined\n", pszProvider); 919 920 while (*pszProvider) 921 *pszBuf++ = RT_C_TO_UPPER(*pszProvider++); 922 923 *pszBuf = '\0'; 924 return RTEXITCODE_SUCCESS; 925 } 926 927 911 928 /** 912 929 * Called via generateFile to generate the header file. … … 980 997 RTListForEach(&g_ProviderHead, pProv, VTGPROVIDER, ListEntry) 981 998 { 999 /* This macro is not available in ring-3 because we don't have 1000 anything similar available for native dtrace. */ 1001 ScmStreamPrintf(pStrm, "\n\n"); 1002 if (g_fTypeContext != VTG_TYPE_CTX_R3) 1003 { 1004 generateProviderDefineName(szTmp, sizeof(szTmp), pProv->pszName); 1005 ScmStreamPrintf(pStrm, 1006 "extern uint32_t g_cVTGProviderProbesEnabled_%s;\n" 1007 "# define %s_ANY_PROBES_ENABLED() \\\n" 1008 " (RT_UNLIKELY(g_cVTGProviderProbesEnabled_%s))\n" 1009 "\n", 1010 pProv->pszName, 1011 szTmp, pProv->pszName); 1012 } 1013 982 1014 RTListForEach(&pProv->ProbeHead, pProbe, VTGPROBE, ListEntry) 983 1015 { … … 1286 1318 } 1287 1319 1320 1288 1321 /** 1289 1322 * Handles a C++ one line comment. … … 1297 1330 return RTEXITCODE_SUCCESS; 1298 1331 } 1332 1299 1333 1300 1334 /**
Note:
See TracChangeset
for help on using the changeset viewer.