VirtualBox

Changeset 33799 in vbox for trunk/include


Ignore:
Timestamp:
Nov 5, 2010 4:14:07 PM (14 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
67444
Message:

PDM: Added DevHelps to query virtual time without requiring a timer.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/pdmdev.h

    r33540 r33799  
    32433243    DECLR3CALLBACKMEMBER(void, pfnGetCpuId,(PPDMDEVINS pDevIns, uint32_t iLeaf, uint32_t *pEax, uint32_t *pEbx, uint32_t *pEcx, uint32_t *pEdx));
    32443244
     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
    32453270    /** @} */
    32463271
     
    34013426    DECLRCCALLBACKMEMBER(PVMCPU, pfnGetVMCPU,(PPDMDEVINS pDevIns));
    34023427
     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
    34033453    /** Just a safety precaution. */
    34043454    uint32_t                        u32TheEnd;
     
    35633613     */
    35643614    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));
    35653640
    35663641    /** Just a safety precaution. */
     
    44754550}
    44764551
     4552/**
     4553 * @copydoc PDMDEVHLPR3::pfnTMTimeVirtGet
     4554 */
     4555DECLINLINE(uint64_t) PDMDevHlpTMTimeVirtGet(PPDMDEVINS pDevIns)
     4556{
     4557    return pDevIns->CTX_SUFF(pHlp)->pfnTMTimeVirtGet(pDevIns);
     4558}
     4559
     4560/**
     4561 * @copydoc PDMDEVHLPR3::pfnTMTimeVirtGetFreq
     4562 */
     4563DECLINLINE(uint64_t) PDMDevHlpTMTimeVirtGetFreq(PPDMDEVINS pDevIns)
     4564{
     4565    return pDevIns->CTX_SUFF(pHlp)->pfnTMTimeVirtGetFreq(pDevIns);
     4566}
     4567
     4568/**
     4569 * @copydoc PDMDEVHLPR3::pfnTMTimeVirtGetFreq
     4570 */
     4571DECLINLINE(uint64_t) PDMDevHlpTMTimeVirtGetNano(PPDMDEVINS pDevIns)
     4572{
     4573    return pDevIns->CTX_SUFF(pHlp)->pfnTMTimeVirtGetNano(pDevIns);
     4574}
     4575
    44774576#ifdef IN_RING3
    44784577
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