VirtualBox

Changeset 88567 in vbox


Ignore:
Timestamp:
Apr 16, 2021 2:58:29 PM (3 years ago)
Author:
vboxsync
Message:

Intel IOMMU: bugref:9967 Added pdmIsLockOwner function to IOMMU helper.

Location:
trunk
Files:
3 edited

Legend:

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

    r88306 r88567  
    15101510    DECLR0CALLBACKMEMBER(void,  pfnUnlock,(PPDMDEVINS pDevIns));
    15111511
     1512    /**
     1513     * Check whether the threads owns the PDM lock.
     1514     *
     1515     * @returns @c true if the PDM lock is owned, @c false otherwise.
     1516     * @param   pDevIns         The PCI device instance.
     1517     */
     1518    DECLR0CALLBACKMEMBER(bool,  pfnLockIsOwner,(PPDMDEVINS pDevIns));
     1519
    15121520    /** Just a safety precaution. */
    15131521    uint32_t                u32TheEnd;
     
    15191527
    15201528/** Current PDMIOMMUHLPR0 version number. */
    1521 #define PDM_IOMMUHLPR0_VERSION                      PDM_VERSION_MAKE(0xff13, 2, 0)
     1529#define PDM_IOMMUHLPR0_VERSION                      PDM_VERSION_MAKE(0xff13, 3, 0)
    15221530
    15231531
     
    15461554     */
    15471555    DECLRCCALLBACKMEMBER(void,  pfnUnlock,(PPDMDEVINS pDevIns));
     1556
     1557    /**
     1558     * Check whether the threads owns the PDM lock.
     1559     *
     1560     * @returns @c true if the PDM lock is owned, @c false otherwise.
     1561     * @param   pDevIns         The PCI device instance.
     1562     */
     1563    DECLRCCALLBACKMEMBER(bool,  pfnLockIsOwner,(PPDMDEVINS pDevIns));
    15481564
    15491565    /** Just a safety precaution. */
     
    15561572
    15571573/** Current PDMIOMMUHLPRC version number. */
    1558 #define PDM_IOMMUHLPRC_VERSION                      PDM_VERSION_MAKE(0xff14, 2, 0)
     1574#define PDM_IOMMUHLPRC_VERSION                      PDM_VERSION_MAKE(0xff14, 3, 0)
    15591575
    15601576
     
    15831599     */
    15841600    DECLR3CALLBACKMEMBER(void,  pfnUnlock,(PPDMDEVINS pDevIns));
     1601
     1602    /**
     1603     * Check whether the threads owns the PDM lock.
     1604     *
     1605     * @returns @c true if the PDM lock is owned, @c false otherwise.
     1606     * @param   pDevIns         The PCI device instance.
     1607     */
     1608    DECLR3CALLBACKMEMBER(bool,  pfnLockIsOwner,(PPDMDEVINS pDevIns));
    15851609
    15861610    /** Just a safety precaution. */
     
    15931617
    15941618/** Current PDMIOMMUHLPR3 version number. */
    1595 #define PDM_IOMMUHLPR3_VERSION                      PDM_VERSION_MAKE(0xff15, 2, 0)
     1619#define PDM_IOMMUHLPR3_VERSION                      PDM_VERSION_MAKE(0xff15, 3, 0)
    15961620
    15971621
  • trunk/src/VBox/VMM/VMMR0/PDMR0DevHlp.cpp

    r88078 r88567  
    16891689
    16901690
     1691/** @interface_method_impl{PDMIOMMUHLPR0,pfnLock} */
     1692static DECLCALLBACK(bool) pdmR0IommuHlp_LockIsOwner(PPDMDEVINS pDevIns)
     1693{
     1694    PDMDEV_ASSERT_DEVINS(pDevIns);
     1695    return pdmLockIsOwner(pDevIns->Internal.s.pGVM);
     1696}
     1697
     1698
    16911699/**
    16921700 * The Ring-0 IOMMU Helper Callbacks.
     
    16971705    pdmR0IommuHlp_Lock,
    16981706    pdmR0IommuHlp_Unlock,
     1707    pdmR0IommuHlp_LockIsOwner,
    16991708    PDM_IOMMUHLPR0_VERSION, /* the end */
    17001709};
  • trunk/src/VBox/VMM/VMMR3/PDMDevMiscHlp.cpp

    r88078 r88567  
    282282
    283283
     284/** @interface_method_impl{PDMIOMMUHLPR3,pfnLockIsOwner} */
     285static DECLCALLBACK(bool) pdmR3IommuHlp_LockIsOwner(PPDMDEVINS pDevIns)
     286{
     287    PDMDEV_ASSERT_DEVINS(pDevIns);
     288    LogFlowFunc(("caller='%s'/%d:\n", pDevIns->pReg->szName, pDevIns->iInstance));
     289    return pdmLockIsOwner(pDevIns->Internal.s.pVMR3);
     290}
     291
     292
    284293/**
    285294 * IOMMU Device Helpers.
     
    290299    pdmR3IommuHlp_Lock,
    291300    pdmR3IommuHlp_Unlock,
     301    pdmR3IommuHlp_LockIsOwner,
    292302    PDM_IOMMUHLPR3_VERSION /* the end */
    293303};
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