VirtualBox

Changeset 91945 in vbox


Ignore:
Timestamp:
Oct 21, 2021 1:17:30 PM (3 years ago)
Author:
vboxsync
Message:

VMM,Devices: Eliminate calls to PDMR3Thread and use the driver hlper callbacks, bugref:10074

Location:
trunk
Files:
5 edited

Legend:

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

    r91905 r91945  
    12561256                                               PFNPDMTHREADWAKEUPDRV pfnWakeup, size_t cbStack, RTTHREADTYPE enmType, const char *pszName));
    12571257
     1258    /** @name Exported PDM Thread Functions
     1259     * @{ */
     1260    DECLR3CALLBACKMEMBER(int, pfnThreadDestroy,(PPDMTHREAD pThread, int *pRcThread));
     1261    DECLR3CALLBACKMEMBER(int, pfnThreadIAmSuspending,(PPDMTHREAD pThread));
     1262    DECLR3CALLBACKMEMBER(int, pfnThreadIAmRunning,(PPDMTHREAD pThread));
     1263    DECLR3CALLBACKMEMBER(int, pfnThreadSleep,(PPDMTHREAD pThread, RTMSINTERVAL cMillies));
     1264    DECLR3CALLBACKMEMBER(int, pfnThreadSuspend,(PPDMTHREAD pThread));
     1265    DECLR3CALLBACKMEMBER(int, pfnThreadResume,(PPDMTHREAD pThread));
     1266    /** @} */
     1267
    12581268    /**
    12591269     * Creates an async completion template for a driver instance.
     
    14691479} PDMDRVHLPR3;
    14701480/** Current DRVHLP version number. */
    1471 #define PDM_DRVHLPR3_VERSION                    PDM_VERSION_MAKE(0xf0fb, 11, 0)
     1481#define PDM_DRVHLPR3_VERSION                    PDM_VERSION_MAKE(0xf0fb, 12, 0)
    14721482
    14731483
     
    19561966{
    19571967    return pDrvIns->pHlpR3->pfnThreadCreate(pDrvIns, ppThread, pvUser, pfnThread, pfnWakeup, cbStack, enmType, pszName);
     1968}
     1969
     1970/**
     1971 * @copydoc PDMR3ThreadDestroy
     1972 * @param   pDrvIns     The driver instance.
     1973 */
     1974DECLINLINE(int) PDMDrvHlpThreadDestroy(PPDMDRVINS pDrvIns, PPDMTHREAD pThread, int *pRcThread)
     1975{
     1976    return pDrvIns->pHlpR3->pfnThreadDestroy(pThread, pRcThread);
     1977}
     1978
     1979/**
     1980 * @copydoc PDMR3ThreadIAmSuspending
     1981 * @param   pDrvIns     The driver instance.
     1982 */
     1983DECLINLINE(int) PDMDrvHlpThreadIAmSuspending(PPDMDRVINS pDrvIns, PPDMTHREAD pThread)
     1984{
     1985    return pDrvIns->pHlpR3->pfnThreadIAmSuspending(pThread);
     1986}
     1987
     1988/**
     1989 * @copydoc PDMR3ThreadIAmRunning
     1990 * @param   pDrvIns     The driver instance.
     1991 */
     1992DECLINLINE(int) PDMDrvHlpThreadIAmRunning(PPDMDRVINS pDrvIns, PPDMTHREAD pThread)
     1993{
     1994    return pDrvIns->pHlpR3->pfnThreadIAmRunning(pThread);
     1995}
     1996
     1997/**
     1998 * @copydoc PDMR3ThreadSleep
     1999 * @param   pDrvIns     The driver instance.
     2000 */
     2001DECLINLINE(int) PDMDrvHlpThreadSleep(PPDMDRVINS pDrvIns, PPDMTHREAD pThread, RTMSINTERVAL cMillies)
     2002{
     2003    return pDrvIns->pHlpR3->pfnThreadSleep(pThread, cMillies);
     2004}
     2005
     2006/**
     2007 * @copydoc PDMR3ThreadSuspend
     2008 * @param   pDrvIns     The driver instance.
     2009 */
     2010DECLINLINE(int) PDMDrvHlpThreadSuspend(PPDMDRVINS pDrvIns, PPDMTHREAD pThread)
     2011{
     2012    return pDrvIns->pHlpR3->pfnThreadSuspend(pThread);
     2013}
     2014
     2015/**
     2016 * @copydoc PDMR3ThreadResume
     2017 * @param   pDrvIns     The driver instance.
     2018 */
     2019DECLINLINE(int) PDMDrvHlpThreadResume(PPDMDRVINS pDrvIns, PPDMTHREAD pThread)
     2020{
     2021    return pDrvIns->pHlpR3->pfnThreadResume(pThread);
    19582022}
    19592023
  • trunk/src/VBox/Devices/Network/DrvIntNet.cpp

    r91883 r91945  
    11991199    if (pThis->pXmitThread)
    12001200    {
    1201         int rc = PDMR3ThreadDestroy(pThis->pXmitThread, NULL);
     1201        int rc = PDMDrvHlpThreadDestroy(pDrvIns, pThis->pXmitThread, NULL);
    12021202        AssertRC(rc);
    12031203        pThis->pXmitThread = NULL;
  • trunk/src/VBox/Devices/Serial/DrvHostSerial.cpp

    r91897 r91945  
    628628             * this mode.
    629629             */
    630             PDMR3ThreadSleep(pThread, 100);
     630            PDMDrvHlpThreadSleep(pThis->pDrvIns, pThread, 100);
    631631        }
    632632    }
  • trunk/src/VBox/Devices/USB/DrvVUSBRootHub.cpp

    r91897 r91945  
    934934            || enmState == VMSTATE_RUNNING_LS)
    935935        {
    936             rc = PDMR3ThreadResume(pThis->hThreadPeriodFrame);
     936            rc = PDMDrvHlpThreadResume(pThis->pDrvIns, pThis->hThreadPeriodFrame);
    937937            AssertRCReturn(rc, rc);
    938938        }
  • trunk/src/VBox/VMM/VMMR3/PDMDriver.cpp

    r91939 r91945  
    22312231    pdmR3DrvHlp_AsyncNotificationCompleted,
    22322232    pdmR3DrvHlp_ThreadCreate,
     2233    PDMR3ThreadDestroy,
     2234    PDMR3ThreadIAmSuspending,
     2235    PDMR3ThreadIAmRunning,
     2236    PDMR3ThreadSleep,
     2237    PDMR3ThreadSuspend,
     2238    PDMR3ThreadResume,
    22332239    pdmR3DrvHlp_AsyncCompletionTemplateCreate,
    22342240    pdmR3DrvHlp_NetShaperAttach,
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