VirtualBox

Changeset 93912 in vbox


Ignore:
Timestamp:
Feb 24, 2022 11:24:42 AM (3 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
150138
Message:

VMM: Add driver helper to destroy a timer, bugref:10196

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/vmm/pdmdrv.h

    r93628 r93912  
    882882    DECLR3CALLBACKMEMBER(int, pfnTimerCreate,(PPDMDRVINS pDrvIns, TMCLOCK enmClock, PFNTMTIMERDRV pfnCallback, void *pvUser,
    883883                                              uint32_t fFlags, const char *pszDesc, PTMTIMERHANDLE phTimer));
     884
     885    /**
     886     * Destroys a timer.
     887     *
     888     * @returns VBox status.
     889     * @param   pDrvIns         Driver instance.
     890     * @param   hTimer          The timer handle to destroy.
     891     */
     892    DECLR3CALLBACKMEMBER(int, pfnTimerDestroy,(PPDMDRVINS pDrvIns, TMTIMERHANDLE hTimer));
    884893
    885894    /**
     
    15181527} PDMDRVHLPR3;
    15191528/** Current DRVHLP version number. */
    1520 #define PDM_DRVHLPR3_VERSION                    PDM_VERSION_MAKE(0xf0fb, 14, 0)
     1529#define PDM_DRVHLPR3_VERSION                    PDM_VERSION_MAKE(0xf0fb, 15, 0)
    15211530
    15221531
     
    17431752{
    17441753    return pDrvIns->pHlpR3->pfnTimerCreate(pDrvIns, enmClock, pfnCallback, pvUser, fFlags, pszDesc, phTimer);
     1754}
     1755
     1756/**
     1757 * @copydoc PDMDRVHLPR3::pfnTimerDestroy
     1758 */
     1759DECLINLINE(int) PDMDrvHlpTimerDestroy(PPDMDRVINS pDrvIns, TMTIMERHANDLE hTimer)
     1760
     1761{
     1762    return pDrvIns->pHlpR3->pfnTimerDestroy(pDrvIns, hTimer);
    17451763}
    17461764
  • trunk/src/VBox/VMM/VMMR3/PDMDriver.cpp

    r93653 r93912  
    13671367
    13681368
     1369/** @interface_method_impl{PDMDRVHLPR3,pfnTimerDestroy} */
     1370static DECLCALLBACK(int) pdmR3DrvHlp_TimerDestroy(PPDMDRVINS pDrvIns, TMTIMERHANDLE hTimer)
     1371{
     1372    PDMDRV_ASSERT_DRVINS(pDrvIns);
     1373    LogFlow(("pdmR3DrvHlp_TimerDestroy: caller='%s'/%d: hTimer=%RX64\n",
     1374             pDrvIns->pReg->szName, pDrvIns->iInstance, hTimer));
     1375
     1376    int rc = TMR3TimerDestroy(pDrvIns->Internal.s.pVMR3, hTimer);
     1377
     1378    LogFlow(("pdmR3DrvHlp_TimerDestroy: caller='%s'/%d: returns %Rrc\n", pDrvIns->pReg->szName, pDrvIns->iInstance, rc));
     1379    return rc;
     1380}
     1381
     1382
    13691383/** @interface_method_impl{PDMDRVHLPR3,pfnTimerSetMillies} */
    13701384static DECLCALLBACK(int) pdmR3DrvHlp_TimerSetMillies(PPDMDRVINS pDrvIns, TMTIMERHANDLE hTimer, uint64_t cMilliesToNext)
     
    21022116    pdmR3DrvHlp_TMGetVirtualTime,
    21032117    pdmR3DrvHlp_TimerCreate,
     2118    pdmR3DrvHlp_TimerDestroy,
    21042119    pdmR3DrvHlp_SSMRegister,
    21052120    pdmR3DrvHlp_SSMDeregister,
Note: See TracChangeset for help on using the changeset viewer.

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