Changeset 33799 in vbox
- Timestamp:
- Nov 5, 2010 4:14:07 PM (14 years ago)
- Location:
- trunk
- Files:
-
- 4 edited
-
include/VBox/pdmdev.h (modified) (4 diffs)
-
src/VBox/VMM/PDMDevHlp.cpp (modified) (3 diffs)
-
src/VBox/VMM/VMMGC/PDMGCDevice.cpp (modified) (2 diffs)
-
src/VBox/VMM/VMMR0/PDMR0Device.cpp (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/pdmdev.h
r33540 r33799 3243 3243 DECLR3CALLBACKMEMBER(void, pfnGetCpuId,(PPDMDEVINS pDevIns, uint32_t iLeaf, uint32_t *pEax, uint32_t *pEbx, uint32_t *pEcx, uint32_t *pEdx)); 3244 3244 3245 /** 3246 * Get the current virtual clock time in a VM. The clock frequency must be 3247 * queried separately. 3248 * 3249 * @returns Current clock time. 3250 * @param pDevIns The device instance. 3251 */ 3252 DECLR3CALLBACKMEMBER(uint64_t, pfnTMTimeVirtGet,(PPDMDEVINS pDevIns)); 3253 3254 /** 3255 * Get the frequency of the virtual clock. 3256 * 3257 * @returns The clock frequency (not variable at run-time). 3258 * @param pDevIns The device instance. 3259 */ 3260 DECLR3CALLBACKMEMBER(uint64_t, pfnTMTimeVirtGetFreq,(PPDMDEVINS pDevIns)); 3261 3262 /** 3263 * Get the current virtual clock time in a VM, in nanoseconds. 3264 * 3265 * @returns Current clock time (in ns). 3266 * @param pDevIns The device instance. 3267 */ 3268 DECLR3CALLBACKMEMBER(uint64_t, pfnTMTimeVirtGetNano,(PPDMDEVINS pDevIns)); 3269 3245 3270 /** @} */ 3246 3271 … … 3401 3426 DECLRCCALLBACKMEMBER(PVMCPU, pfnGetVMCPU,(PPDMDEVINS pDevIns)); 3402 3427 3428 /** 3429 * Get the current virtual clock time in a VM. The clock frequency must be 3430 * queried separately. 3431 * 3432 * @returns Current clock time. 3433 * @param pDevIns The device instance. 3434 */ 3435 DECLRCCALLBACKMEMBER(uint64_t, pfnTMTimeVirtGet,(PPDMDEVINS pDevIns)); 3436 3437 /** 3438 * Get the frequency of the virtual clock. 3439 * 3440 * @returns The clock frequency (not variable at run-time). 3441 * @param pDevIns The device instance. 3442 */ 3443 DECLRCCALLBACKMEMBER(uint64_t, pfnTMTimeVirtGetFreq,(PPDMDEVINS pDevIns)); 3444 3445 /** 3446 * Get the current virtual clock time in a VM, in nanoseconds. 3447 * 3448 * @returns Current clock time (in ns). 3449 * @param pDevIns The device instance. 3450 */ 3451 DECLRCCALLBACKMEMBER(uint64_t, pfnTMTimeVirtGetNano,(PPDMDEVINS pDevIns)); 3452 3403 3453 /** Just a safety precaution. */ 3404 3454 uint32_t u32TheEnd; … … 3563 3613 */ 3564 3614 DECLR0CALLBACKMEMBER(PVMCPU, pfnGetVMCPU,(PPDMDEVINS pDevIns)); 3615 3616 /** 3617 * Get the current virtual clock time in a VM. The clock frequency must be 3618 * queried separately. 3619 * 3620 * @returns Current clock time. 3621 * @param pDevIns The device instance. 3622 */ 3623 DECLR0CALLBACKMEMBER(uint64_t, pfnTMTimeVirtGet,(PPDMDEVINS pDevIns)); 3624 3625 /** 3626 * Get the frequency of the virtual clock. 3627 * 3628 * @returns The clock frequency (not variable at run-time). 3629 * @param pDevIns The device instance. 3630 */ 3631 DECLR0CALLBACKMEMBER(uint64_t, pfnTMTimeVirtGetFreq,(PPDMDEVINS pDevIns)); 3632 3633 /** 3634 * Get the current virtual clock time in a VM, in nanoseconds. 3635 * 3636 * @returns Current clock time (in ns). 3637 * @param pDevIns The device instance. 3638 */ 3639 DECLR0CALLBACKMEMBER(uint64_t, pfnTMTimeVirtGetNano,(PPDMDEVINS pDevIns)); 3565 3640 3566 3641 /** Just a safety precaution. */ … … 4475 4550 } 4476 4551 4552 /** 4553 * @copydoc PDMDEVHLPR3::pfnTMTimeVirtGet 4554 */ 4555 DECLINLINE(uint64_t) PDMDevHlpTMTimeVirtGet(PPDMDEVINS pDevIns) 4556 { 4557 return pDevIns->CTX_SUFF(pHlp)->pfnTMTimeVirtGet(pDevIns); 4558 } 4559 4560 /** 4561 * @copydoc PDMDEVHLPR3::pfnTMTimeVirtGetFreq 4562 */ 4563 DECLINLINE(uint64_t) PDMDevHlpTMTimeVirtGetFreq(PPDMDEVINS pDevIns) 4564 { 4565 return pDevIns->CTX_SUFF(pHlp)->pfnTMTimeVirtGetFreq(pDevIns); 4566 } 4567 4568 /** 4569 * @copydoc PDMDEVHLPR3::pfnTMTimeVirtGetFreq 4570 */ 4571 DECLINLINE(uint64_t) PDMDevHlpTMTimeVirtGetNano(PPDMDEVINS pDevIns) 4572 { 4573 return pDevIns->CTX_SUFF(pHlp)->pfnTMTimeVirtGetNano(pDevIns); 4574 } 4575 4477 4576 #ifdef IN_RING3 4478 4577 -
trunk/src/VBox/VMM/PDMDevHlp.cpp
r33236 r33799 595 595 LogFlow(("pdmR3DevHlp_TMUtcNow: caller='%s'/%d: returns %RU64\n", pDevIns->pReg->szName, pDevIns->iInstance, RTTimeSpecGetNano(pTime))); 596 596 return pTime; 597 } 598 599 600 /** @interface_method_impl{PDMDEVHLPR3,pfnTMTimeVirtGet} */ 601 static DECLCALLBACK(uint64_t) pdmR3DevHlp_TMTimeVirtGet(PPDMDEVINS pDevIns) 602 { 603 PDMDEV_ASSERT_DEVINS(pDevIns); 604 LogFlow(("pdmR3DevHlp_TMTimeVirtGet: caller='%s'\n", 605 pDevIns->pReg->szName, pDevIns->iInstance)); 606 607 uint64_t u64Time = TMVirtualSyncGet(pDevIns->Internal.s.pVMR3); 608 609 LogFlow(("pdmR3DevHlp_TMTimeVirtGet: caller='%s'/%d: returns %RU64\n", pDevIns->pReg->szName, pDevIns->iInstance, u64Time)); 610 return u64Time; 611 } 612 613 614 /** @interface_method_impl{PDMDEVHLPR3,pfnTMTimeVirtGetFreq} */ 615 static DECLCALLBACK(uint64_t) pdmR3DevHlp_TMTimeVirtGetFreq(PPDMDEVINS pDevIns) 616 { 617 PDMDEV_ASSERT_DEVINS(pDevIns); 618 LogFlow(("pdmR3DevHlp_TMTimeVirtGetFreq: caller='%s'\n", 619 pDevIns->pReg->szName, pDevIns->iInstance)); 620 621 uint64_t u64Freq = TMVirtualGetFreq(pDevIns->Internal.s.pVMR3); 622 623 LogFlow(("pdmR3DevHlp_TMTimeVirtGetFreq: caller='%s'/%d: returns %RU64\n", pDevIns->pReg->szName, pDevIns->iInstance, u64Freq)); 624 return u64Freq; 625 } 626 627 628 /** @interface_method_impl{PDMDEVHLPR3,pfnTMTimeVirtGetNano} */ 629 static DECLCALLBACK(uint64_t) pdmR3DevHlp_TMTimeVirtGetNano(PPDMDEVINS pDevIns) 630 { 631 PDMDEV_ASSERT_DEVINS(pDevIns); 632 LogFlow(("pdmR3DevHlp_TMTimeVirtGetNano: caller='%s'\n", 633 pDevIns->pReg->szName, pDevIns->iInstance)); 634 635 uint64_t u64Time = TMVirtualSyncGet(pDevIns->Internal.s.pVMR3); 636 uint64_t u64Nano = TMVirtualToNano(pDevIns->Internal.s.pVMR3, u64Time); 637 638 LogFlow(("pdmR3DevHlp_TMTimeVirtGetNano: caller='%s'/%d: returns %RU64\n", pDevIns->pReg->szName, pDevIns->iInstance, u64Nano)); 639 return u64Nano; 597 640 } 598 641 … … 3147 3190 pdmR3DevHlp_A20Set, 3148 3191 pdmR3DevHlp_GetCpuId, 3192 pdmR3DevHlp_TMTimeVirtGet, 3193 pdmR3DevHlp_TMTimeVirtGetFreq, 3194 pdmR3DevHlp_TMTimeVirtGetNano, 3149 3195 PDM_DEVHLPR3_VERSION /* the end */ 3150 3196 }; … … 3354 3400 pdmR3DevHlp_Untrusted_A20Set, 3355 3401 pdmR3DevHlp_Untrusted_GetCpuId, 3402 pdmR3DevHlp_TMTimeVirtGet, 3403 pdmR3DevHlp_TMTimeVirtGetFreq, 3404 pdmR3DevHlp_TMTimeVirtGetNano, 3356 3405 PDM_DEVHLPR3_VERSION /* the end */ 3357 3406 }; -
trunk/src/VBox/VMM/VMMGC/PDMGCDevice.cpp
r32935 r33799 233 233 LogFlow(("pdmRCDevHlp_GetVMCPU: caller='%p'/%d\n", pDevIns, pDevIns->iInstance)); 234 234 return VMMGetCpu(pDevIns->Internal.s.pVMRC); 235 } 236 237 238 /** @interface_method_impl{PDMDEVHLPRC,pfnTMTimeVirtGet} */ 239 static DECLCALLBACK(uint64_t) pdmRCDevHlp_TMTimeVirtGet(PPDMDEVINS pDevIns) 240 { 241 PDMDEV_ASSERT_DEVINS(pDevIns); 242 LogFlow(("pdmRCDevHlp_TMTimeVirtGet: caller='%p'/%d\n", pDevIns, pDevIns->iInstance)); 243 return TMVirtualGet(pDevIns->Internal.s.pVMRC); 244 } 245 246 247 /** @interface_method_impl{PDMDEVHLPRC,pfnTMTimeVirtGetFreq} */ 248 static DECLCALLBACK(uint64_t) pdmRCDevHlp_TMTimeVirtGetFreq(PPDMDEVINS pDevIns) 249 { 250 PDMDEV_ASSERT_DEVINS(pDevIns); 251 LogFlow(("pdmRCDevHlp_TMTimeVirtGetFreq: caller='%p'/%d\n", pDevIns, pDevIns->iInstance)); 252 return TMVirtualGetFreq(pDevIns->Internal.s.pVMRC); 253 } 254 255 256 /** @interface_method_impl{PDMDEVHLPRC,pfnTMTimeVirtGetNano} */ 257 static DECLCALLBACK(uint64_t) pdmRCDevHlp_TMTimeVirtGetNano(PPDMDEVINS pDevIns) 258 { 259 PDMDEV_ASSERT_DEVINS(pDevIns); 260 LogFlow(("pdmRCDevHlp_TMTimeVirtGetNano: caller='%p'/%d\n", pDevIns, pDevIns->iInstance)); 261 return TMVirtualToNano(pDevIns->Internal.s.pVMRC, TMVirtualGet(pDevIns->Internal.s.pVMRC)); 235 262 } 236 263 … … 255 282 pdmRCDevHlp_GetVM, 256 283 pdmRCDevHlp_GetVMCPU, 284 pdmRCDevHlp_TMTimeVirtGet, 285 pdmRCDevHlp_TMTimeVirtGetFreq, 286 pdmRCDevHlp_TMTimeVirtGetNano, 257 287 PDM_DEVHLPRC_VERSION 258 288 }; -
trunk/src/VBox/VMM/VMMR0/PDMR0Device.cpp
r32935 r33799 249 249 LogFlow(("pdmR0DevHlp_GetVMCPU: caller='%p'/%d\n", pDevIns, pDevIns->iInstance)); 250 250 return VMMGetCpu(pDevIns->Internal.s.pVMR0); 251 } 252 253 254 /** @interface_method_impl{PDMDEVHLPR0,pfnTMTimeVirtGet} */ 255 static DECLCALLBACK(uint64_t) pdmR0DevHlp_TMTimeVirtGet(PPDMDEVINS pDevIns) 256 { 257 PDMDEV_ASSERT_DEVINS(pDevIns); 258 LogFlow(("pdmR0DevHlp_TMTimeVirtGet: caller='%p'/%d\n", pDevIns, pDevIns->iInstance)); 259 return TMVirtualGet(pDevIns->Internal.s.pVMR0); 260 } 261 262 263 /** @interface_method_impl{PDMDEVHLPR0,pfnTMTimeVirtGetFreq} */ 264 static DECLCALLBACK(uint64_t) pdmR0DevHlp_TMTimeVirtGetFreq(PPDMDEVINS pDevIns) 265 { 266 PDMDEV_ASSERT_DEVINS(pDevIns); 267 LogFlow(("pdmR0DevHlp_TMTimeVirtGetFreq: caller='%p'/%d\n", pDevIns, pDevIns->iInstance)); 268 return TMVirtualGetFreq(pDevIns->Internal.s.pVMR0); 269 } 270 271 272 /** @interface_method_impl{PDMDEVHLPR0,pfnTMTimeVirtGetNano} */ 273 static DECLCALLBACK(uint64_t) pdmR0DevHlp_TMTimeVirtGetNano(PPDMDEVINS pDevIns) 274 { 275 PDMDEV_ASSERT_DEVINS(pDevIns); 276 LogFlow(("pdmR0DevHlp_TMTimeVirtGetNano: caller='%p'/%d\n", pDevIns, pDevIns->iInstance)); 277 return TMVirtualToNano(pDevIns->Internal.s.pVMR0, TMVirtualGet(pDevIns->Internal.s.pVMR0)); 251 278 } 252 279 … … 272 299 pdmR0DevHlp_CanEmulateIoBlock, 273 300 pdmR0DevHlp_GetVMCPU, 301 pdmR0DevHlp_TMTimeVirtGet, 302 pdmR0DevHlp_TMTimeVirtGetFreq, 303 pdmR0DevHlp_TMTimeVirtGetNano, 274 304 PDM_DEVHLPR0_VERSION 275 305 };
Note:
See TracChangeset
for help on using the changeset viewer.

