Changeset 84494 in vbox for trunk/src/VBox/VMM/VMMR3
- Timestamp:
- May 25, 2020 11:09:52 AM (5 years ago)
- svn:sync-xref-src-repo-rev:
- 138221
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR3/DBGFR3Tracer.cpp
r84488 r84494 55 55 /** The event descriptors written to the trace log. */ 56 56 57 static const RTTRACELOGEVTDESC g_EvtSrcRegisterEvtDesc = 58 { 59 "EvtSrc.Register", 60 "An event soruce was registered", 61 RTTRACELOGEVTSEVERITY_DEBUG, 62 0, 63 NULL 64 }; 65 66 67 static const RTTRACELOGEVTDESC g_EvtSrcDeregisterEvtDesc = 68 { 69 "EvtSrc.Deregister", 70 "An event soruce was de-registered", 71 RTTRACELOGEVTSEVERITY_DEBUG, 72 0, 73 NULL 74 }; 75 76 57 77 static const RTTRACELOGEVTITEMDESC g_DevMmioMapEvtItems[] = 58 78 { … … 444 464 switch (pEvtHdr->enmEvt) 445 465 { 466 case DBGFTRACEREVT_SRC_REGISTER: 467 { 468 rc = RTTraceLogWrEvtAddL(pThis->hTraceLog, &g_EvtSrcRegisterEvtDesc, RTTRACELOG_WR_ADD_EVT_F_GRP_START, 469 pEvtHdr->hEvtSrc, 0 /*uParentGrpId*/); 470 break; 471 } 472 case DBGFTRACEREVT_SRC_DEREGISTER: 473 { 474 rc = RTTraceLogWrEvtAddL(pThis->hTraceLog, &g_EvtSrcDeregisterEvtDesc, RTTRACELOG_WR_ADD_EVT_F_GRP_FINISH, 475 pEvtHdr->hEvtSrc, 0 /*uParentGrpId*/); 476 break; 477 } 446 478 case DBGFTRACEREVT_MMIO_MAP: 447 479 { 448 480 PCDBGFTRACEREVTMMIOMAP pEvtMmioMap = (PCDBGFTRACEREVTMMIOMAP)(pEvtHdr + 1); 449 481 450 rc = RTTraceLogWrEvtAddL(pThis->hTraceLog, &g_DevMmioMapEvtDesc, RTTRACELOG_WR_ADD_EVT_F_GRP_START | RTTRACELOG_WR_ADD_EVT_F_GRP_FINISH,482 rc = RTTraceLogWrEvtAddL(pThis->hTraceLog, &g_DevMmioMapEvtDesc, 0 /*fFlags*/, 451 483 pEvtHdr->idEvt, pEvtHdr->hEvtSrc, pEvtMmioMap->hMmioRegion, pEvtMmioMap->GCPhysMmioBase); 452 484 break; … … 456 488 PCDBGFTRACEREVTMMIOUNMAP pEvtMmioUnmap = (PCDBGFTRACEREVTMMIOUNMAP)(pEvtHdr + 1); 457 489 458 rc = RTTraceLogWrEvtAddL(pThis->hTraceLog, &g_DevMmioUnmapEvtDesc, RTTRACELOG_WR_ADD_EVT_F_GRP_START | RTTRACELOG_WR_ADD_EVT_F_GRP_FINISH,490 rc = RTTraceLogWrEvtAddL(pThis->hTraceLog, &g_DevMmioUnmapEvtDesc, 0 /*fFlags*/, 459 491 pEvtHdr->idEvt, pEvtHdr->hEvtSrc, pEvtMmioUnmap->hMmioRegion); 460 492 break; … … 469 501 ? &g_DevMmioReadEvtDesc 470 502 : &g_DevMmioWriteEvtDesc, 471 RTTRACELOG_WR_ADD_EVT_F_GRP_START | RTTRACELOG_WR_ADD_EVT_F_GRP_FINISH,503 0 /*fFlags*/, 472 504 pEvtHdr->idEvt, pEvtHdr->hEvtSrc, pEvtMmioRw->hMmioRegion, pEvtMmioRw->offMmio, 473 505 pEvtMmioRw->cbXfer, pEvtMmioRw->u64Val); … … 478 510 PCDBGFTRACEREVTMMIOFILL pEvtMmioFill = (PCDBGFTRACEREVTMMIOFILL)(pEvtHdr + 1); 479 511 480 rc = RTTraceLogWrEvtAddL(pThis->hTraceLog, &g_DevMmioFillEvtDesc, 481 RTTRACELOG_WR_ADD_EVT_F_GRP_START | RTTRACELOG_WR_ADD_EVT_F_GRP_FINISH, 512 rc = RTTraceLogWrEvtAddL(pThis->hTraceLog, &g_DevMmioFillEvtDesc, 0 /*fFlags*/, 482 513 pEvtHdr->idEvt, pEvtHdr->hEvtSrc, pEvtMmioFill->hMmioRegion, pEvtMmioFill->offMmio, 483 514 pEvtMmioFill->cbItem, pEvtMmioFill->cItems, pEvtMmioFill->u32Item); … … 488 519 PCDBGFTRACEREVTIOPORTMAP pEvtIoPortMap = (PCDBGFTRACEREVTIOPORTMAP)(pEvtHdr + 1); 489 520 490 rc = RTTraceLogWrEvtAddL(pThis->hTraceLog, &g_DevIoPortMapEvtDesc, RTTRACELOG_WR_ADD_EVT_F_GRP_START | RTTRACELOG_WR_ADD_EVT_F_GRP_FINISH,521 rc = RTTraceLogWrEvtAddL(pThis->hTraceLog, &g_DevIoPortMapEvtDesc, 0 /*fFlags*/, 491 522 pEvtHdr->idEvt, pEvtHdr->hEvtSrc, pEvtIoPortMap->hIoPorts, pEvtIoPortMap->IoPortBase); 492 523 break; … … 496 527 PCDBGFTRACEREVTIOPORTUNMAP pEvtIoPortUnmap = (PCDBGFTRACEREVTIOPORTUNMAP)(pEvtHdr + 1); 497 528 498 rc = RTTraceLogWrEvtAddL(pThis->hTraceLog, &g_DevIoPortUnmapEvtDesc, RTTRACELOG_WR_ADD_EVT_F_GRP_START | RTTRACELOG_WR_ADD_EVT_F_GRP_FINISH,529 rc = RTTraceLogWrEvtAddL(pThis->hTraceLog, &g_DevIoPortUnmapEvtDesc, 0 /*fFlags*/, 499 530 pEvtHdr->idEvt, pEvtHdr->hEvtSrc, pEvtIoPortUnmap->hIoPorts); 500 531 break; … … 509 540 ? &g_DevIoPortReadEvtDesc 510 541 : &g_DevIoPortWriteEvtDesc, 511 RTTRACELOG_WR_ADD_EVT_F_GRP_START | RTTRACELOG_WR_ADD_EVT_F_GRP_FINISH,542 0 /*fFlags*/, 512 543 pEvtHdr->idEvt, pEvtHdr->hEvtSrc, pEvtIoPortRw->hIoPorts, pEvtIoPortRw->offPort, 513 544 pEvtIoPortRw->cbXfer, pEvtIoPortRw->u32Val); … … 518 549 PCDBGFTRACEREVTIRQ pEvtIrq = (PCDBGFTRACEREVTIRQ)(pEvtHdr + 1); 519 550 520 rc = RTTraceLogWrEvtAddL(pThis->hTraceLog, 521 &g_DevIrqEvtDesc, 522 RTTRACELOG_WR_ADD_EVT_F_GRP_START | RTTRACELOG_WR_ADD_EVT_F_GRP_FINISH, 551 rc = RTTraceLogWrEvtAddL(pThis->hTraceLog, &g_DevIrqEvtDesc, 0 /*fFlags*/, 523 552 pEvtHdr->idEvt, pEvtHdr->hEvtSrc, pEvtIrq->iIrq, pEvtIrq->fIrqLvl); 524 553 break; … … 528 557 PCDBGFTRACEREVTIOAPICMSI pEvtIoApicMsi = (PCDBGFTRACEREVTIOAPICMSI)(pEvtHdr + 1); 529 558 530 rc = RTTraceLogWrEvtAddL(pThis->hTraceLog, 531 &g_DevIrqEvtDesc, 532 RTTRACELOG_WR_ADD_EVT_F_GRP_START | RTTRACELOG_WR_ADD_EVT_F_GRP_FINISH, 559 rc = RTTraceLogWrEvtAddL(pThis->hTraceLog, &g_DevIrqEvtDesc, 0 /*fFlags*/, 533 560 pEvtHdr->idEvt, pEvtHdr->hEvtSrc, pEvtIoApicMsi->GCPhys, pEvtIoApicMsi->u32Val); 534 561 break; … … 893 920 PDBGFTRACERINSR3 pThis = pUVM->dbgf.s.pTracerR3; 894 921 895 *phEvtSrc = pThis->hEvtSrcNext++; 896 return VINF_SUCCESS; 922 DBGFTRACEREVTSRC hEvtSrc = ASMAtomicIncU64((volatile uint64_t *)&pThis->hEvtSrcNext) - 1; 923 924 int rc = dbgfTracerR3EvtPostSingle(pVM, pThis, hEvtSrc, DBGFTRACEREVT_SRC_REGISTER, 925 NULL /*pvEvtDesc*/, 0 /*cbEvtDesc*/, NULL /*pidEvt*/); 926 if (RT_SUCCESS(rc)) 927 *phEvtSrc = hEvtSrc; 928 929 return rc; 897 930 } 898 931 … … 910 943 AssertReturn(hEvtSrc != NIL_DBGFTRACEREVTSRC, VERR_INVALID_HANDLE); 911 944 912 /** @todo Leave an event that the source deregistered. */ 913 return VINF_SUCCESS; 914 } 915 945 PUVM pUVM = pVM->pUVM; 946 PDBGFTRACERINSR3 pThis = pUVM->dbgf.s.pTracerR3; 947 return dbgfTracerR3EvtPostSingle(pVM, pThis, hEvtSrc, DBGFTRACEREVT_SRC_DEREGISTER, 948 NULL /*pvEvtDesc*/, 0 /*cbEvtDesc*/, NULL /*pidEvt*/); 949 } 950
Note:
See TracChangeset
for help on using the changeset viewer.