Changeset 87761 in vbox for trunk/src/VBox/VMM/VMMR3
- Timestamp:
- Feb 15, 2021 11:02:24 PM (4 years ago)
- svn:sync-xref-src-repo-rev:
- 142815
- Location:
- trunk/src/VBox/VMM/VMMR3
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR3/PDMDriver.cpp
r87760 r87761 1318 1318 1319 1319 1320 /** @interface_method_impl{PDMDRVHLPR3,pfnTMTimerCreate} */ 1321 static DECLCALLBACK(int) pdmR3DrvHlp_TMTimerCreate(PPDMDRVINS pDrvIns, TMCLOCK enmClock, PFNTMTIMERDRV pfnCallback, void *pvUser, uint32_t fFlags, const char *pszDesc, PPTMTIMERR3 ppTimer) 1322 { 1323 PDMDRV_ASSERT_DRVINS(pDrvIns); 1324 LogFlow(("pdmR3DrvHlp_TMTimerCreate: caller='%s'/%d: enmClock=%d pfnCallback=%p pvUser=%p fFlags=%#x pszDesc=%p:{%s} ppTimer=%p\n", 1325 pDrvIns->pReg->szName, pDrvIns->iInstance, enmClock, pfnCallback, pvUser, fFlags, pszDesc, pszDesc, ppTimer)); 1320 /** @interface_method_impl{PDMDRVHLPR3,pfnTimerCreate} */ 1321 static DECLCALLBACK(int) pdmR3DrvHlp_TimerCreate(PPDMDRVINS pDrvIns, TMCLOCK enmClock, PFNTMTIMERDRV pfnCallback, void *pvUser, 1322 uint32_t fFlags, const char *pszDesc, PTMTIMERHANDLE phTimer) 1323 { 1324 PDMDRV_ASSERT_DRVINS(pDrvIns); 1325 LogFlow(("pdmR3DrvHlp_TimerCreate: caller='%s'/%d: enmClock=%d pfnCallback=%p pvUser=%p fFlags=%#x pszDesc=%p:{%s} phTimer=%p\n", 1326 pDrvIns->pReg->szName, pDrvIns->iInstance, enmClock, pfnCallback, pvUser, fFlags, pszDesc, pszDesc, phTimer)); 1326 1327 1327 1328 /* Clear the ring-0 flag if the driver isn't configured for ring-0. */ 1328 1329 if (fFlags & TMTIMER_FLAGS_RING0) 1329 1330 { 1331 AssertReturn(!(fFlags & TMTIMER_FLAGS_NO_RING0), VERR_INVALID_FLAGS); 1330 1332 Assert(pDrvIns->Internal.s.pDrv->pReg->fFlags & PDM_DRVREG_FLAGS_R0); 1331 1333 /** @todo if (!(pDrvIns->Internal.s.fIntFlags & PDMDRVINSINT_FLAGS_R0_ENABLED)) */ 1332 fFlags &= ~TMTIMER_FLAGS_RING0; 1333 } 1334 1335 int rc = TMR3TimerCreateDriver(pDrvIns->Internal.s.pVMR3, pDrvIns, enmClock, pfnCallback, pvUser, fFlags, pszDesc, ppTimer); 1336 1337 LogFlow(("pdmR3DrvHlp_TMTimerCreate: caller='%s'/%d: returns %Rrc *ppTimer=%p\n", pDrvIns->pReg->szName, pDrvIns->iInstance, rc, *ppTimer)); 1334 fFlags = (fFlags & ~TMTIMER_FLAGS_RING0) | TMTIMER_FLAGS_NO_RING0; 1335 } 1336 else 1337 fFlags |= TMTIMER_FLAGS_NO_RING0; 1338 1339 PTMTIMERR3 pTimer = NULL; 1340 int rc = TMR3TimerCreateDriver(pDrvIns->Internal.s.pVMR3, pDrvIns, enmClock, pfnCallback, pvUser, fFlags, pszDesc, &pTimer); 1341 if (RT_SUCCESS(rc)) 1342 *phTimer = (TMTIMERHANDLE)pTimer; 1343 1344 LogFlow(("pdmR3DrvHlp_TMTimerCreate: caller='%s'/%d: returns %Rrc *phTimer=%p\n", pDrvIns->pReg->szName, pDrvIns->iInstance, rc, *phTimer)); 1338 1345 return rc; 1339 1346 } … … 1843 1850 pdmR3DrvHlp_TMGetVirtualFreq, 1844 1851 pdmR3DrvHlp_TMGetVirtualTime, 1845 pdmR3DrvHlp_T MTimerCreate,1852 pdmR3DrvHlp_TimerCreate, 1846 1853 pdmR3DrvHlp_SSMRegister, 1847 1854 pdmR3DrvHlp_SSMDeregister, -
trunk/src/VBox/VMM/VMMR3/TM.cpp
r87760 r87761 1515 1515 { 1516 1516 VM_ASSERT_EMT(pVM); 1517 AssertReturn((fFlags & (TMTIMER_FLAGS_RING0 | TMTIMER_FLAGS_NO_RING0)) != (TMTIMER_FLAGS_RING0 | TMTIMER_FLAGS_NO_RING0), 1518 VERR_INVALID_FLAGS); 1517 1519 1518 1520 /*
Note:
See TracChangeset
for help on using the changeset viewer.