Changeset 20096 in vbox for trunk/src/VBox/VMM
- Timestamp:
- May 27, 2009 3:36:30 PM (16 years ago)
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/PDMDriver.cpp
r19454 r20096 853 853 854 854 /** @copydoc PDMDRVHLP::pfnTMTimerCreate */ 855 static DECLCALLBACK(int) pdmR3DrvHlp_TMTimerCreate(PPDMDRVINS pDrvIns, TMCLOCK enmClock, PFNTMTIMERDRV pfnCallback, const char *pszDesc, PPTMTIMERR3 ppTimer)856 { 857 PDMDRV_ASSERT_DRVINS(pDrvIns); 858 LogFlow(("pdmR3DrvHlp_TMTimerCreate: caller='%s'/%d: enmClock=%d pfnCallback=%p p szDesc=%p:{%s} ppTimer=%p\n",859 pDrvIns->pDrvReg->szDriverName, pDrvIns->iInstance, enmClock, pfnCallback, p szDesc, pszDesc, ppTimer));860 861 int rc = TMR3TimerCreateDriver(pDrvIns->Internal.s.pVM, pDrvIns, enmClock, pfnCallback, p szDesc, ppTimer);855 static DECLCALLBACK(int) pdmR3DrvHlp_TMTimerCreate(PPDMDRVINS pDrvIns, TMCLOCK enmClock, PFNTMTIMERDRV pfnCallback, void *pvUser, uint32_t fFlags, const char *pszDesc, PPTMTIMERR3 ppTimer) 856 { 857 PDMDRV_ASSERT_DRVINS(pDrvIns); 858 LogFlow(("pdmR3DrvHlp_TMTimerCreate: caller='%s'/%d: enmClock=%d pfnCallback=%p pvUser=%p fFlags=%#x pszDesc=%p:{%s} ppTimer=%p\n", 859 pDrvIns->pDrvReg->szDriverName, pDrvIns->iInstance, enmClock, pfnCallback, pvUser, fFlags, pszDesc, pszDesc, ppTimer)); 860 861 int rc = TMR3TimerCreateDriver(pDrvIns->Internal.s.pVM, pDrvIns, enmClock, pfnCallback, pvUser, fFlags, pszDesc, ppTimer); 862 862 863 863 LogFlow(("pdmR3DrvHlp_TMTimerCreate: caller='%s'/%d: returns %Rrc *ppTimer=%p\n", pDrvIns->pDrvReg->szDriverName, pDrvIns->iInstance, rc, *ppTimer)); -
trunk/src/VBox/VMM/TM.cpp
r20091 r20096 1272 1272 * @param enmClock The clock to use on this timer. 1273 1273 * @param pfnCallback Callback function. 1274 * @param pvUser The user argument to the callback. 1275 * @param fFlags Timer creation flags, see grp_tm_timer_flags. 1274 1276 * @param pszDesc Pointer to description string which must stay around 1275 1277 * until the timer is fully destroyed (i.e. a bit after TMTimerDestroy()). 1276 1278 * @param ppTimer Where to store the timer on success. 1277 1279 */ 1278 VMMR3DECL(int) TMR3TimerCreateDriver(PVM pVM, PPDMDRVINS pDrvIns, TMCLOCK enmClock, PFNTMTIMERDRV pfnCallback, const char *pszDesc, PPTMTIMERR3 ppTimer) 1279 { 1280 VMMR3DECL(int) TMR3TimerCreateDriver(PVM pVM, PPDMDRVINS pDrvIns, TMCLOCK enmClock, PFNTMTIMERDRV pfnCallback, void *pvUser, 1281 uint32_t fFlags, const char *pszDesc, PPTMTIMERR3 ppTimer) 1282 { 1283 AssertReturn(!(fFlags & ~(TMTIMER_FLAGS_NO_CRIT_SECT)), VERR_INVALID_PARAMETER); 1284 1280 1285 /* 1281 1286 * Allocate and init stuff. … … 1287 1292 (*ppTimer)->u.Drv.pfnTimer = pfnCallback; 1288 1293 (*ppTimer)->u.Drv.pDrvIns = pDrvIns; 1294 (*ppTimer)->pvUser = pvUser; 1289 1295 Log(("TM: Created device timer %p clock %d callback %p '%s'\n", (*ppTimer), enmClock, pfnCallback, pszDesc)); 1290 1296 } … … 1844 1850 { 1845 1851 case TMTIMERTYPE_DEV: pTimer->u.Dev.pfnTimer(pTimer->u.Dev.pDevIns, pTimer, pTimer->pvUser); break; 1846 case TMTIMERTYPE_DRV: pTimer->u.Drv.pfnTimer(pTimer->u.Drv.pDrvIns, pTimer /*, pTimer->pvUser*/); break;1852 case TMTIMERTYPE_DRV: pTimer->u.Drv.pfnTimer(pTimer->u.Drv.pDrvIns, pTimer, pTimer->pvUser); break; 1847 1853 case TMTIMERTYPE_INTERNAL: pTimer->u.Internal.pfnTimer(pVM, pTimer, pTimer->pvUser); break; 1848 1854 case TMTIMERTYPE_EXTERNAL: pTimer->u.External.pfnTimer(pTimer->pvUser); break; … … 2017 2023 { 2018 2024 case TMTIMERTYPE_DEV: pTimer->u.Dev.pfnTimer(pTimer->u.Dev.pDevIns, pTimer, pTimer->pvUser); break; 2019 case TMTIMERTYPE_DRV: pTimer->u.Drv.pfnTimer(pTimer->u.Drv.pDrvIns, pTimer /*, pTimer->pvUser*/); break;2025 case TMTIMERTYPE_DRV: pTimer->u.Drv.pfnTimer(pTimer->u.Drv.pDrvIns, pTimer, pTimer->pvUser); break; 2020 2026 case TMTIMERTYPE_INTERNAL: pTimer->u.Internal.pfnTimer(pVM, pTimer, pTimer->pvUser); break; 2021 2027 case TMTIMERTYPE_EXTERNAL: pTimer->u.External.pfnTimer(pTimer->pvUser); break;
Note:
See TracChangeset
for help on using the changeset viewer.