VirtualBox

Changeset 81850 in vbox


Ignore:
Timestamp:
Nov 14, 2019 9:36:00 PM (5 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
134644
Message:

PDMDevHlp: Adding PDMDevHlpCritSectScheduleExitEvent. bugref:9218

Location:
trunk
Files:
3 edited

Legend:

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

    r81772 r81850  
    22782278
    22792279/** Current PDMDEVHLPR3 version number. */
    2280 #define PDM_DEVHLPR3_VERSION                    PDM_VERSION_MAKE_PP(0xffe7, 34, 0)
     2280#define PDM_DEVHLPR3_VERSION                    PDM_VERSION_MAKE_PP(0xffe7, 35, 0)
    22812281
    22822282/**
     
    39403940    DECLR3CALLBACKMEMBER(bool,     pfnCritSectHasWaiters,(PPDMDEVINS pDevIns, PCPDMCRITSECT pCritSect));
    39413941    DECLR3CALLBACKMEMBER(uint32_t, pfnCritSectGetRecursion,(PPDMDEVINS pDevIns, PCPDMCRITSECT pCritSect));
     3942    DECLR3CALLBACKMEMBER(int,      pfnCritSectScheduleExitEvent,(PPDMDEVINS pDevIns, PPDMCRITSECT pCritSect, SUPSEMEVENT hEventToSignal));
    39423943    DECLR3CALLBACKMEMBER(int,      pfnCritSectDelete,(PPDMDEVINS pDevIns, PPDMCRITSECT pCritSect));
    39433944    /** @} */
     
    49774978
    49784979/** Current PDMDEVHLP version number. */
    4979 #define PDM_DEVHLPRC_VERSION                    PDM_VERSION_MAKE(0xffe6, 9, 0)
     4980#define PDM_DEVHLPRC_VERSION                    PDM_VERSION_MAKE(0xffe6, 10, 0)
    49804981
    49814982
     
    53915392    DECLR0CALLBACKMEMBER(bool,     pfnCritSectHasWaiters,(PPDMDEVINS pDevIns, PCPDMCRITSECT pCritSect));
    53925393    DECLR0CALLBACKMEMBER(uint32_t, pfnCritSectGetRecursion,(PPDMDEVINS pDevIns, PCPDMCRITSECT pCritSect));
     5394    DECLR0CALLBACKMEMBER(int,      pfnCritSectScheduleExitEvent,(PPDMDEVINS pDevIns, PPDMCRITSECT pCritSect, SUPSEMEVENT hEventToSignal));
    53935395    /** @} */
    53945396
     
    77357737}
    77367738
     7739#if defined(IN_RING3) || defined(IN_RING0)
     7740/**
     7741 * @copydoc PDMHCCritSectScheduleExitEvent
     7742 * @param   pDevIns  The device instance.
     7743 */
     7744DECLINLINE(int) PDMDevHlpCritSectScheduleExitEvent(PPDMDEVINS pDevIns, PPDMCRITSECT pCritSect, SUPSEMEVENT hEventToSignal)
     7745{
     7746    return pDevIns->CTX_SUFF(pHlp)->pfnCritSectScheduleExitEvent(pDevIns, pCritSect, hEventToSignal);
     7747}
     7748#endif
     7749
    77377750/* Strict build: Remap the two enter calls to the debug versions. */
    77387751#ifdef VBOX_STRICT
  • trunk/src/VBox/VMM/VMMR0/PDMR0Device.cpp

    r81841 r81850  
    10191019    RT_NOREF(pDevIns);
    10201020    return PDMCritSectGetRecursion(pCritSect);
     1021}
     1022
     1023
     1024/** @interface_method_impl{PDMDEVHLPR0,pfnCritSectScheduleExitEvent} */
     1025static DECLCALLBACK(int) pdmR0DevHlp_CritSectScheduleExitEvent(PPDMDEVINS pDevIns, PPDMCRITSECT pCritSect,
     1026                                                               SUPSEMEVENT hEventToSignal)
     1027{
     1028    PDMDEV_ASSERT_DEVINS(pDevIns);
     1029    RT_NOREF(pDevIns);
     1030    return PDMHCCritSectScheduleExitEvent(pCritSect, hEventToSignal);
    10211031}
    10221032
     
    11611171    pdmR0DevHlp_CritSectHasWaiters,
    11621172    pdmR0DevHlp_CritSectGetRecursion,
     1173    pdmR0DevHlp_CritSectScheduleExitEvent,
    11631174    pdmR0DevHlp_DBGFTraceBuf,
    11641175    pdmR0DevHlp_PCIBusSetUpContext,
  • trunk/src/VBox/VMM/VMMR3/PDMDevHlp.cpp

    r81811 r81850  
    30433043    RT_NOREF(pDevIns);
    30443044    return PDMCritSectGetRecursion(pCritSect);
     3045}
     3046
     3047
     3048/** @interface_method_impl{PDMDEVHLPR3,pfnCritSectScheduleExitEvent} */
     3049static DECLCALLBACK(int) pdmR3DevHlp_CritSectScheduleExitEvent(PPDMDEVINS pDevIns, PPDMCRITSECT pCritSect,
     3050                                                               SUPSEMEVENT hEventToSignal)
     3051{
     3052    PDMDEV_ASSERT_DEVINS(pDevIns);
     3053    RT_NOREF(pDevIns);
     3054    return PDMHCCritSectScheduleExitEvent(pCritSect, hEventToSignal);
    30453055}
    30463056
     
    47954805    pdmR3DevHlp_CritSectHasWaiters,
    47964806    pdmR3DevHlp_CritSectGetRecursion,
     4807    pdmR3DevHlp_CritSectScheduleExitEvent,
    47974808    pdmR3DevHlp_CritSectDelete,
    47984809    pdmR3DevHlp_ThreadCreate,
     
    52905301    pdmR3DevHlp_CritSectHasWaiters,
    52915302    pdmR3DevHlp_CritSectGetRecursion,
     5303    pdmR3DevHlp_CritSectScheduleExitEvent,
    52925304    pdmR3DevHlp_CritSectDelete,
    52935305    pdmR3DevHlp_ThreadCreate,
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