VirtualBox

Changeset 44512 in vbox for trunk


Ignore:
Timestamp:
Feb 1, 2013 1:37:30 PM (12 years ago)
Author:
vboxsync
Message:

Documented locking on the remaining device callbacks.

Location:
trunk/include/VBox/vmm
Files:
4 edited

Legend:

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

    r43961 r44512  
    146146 *                      variable regardless of what @a cb might say.
    147147 * @param   cb          Number of bytes read.
     148 * @remarks Caller enters the device critical section.
    148149 */
    149150typedef DECLCALLBACK(int) FNIOMIOPORTIN(PPDMDEVINS pDevIns, void *pvUser, RTIOPORT Port, uint32_t *pu32, unsigned cb);
     
    163164 * @param   pcTransfers Pointer to the number of transfer units to read, on return remaining transfer units.
    164165 * @param   cb          Size of the transfer unit (1, 2 or 4 bytes).
     166 * @remarks Caller enters the device critical section.
    165167 */
    166168typedef DECLCALLBACK(int) FNIOMIOPORTINSTRING(PPDMDEVINS pDevIns, void *pvUser, RTIOPORT Port, RTGCPTR *pGCPtrDst, PRTGCUINTREG pcTransfers, unsigned cb);
     
    178180 * @param   u32         The value to output.
    179181 * @param   cb          The value size in bytes.
     182 * @remarks Caller enters the device critical section.
    180183 */
    181184typedef DECLCALLBACK(int) FNIOMIOPORTOUT(PPDMDEVINS pDevIns, void *pvUser, RTIOPORT Port, uint32_t u32, unsigned cb);
     
    194197 * @param   pcTransfers Pointer to the number of transfer units to write, on return remaining transfer units.
    195198 * @param   cb          Size of the transfer unit (1, 2 or 4 bytes).
     199 * @remarks Caller enters the device critical section.
    196200 */
    197201typedef DECLCALLBACK(int) FNIOMIOPORTOUTSTRING(PPDMDEVINS pDevIns, void *pvUser, RTIOPORT Port, RTGCPTR *pGCPtrSrc, PRTGCUINTREG pcTransfers, unsigned cb);
     
    210214 * @param   pv          Where to store the result.
    211215 * @param   cb          Number of bytes read.
     216 * @remarks Caller enters the device critical section.
    212217 */
    213218typedef DECLCALLBACK(int) FNIOMMMIOREAD(PPDMDEVINS pDevIns, void *pvUser, RTGCPHYS GCPhysAddr, void *pv, unsigned cb);
     
    225230 * @param   pv          Where to fetch the result.
    226231 * @param   cb          Number of bytes to write.
     232 * @remarks Caller enters the device critical section.
    227233 */
    228234typedef DECLCALLBACK(int) FNIOMMMIOWRITE(PPDMDEVINS pDevIns, void *pvUser, RTGCPHYS GCPhysAddr, void const *pv, unsigned cb);
     
    241247 * @param   cbItem      Size of data in u32Item parameter, restricted to 1/2/4 bytes.
    242248 * @param   cItems      Number of iterations.
     249 * @remarks Caller enters the device critical section.
    243250 */
    244251typedef DECLCALLBACK(int) FNIOMMMIOFILL(PPDMDEVINS pDevIns, void *pvUser, RTGCPHYS GCPhysAddr, uint32_t u32Item, unsigned cbItem, unsigned cItems);
  • trunk/include/VBox/vmm/pdmcommon.h

    r35361 r44512  
    110110 *
    111111 * @param   pDevIns             The device instance.
    112  *
     112 * @remarks The caller will enter the device critical section.
    113113 * @thread  EMT(0)
    114114 */
  • trunk/include/VBox/vmm/pdmdev.h

    r44510 r44512  
    21982198     * @param   pfnInStr            Pointer to function which is gonna handle string IN operations.
    21992199     * @param   pszDesc             Pointer to description string. This must not be freed.
     2200     * @remarks Caller enters the device critical section prior to invoking the
     2201     *          registered callback methods.
    22002202     */
    22012203    DECLR3CALLBACKMEMBER(int, pfnIOPortRegister,(PPDMDEVINS pDevIns, RTIOPORT Port, RTIOPORT cPorts, RTHCPTR pvUser,
     
    22222224     * @param   pszInStr            Name of the RC function which is gonna handle string IN operations.
    22232225     * @param   pszDesc             Pointer to description string. This must not be freed.
     2226     * @remarks Caller enters the device critical section prior to invoking the
     2227     *          registered callback methods.
    22242228     */
    22252229    DECLR3CALLBACKMEMBER(int, pfnIOPortRegisterRC,(PPDMDEVINS pDevIns, RTIOPORT Port, RTIOPORT cPorts, RTRCPTR pvUser,
     
    22432247     * @param   pszInStr            Name of the R0 function which is gonna handle string IN operations.
    22442248     * @param   pszDesc             Pointer to description string. This must not be freed.
     2249     * @remarks Caller enters the device critical section prior to invoking the
     2250     *          registered callback methods.
    22452251     */
    22462252    DECLR3CALLBACKMEMBER(int, pfnIOPortRegisterR0,(PPDMDEVINS pDevIns, RTIOPORT Port, RTIOPORT cPorts, RTR0PTR pvUser,
     
    22772283     * @param   fFlags              Flags, IOMMMIO_FLAGS_XXX.
    22782284     * @param   pszDesc             Pointer to description string. This must not be freed.
     2285     * @remarks Caller enters the device critical section prior to invoking the
     2286     *          registered callback methods.
    22792287     */
    22802288    DECLR3CALLBACKMEMBER(int, pfnMMIORegister,(PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, uint32_t cbRange, RTHCPTR pvUser,
     
    22972305     * @param   pszRead             Name of the RC function which is gonna handle Read operations.
    22982306     * @param   pszFill             Name of the RC function which is gonna handle Fill/memset operations. (optional)
     2307     * @remarks Caller enters the device critical section prior to invoking the
     2308     *          registered callback methods.
    22992309     */
    23002310    DECLR3CALLBACKMEMBER(int, pfnMMIORegisterRC,(PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, uint32_t cbRange, RTRCPTR pvUser,
     
    23172327     * @param   pszFill             Name of the RC function which is gonna handle Fill/memset operations. (optional)
    23182328     * @param   pszDesc             Obsolete. NULL is fine.
     2329     * @remarks Caller enters the device critical section prior to invoking the
     2330     *          registered callback methods.
    23192331     */
    23202332    DECLR3CALLBACKMEMBER(int, pfnMMIORegisterR0,(PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, uint32_t cbRange, RTR0PTR pvUser,
     
    24992511     * @param   pfnLoadExec         Execute load callback, optional.
    25002512     * @param   pfnLoadDone         Done load callback, optional.
     2513     * @remarks Caller enters the device critical section prior to invoking the
     2514     *          registered callback methods.
    25012515     */
    25022516    DECLR3CALLBACKMEMBER(int, pfnSSMRegister,(PPDMDEVINS pDevIns, uint32_t uVersion, size_t cbGuess, const char *pszBefore,
     
    25172531     *                              until the timer is fully destroyed (i.e. a bit after TMTimerDestroy()).
    25182532     * @param   ppTimer             Where to store the timer on success.
     2533     * @remarks Caller enters the device critical section prior to invoking the
     2534     *          callback.
    25192535     */
    25202536    DECLR3CALLBACKMEMBER(int, pfnTMTimerCreate,(PPDMDEVINS pDevIns, TMCLOCK enmClock, PFNTMTIMERDEV pfnCallback, void *pvUser, uint32_t fFlags, const char *pszDesc, PPTMTIMERR3 ppTimer));
     
    28942910     * @param   enmType             PCI_ADDRESS_SPACE_MEM, PCI_ADDRESS_SPACE_IO or PCI_ADDRESS_SPACE_MEM_PREFETCH.
    28952911     * @param   pfnCallback         Callback for doing the mapping.
    2896      */
    2897     DECLR3CALLBACKMEMBER(int, pfnPCIIORegionRegister,(PPDMDEVINS pDevIns, int iRegion, uint32_t cbRegion, PCIADDRESSSPACE enmType, PFNPCIIOREGIONMAP pfnCallback));
     2912     * @remarks The callback will be invoked holding the PDM lock. The device lock
     2913     *          is NOT take because that is very likely be a lock order violation.
     2914     */
     2915    DECLR3CALLBACKMEMBER(int, pfnPCIIORegionRegister,(PPDMDEVINS pDevIns, int iRegion, uint32_t cbRegion,
     2916                                                      PCIADDRESSSPACE enmType, PFNPCIIOREGIONMAP pfnCallback));
    28982917
    28992918    /**
     
    29112930     *                              PCI config write function. This way, user can decide when (and if)
    29122931     *                              to call default PCI config write function. Can be NULL.
     2932     * @remarks The callbacks will be invoked holding the PDM lock. The device lock
     2933     *          is NOT take because that is very likely be a lock order violation.
    29132934     * @thread  EMT
    29142935     */
     
    29722993     *                              for the live of the device instance.
    29732994     */
    2974     DECLR3CALLBACKMEMBER(int, pfnDriverAttach,(PPDMDEVINS pDevIns, uint32_t iLun, PPDMIBASE pBaseInterface, PPDMIBASE *ppBaseInterface, const char *pszDesc));
     2995    DECLR3CALLBACKMEMBER(int, pfnDriverAttach,(PPDMDEVINS pDevIns, uint32_t iLun, PPDMIBASE pBaseInterface,
     2996                                               PPDMIBASE *ppBaseInterface, const char *pszDesc));
    29752997
    29762998    /**
     
    29893011     * @param   ppQueue             Where to store the queue handle on success.
    29903012     * @thread  The emulation thread.
     3013     * @remarks The device critical section will NOT be entered before calling the
     3014     *          callback.  No locks will be held, but for now it's safe to assume
     3015     *          that only one EMT will do queue callbacks at any one time.
    29913016     */
    29923017    DECLR3CALLBACKMEMBER(int, pfnQueueCreate,(PPDMDEVINS pDevIns, size_t cbItem, uint32_t cItems, uint32_t cMilliesInterval,
     
    30623087     * @param   enmType             See RTThreadCreate.
    30633088     * @param   pszName             See RTThreadCreate.
     3089     * @remarks The device critical section will NOT be entered prior to invoking
     3090     *          the function pointers.
    30643091     */
    30653092    DECLR3CALLBACKMEMBER(int, pfnThreadCreate,(PPDMDEVINS pDevIns, PPPDMTHREAD ppThread, void *pvUser, PFNPDMTHREADDEV pfnThread,
     
    30763103     * @param   pfnAsyncNotify      The callback.
    30773104     * @thread  EMT(0)
     3105     * @remarks The caller will enter the device critical section prior to invoking
     3106     *          the callback.
    30783107     */
    30793108    DECLR3CALLBACKMEMBER(int, pfnSetAsyncNotification, (PPDMDEVINS pDevIns, PFNPDMDEVASYNCNOTIFY pfnAsyncNotify));
  • trunk/include/VBox/vmm/pdmqueue.h

    r44502 r44512  
    6767 * @param   pItem       The item to consume. Upon return this item will be freed.
    6868 * @remarks The device critical section will NOT be entered before calling the
    69  *          back.  No locks will be held, but for now it's safe to assume that
    70  *          only one EMT will do queue callbacks at any one time.
     69 *          callback.  No locks will be held, but for now it's safe to assume
     70 *          that only one EMT will do queue callbacks at any one time.
    7171 */
    7272typedef DECLCALLBACK(bool) FNPDMQUEUEDEV(PPDMDEVINS pDevIns, PPDMQUEUEITEMCORE pItem);
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