VirtualBox

Changeset 24740 in vbox for trunk/include


Ignore:
Timestamp:
Nov 17, 2009 9:44:14 PM (15 years ago)
Author:
vboxsync
Message:

VMM, PDM: Need a AsyncNotificationCompleted helper so we can skip the poll mess.

Location:
trunk/include/VBox
Files:
4 edited

Legend:

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

    r24730 r24740  
    24202420    DECLR3CALLBACKMEMBER(int, pfnSetAsyncNotification, (PPDMDEVINS pDevIns, PFNPDMDEVASYNCNOTIFY pfnAsyncNotify));
    24212421
     2422    /**
     2423     * Notify EMT(0) that the device has completed the asynchronous notification
     2424     * handling.
     2425     *
     2426     * This can be called at any time, spurious calls will simply be ignored.
     2427     *
     2428     * @param   pDevIns             The device instance.
     2429     * @thread  Any
     2430     */
     2431    DECLR3CALLBACKMEMBER(void, pfnAsyncNotificationCompleted, (PPDMDEVINS pDevIns));
     2432
    24222433    /** Space reserved for future members.
    24232434     * @{ */
     
    37393750
    37403751/**
     3752 * @copydoc PDMDEVHLPR3::pfnAsyncNotificationCompleted
     3753 */
     3754DECLINLINE(void) PDMDevHlpAsyncNotificationCompleted(PPDMDEVINS pDevIns)
     3755{
     3756    pDevIns->pDevHlpR3->pfnAsyncNotificationCompleted(pDevIns);
     3757}
     3758
     3759/**
    37413760 * @copydoc PDMDEVHLPR3::pfnVMState
    37423761 */
  • trunk/include/VBox/pdmdrv.h

    r24730 r24740  
    711711
    712712    /**
     713     * Notify EMT(0) that the driver has completed the asynchronous notification
     714     * handling.
     715     *
     716     * This can be called at any time, spurious calls will simply be ignored.
     717     *
     718     * @param   pDrvIns             The driver instance.
     719     * @thread  Any
     720     */
     721    DECLR3CALLBACKMEMBER(void, pfnAsyncNotificationCompleted, (PPDMDRVINS pDrvIns));
     722
     723    /**
    713724     * Creates a PDM thread.
    714725     *
     
    10391050
    10401051/**
     1052 * @copydoc PDMDRVHLP::pfnSetAsyncNotification
     1053 */
     1054DECLINLINE(int) PDMDrvHlpSetAsyncNotification(PPDMDRVINS pDrvIns, PFNPDMDRVASYNCNOTIFY pfnAsyncNotify)
     1055{
     1056    return pDrvIns->pDrvHlp->pfnSetAsyncNotification(pDrvIns, pfnAsyncNotify);
     1057}
     1058
     1059/**
     1060 * @copydoc PDMDRVHLP::pfnAsyncNotificationCompleted
     1061 */
     1062DECLINLINE(void) PDMDrvHlpAsyncNotificationCompleted(PPDMDRVINS pDrvIns)
     1063{
     1064    pDrvIns->pDrvHlp->pfnAsyncNotificationCompleted(pDrvIns);
     1065}
     1066
     1067/**
    10411068 * @copydoc PDMDRVHLP::pfnPDMThreadCreate
    10421069 */
  • trunk/include/VBox/pdmusb.h

    r24730 r24740  
    586586     */
    587587    DECLR3CALLBACKMEMBER(int, pfnSetAsyncNotification, (PPDMUSBINS pUSbIns, PFNPDMUSBASYNCNOTIFY pfnAsyncNotify));
     588
     589    /**
     590     * Notify EMT(0) that the device has completed the asynchronous notification
     591     * handling.
     592     *
     593     * This can be called at any time, spurious calls will simply be ignored.
     594     *
     595     * @param   pUSBIns             The USB device instance.
     596     * @thread  Any
     597     */
     598    DECLR3CALLBACKMEMBER(void, pfnAsyncNotificationCompleted, (PPDMUSBINS pUsbIns));
    588599
    589600    /** Just a safety precaution. */
     
    728739}
    729740
     741/**
     742 * @copydoc PDMUSBHLP::pfnSetAsyncNotification
     743 */
     744DECLINLINE(int) PDMUsbHlpSetAsyncNotification(PPDMUSBINS pUsbIns, PFNPDMUSBASYNCNOTIFY pfnAsyncNotify)
     745{
     746    return pUsbIns->pUsbHlp->pfnSetAsyncNotification(pUsbIns, pfnAsyncNotify);
     747}
     748
     749/**
     750 * @copydoc PDMUSBHLP::pfnAsyncNotificationCompleted
     751 */
     752DECLINLINE(void) PDMUsbHlpAsyncNotificationCompleted(PPDMUSBINS pUsbIns)
     753{
     754    pUsbIns->pUsbHlp->pfnAsyncNotificationCompleted(pUsbIns);
     755}
     756
    730757#endif /* IN_RING3 */
    731758
  • trunk/include/VBox/vmapi.h

    r24508 r24740  
    398398/** @} */
    399399
    400 VMMR3DECL(int)  VMR3WaitHalted(PVM pVM, PVMCPU pVCpu, bool fIgnoreInterrupts);
    401 VMMR3DECL(int)  VMR3WaitU(PUVMCPU pUVMCpu);
     400VMMR3DECL(int)              VMR3WaitHalted(PVM pVM, PVMCPU pVCpu, bool fIgnoreInterrupts);
     401VMMR3DECL(int)              VMR3WaitU(PUVMCPU pUVMCpu);
     402VMMR3_INT_DECL(int)         VMR3AsyncPdmNotificationWaitU(PUVMCPU pUVCpu);
     403VMMR3_INT_DECL(void)        VMR3AsyncPdmNotificationWakeupU(PUVM pUVM);
    402404VMMR3DECL(RTCPUID)          VMR3GetVMCPUId(PVM pVM);
    403405VMMR3DECL(RTTHREAD)         VMR3GetVMCPUThread(PVM pVM);
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