VirtualBox

Ignore:
Timestamp:
Jul 26, 2021 12:47:26 PM (3 years ago)
Author:
vboxsync
Message:

PDMDrvHlp: Put the PDMCritSect API into driver helpers just like we've got for devices. bugref:10074

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR3/PDMDriver.cpp

    r89949 r90329  
    17831783}
    17841784
     1785/** @interface_method_impl{PDMDRVHLPR3,pfnCritSectYield} */
     1786static DECLCALLBACK(bool)     pdmR3DrvHlp_CritSectYield(PPDMDRVINS pDrvIns, PPDMCRITSECT pCritSect)
     1787{
     1788    PDMDRV_ASSERT_DRVINS(pDrvIns);
     1789    RT_NOREF(pDrvIns);
     1790    return PDMR3CritSectYield(pDrvIns->Internal.s.pVMR3, pCritSect);
     1791}
     1792
     1793
     1794/** @interface_method_impl{PDMDRVHLPR3,pfnCritSectEnter} */
     1795static DECLCALLBACK(int)      pdmR3DrvHlp_CritSectEnter(PPDMDRVINS pDrvIns, PPDMCRITSECT pCritSect, int rcBusy)
     1796{
     1797    PDMDRV_ASSERT_DRVINS(pDrvIns);
     1798    RT_NOREF(pDrvIns);
     1799    return PDMCritSectEnter(pCritSect, rcBusy);
     1800}
     1801
     1802
     1803/** @interface_method_impl{PDMDRVHLPR3,pfnCritSectEnterDebug} */
     1804static DECLCALLBACK(int)      pdmR3DrvHlp_CritSectEnterDebug(PPDMDRVINS pDrvIns, PPDMCRITSECT pCritSect, int rcBusy,
     1805                                                             RTHCUINTPTR uId, RT_SRC_POS_DECL)
     1806{
     1807    PDMDRV_ASSERT_DRVINS(pDrvIns);
     1808    RT_NOREF(pDrvIns);
     1809    return PDMCritSectEnterDebug(pCritSect, rcBusy, uId, RT_SRC_POS_ARGS);
     1810}
     1811
     1812
     1813/** @interface_method_impl{PDMDRVHLPR3,pfnCritSectTryEnter} */
     1814static DECLCALLBACK(int)      pdmR3DrvHlp_CritSectTryEnter(PPDMDRVINS pDrvIns, PPDMCRITSECT pCritSect)
     1815{
     1816    PDMDRV_ASSERT_DRVINS(pDrvIns);
     1817    RT_NOREF(pDrvIns);
     1818    return PDMCritSectTryEnter(pCritSect);
     1819}
     1820
     1821
     1822/** @interface_method_impl{PDMDRVHLPR3,pfnCritSectTryEnterDebug} */
     1823static DECLCALLBACK(int)      pdmR3DrvHlp_CritSectTryEnterDebug(PPDMDRVINS pDrvIns, PPDMCRITSECT pCritSect,
     1824                                                                RTHCUINTPTR uId, RT_SRC_POS_DECL)
     1825{
     1826    PDMDRV_ASSERT_DRVINS(pDrvIns);
     1827    RT_NOREF(pDrvIns);
     1828    return PDMCritSectTryEnterDebug(pCritSect, uId, RT_SRC_POS_ARGS);
     1829}
     1830
     1831
     1832/** @interface_method_impl{PDMDRVHLPR3,pfnCritSectLeave} */
     1833static DECLCALLBACK(int)      pdmR3DrvHlp_CritSectLeave(PPDMDRVINS pDrvIns, PPDMCRITSECT pCritSect)
     1834{
     1835    PDMDRV_ASSERT_DRVINS(pDrvIns);
     1836    RT_NOREF(pDrvIns);
     1837    return PDMCritSectLeave(pCritSect);
     1838}
     1839
     1840
     1841/** @interface_method_impl{PDMDRVHLPR3,pfnCritSectIsOwner} */
     1842static DECLCALLBACK(bool)     pdmR3DrvHlp_CritSectIsOwner(PPDMDRVINS pDrvIns, PCPDMCRITSECT pCritSect)
     1843{
     1844    PDMDRV_ASSERT_DRVINS(pDrvIns);
     1845    RT_NOREF(pDrvIns);
     1846    return PDMCritSectIsOwner(pCritSect);
     1847}
     1848
     1849
     1850/** @interface_method_impl{PDMDRVHLPR3,pfnCritSectIsInitialized} */
     1851static DECLCALLBACK(bool)     pdmR3DrvHlp_CritSectIsInitialized(PPDMDRVINS pDrvIns, PCPDMCRITSECT pCritSect)
     1852{
     1853    PDMDRV_ASSERT_DRVINS(pDrvIns);
     1854    RT_NOREF(pDrvIns);
     1855    return PDMCritSectIsInitialized(pCritSect);
     1856}
     1857
     1858
     1859/** @interface_method_impl{PDMDRVHLPR3,pfnCritSectHasWaiters} */
     1860static DECLCALLBACK(bool)     pdmR3DrvHlp_CritSectHasWaiters(PPDMDRVINS pDrvIns, PCPDMCRITSECT pCritSect)
     1861{
     1862    PDMDRV_ASSERT_DRVINS(pDrvIns);
     1863    RT_NOREF(pDrvIns);
     1864    return PDMCritSectHasWaiters(pCritSect);
     1865}
     1866
     1867
     1868/** @interface_method_impl{PDMDRVHLPR3,pfnCritSectGetRecursion} */
     1869static DECLCALLBACK(uint32_t) pdmR3DrvHlp_CritSectGetRecursion(PPDMDRVINS pDrvIns, PCPDMCRITSECT pCritSect)
     1870{
     1871    PDMDRV_ASSERT_DRVINS(pDrvIns);
     1872    RT_NOREF(pDrvIns);
     1873    return PDMCritSectGetRecursion(pCritSect);
     1874}
     1875
     1876
     1877/** @interface_method_impl{PDMDRVHLPR3,pfnCritSectScheduleExitEvent} */
     1878static DECLCALLBACK(int)      pdmR3DrvHlp_CritSectScheduleExitEvent(PPDMDRVINS pDrvIns, PPDMCRITSECT pCritSect,
     1879                                                                    SUPSEMEVENT hEventToSignal)
     1880{
     1881    PDMDRV_ASSERT_DRVINS(pDrvIns);
     1882    RT_NOREF(pDrvIns);
     1883    return PDMHCCritSectScheduleExitEvent(pCritSect, hEventToSignal);
     1884}
     1885
     1886
     1887/** @interface_method_impl{PDMDRVHLPR3,pfnCritSectDelete} */
     1888static DECLCALLBACK(int)      pdmR3DrvHlp_CritSectDelete(PPDMDRVINS pDrvIns, PPDMCRITSECT pCritSect)
     1889{
     1890    PDMDRV_ASSERT_DRVINS(pDrvIns);
     1891    RT_NOREF(pDrvIns);
     1892    return PDMR3CritSectDelete(pCritSect);
     1893}
     1894
    17851895
    17861896/** @interface_method_impl{PDMDRVHLPR3,pfnCallR0} */
     
    19412051    pdmR3DrvHlp_LdrGetR0InterfaceSymbols,
    19422052    pdmR3DrvHlp_CritSectInit,
     2053    pdmR3DrvHlp_CritSectYield,
     2054    pdmR3DrvHlp_CritSectEnter,
     2055    pdmR3DrvHlp_CritSectEnterDebug,
     2056    pdmR3DrvHlp_CritSectTryEnter,
     2057    pdmR3DrvHlp_CritSectTryEnterDebug,
     2058    pdmR3DrvHlp_CritSectLeave,
     2059    pdmR3DrvHlp_CritSectIsOwner,
     2060    pdmR3DrvHlp_CritSectIsInitialized,
     2061    pdmR3DrvHlp_CritSectHasWaiters,
     2062    pdmR3DrvHlp_CritSectGetRecursion,
     2063    pdmR3DrvHlp_CritSectScheduleExitEvent,
     2064    pdmR3DrvHlp_CritSectDelete,
    19432065    pdmR3DrvHlp_CallR0,
    19442066    pdmR3DrvHlp_BlkCacheRetain,
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