VirtualBox

Changeset 104992 in vbox


Ignore:
Timestamp:
Jun 21, 2024 8:50:59 AM (7 months ago)
Author:
vboxsync
Message:

Devices/Trace: Log VM reset/suspend/resume events in the tracelog, bugref:10701

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Trace/DrvIfsTrace.cpp

    r104976 r104992  
    7575 *
    7676 */
     77static const RTTRACELOGEVTDESC g_IfTraceVmResumeEvtDesc =
     78{
     79    "IfTrace.VmResume",
     80    "VM was resumed",
     81    RTTRACELOGEVTSEVERITY_DEBUG,
     82    0,
     83    NULL
     84};
     85
     86
     87/**
     88 * @callback_method_impl{FNPDMDRVRESUME}
     89 */
     90static DECLCALLBACK(void) drvIfTrace_Resume(PPDMDRVINS pDrvIns)
     91{
     92    PDMDRV_CHECK_VERSIONS_RETURN_VOID(pDrvIns);
     93    PDRVIFTRACE pThis = PDMINS_2_DATA(pDrvIns, PDRVIFTRACE);
     94    LogFlow(("%s: iInstance=%d\n", __FUNCTION__, pDrvIns->iInstance));
     95
     96    int rcTraceLog = RTTraceLogWrEvtAddL(pThis->hTraceLog, &g_IfTraceVmResumeEvtDesc, 0, 0, 0);
     97    if (RT_FAILURE(rcTraceLog))
     98        LogRelMax(10, ("DrvIfTrace#%d: Failed to add event to trace log %Rrc\n", pThis->pDrvIns->iInstance, rcTraceLog));
     99}
     100
     101
     102
     103static const RTTRACELOGEVTDESC g_IfTraceVmSuspendEvtDesc =
     104{
     105    "IfTrace.VmSuspend",
     106    "VM was suspended",
     107    RTTRACELOGEVTSEVERITY_DEBUG,
     108    0,
     109    NULL
     110};
     111
     112
     113/**
     114 * @callback_method_impl{FNPDMDRVSUSPEND}
     115 */
     116static DECLCALLBACK(void) drvIfTrace_Suspend(PPDMDRVINS pDrvIns)
     117{
     118    PDMDRV_CHECK_VERSIONS_RETURN_VOID(pDrvIns);
     119    PDRVIFTRACE pThis = PDMINS_2_DATA(pDrvIns, PDRVIFTRACE);
     120    LogFlow(("%s: iInstance=%d\n", __FUNCTION__, pDrvIns->iInstance));
     121
     122    int rcTraceLog = RTTraceLogWrEvtAddL(pThis->hTraceLog, &g_IfTraceVmSuspendEvtDesc, 0, 0, 0);
     123    if (RT_FAILURE(rcTraceLog))
     124        LogRelMax(10, ("DrvIfTrace#%d: Failed to add event to trace log %Rrc\n", pThis->pDrvIns->iInstance, rcTraceLog));
     125}
     126
     127
     128static const RTTRACELOGEVTDESC g_IfTraceVmResetEvtDesc =
     129{
     130    "IfTrace.VmReset",
     131    "VM was reset",
     132    RTTRACELOGEVTSEVERITY_DEBUG,
     133    0,
     134    NULL
     135};
     136
     137/**
     138 * @callback_method_impl{FNPDMDRVRESET}
     139 */
     140static DECLCALLBACK(void) drvIfTrace_Reset(PPDMDRVINS pDrvIns)
     141{
     142    PDMDRV_CHECK_VERSIONS_RETURN_VOID(pDrvIns);
     143    PDRVIFTRACE pThis = PDMINS_2_DATA(pDrvIns, PDRVIFTRACE);
     144    LogFlow(("%s: iInstance=%d\n", __FUNCTION__, pDrvIns->iInstance));
     145
     146    int rcTraceLog = RTTraceLogWrEvtAddL(pThis->hTraceLog, &g_IfTraceVmResetEvtDesc, 0, 0, 0);
     147    if (RT_FAILURE(rcTraceLog))
     148        LogRelMax(10, ("DrvIfTrace#%d: Failed to add event to trace log %Rrc\n", pThis->pDrvIns->iInstance, rcTraceLog));
     149}
     150
     151
    77152
    78153/**
     
    219294    NULL,
    220295    /* pfnReset */
    221     NULL,
     296    drvIfTrace_Reset,
    222297    /* pfnSuspend */
    223     NULL,
     298    drvIfTrace_Suspend,
    224299    /* pfnResume */
    225     NULL,
     300    drvIfTrace_Resume,
    226301    /* pfnAttach */
    227302    NULL,
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette