Changeset 88580 in vbox
- Timestamp:
- Apr 19, 2021 3:52:45 PM (4 years ago)
- svn:sync-xref-src-repo-rev:
- 143878
- Location:
- trunk
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vmm/pdmdev.h
r88567 r88580 1518 1518 DECLR0CALLBACKMEMBER(bool, pfnLockIsOwner,(PPDMDEVINS pDevIns)); 1519 1519 1520 /** 1521 * Send an MSI (when generated by the IOMMU device itself). 1522 * 1523 * @param pDevIns PCI device instance. 1524 * @param pMsi The MSI to send. 1525 * @param uTagSrc The IRQ tag and source (for tracing). 1526 */ 1527 DECLR0CALLBACKMEMBER(int, pfnSendMsi,(PPDMDEVINS pDevIns, PCMSIMSG pMsi, uint32_t uTagSrc)); 1528 1520 1529 /** Just a safety precaution. */ 1521 1530 uint32_t u32TheEnd; … … 1527 1536 1528 1537 /** Current PDMIOMMUHLPR0 version number. */ 1529 #define PDM_IOMMUHLPR0_VERSION PDM_VERSION_MAKE(0xff13, 3, 0)1538 #define PDM_IOMMUHLPR0_VERSION PDM_VERSION_MAKE(0xff13, 4, 0) 1530 1539 1531 1540 … … 1562 1571 */ 1563 1572 DECLRCCALLBACKMEMBER(bool, pfnLockIsOwner,(PPDMDEVINS pDevIns)); 1573 1574 /** 1575 * Send an MSI (when generated by the IOMMU device itself). 1576 * 1577 * @param pDevIns PCI device instance. 1578 * @param pMsi The MSI to send. 1579 * @param uTagSrc The IRQ tag and source (for tracing). 1580 */ 1581 DECLRCCALLBACKMEMBER(int, pfnSendMsi,(PPDMDEVINS pDevIns, PCMSIMSG pMsi, uint32_t uTagSrc)); 1564 1582 1565 1583 /** Just a safety precaution. */ … … 1572 1590 1573 1591 /** Current PDMIOMMUHLPRC version number. */ 1574 #define PDM_IOMMUHLPRC_VERSION PDM_VERSION_MAKE(0xff14, 3, 0)1592 #define PDM_IOMMUHLPRC_VERSION PDM_VERSION_MAKE(0xff14, 4, 0) 1575 1593 1576 1594 … … 1607 1625 */ 1608 1626 DECLR3CALLBACKMEMBER(bool, pfnLockIsOwner,(PPDMDEVINS pDevIns)); 1627 1628 /** 1629 * Send an MSI (when generated by the IOMMU device itself). 1630 * 1631 * @param pDevIns PCI device instance. 1632 * @param pMsi The MSI to send. 1633 * @param uTagSrc The IRQ tag and source (for tracing). 1634 */ 1635 DECLR3CALLBACKMEMBER(int, pfnSendMsi,(PPDMDEVINS pDevIns, PCMSIMSG pMsi, uint32_t uTagSrc)); 1609 1636 1610 1637 /** Just a safety precaution. */ … … 1617 1644 1618 1645 /** Current PDMIOMMUHLPR3 version number. */ 1619 #define PDM_IOMMUHLPR3_VERSION PDM_VERSION_MAKE(0xff15, 3, 0)1646 #define PDM_IOMMUHLPR3_VERSION PDM_VERSION_MAKE(0xff15, 4, 0) 1620 1647 1621 1648 -
trunk/src/VBox/VMM/VMMR0/PDMR0DevHlp.cpp
r88567 r88580 1696 1696 } 1697 1697 1698 /** @interface_method_impl{PDMIOMMUHLPR0,pfnSendMsi} */ 1699 static DECLCALLBACK(int) pdmR0IommuHlp_SendMsi(PPDMDEVINS pDevIns, PCMSIMSG pMsi, uint32_t uTagSrc) 1700 { 1701 PDMDEV_ASSERT_DEVINS(pDevIns); 1702 PGVM pGVM = pDevIns->Internal.s.pGVM; 1703 if (pGVM->pdm.s.IoApic.pDevInsR0) 1704 { 1705 Assert(pGVM->pdm.s.IoApic.pfnSendMsiR0); 1706 pGVM->pdm.s.IoApic.pfnSendMsiR0(pGVM->pdm.s.IoApic.pDevInsR0, NIL_PCIBDF, pMsi, uTagSrc); 1707 return VINF_SUCCESS; 1708 } 1709 1710 /** @todo Implement this. */ 1711 AssertMsgFailedReturn(("Queue PDM task for sending the MSI in ring-3"), VERR_IOMMU_IPE_5); 1712 } 1713 1698 1714 1699 1715 /** … … 1706 1722 pdmR0IommuHlp_Unlock, 1707 1723 pdmR0IommuHlp_LockIsOwner, 1724 pdmR0IommuHlp_SendMsi, 1708 1725 PDM_IOMMUHLPR0_VERSION, /* the end */ 1709 1726 }; -
trunk/src/VBox/VMM/VMMR3/PDMDevMiscHlp.cpp
r88567 r88580 291 291 292 292 293 /** @interface_method_impl{PDMIOMMUHLPR3,pfnSendMsi} */ 294 static DECLCALLBACK(int) pdmR3IommuHlp_SendMsi(PPDMDEVINS pDevIns, PCMSIMSG pMsi, uint32_t uTagSrc) 295 { 296 PDMDEV_ASSERT_DEVINS(pDevIns); 297 LogFlowFunc(("caller='%s'/%d:\n", pDevIns->pReg->szName, pDevIns->iInstance)); 298 return PDMIoApicSendMsi(pDevIns->Internal.s.pVMR3, NIL_PCIBDF, pMsi, uTagSrc); 299 } 300 301 293 302 /** 294 303 * IOMMU Device Helpers. … … 300 309 pdmR3IommuHlp_Unlock, 301 310 pdmR3IommuHlp_LockIsOwner, 311 pdmR3IommuHlp_SendMsi, 302 312 PDM_IOMMUHLPR3_VERSION /* the end */ 303 313 };
Note:
See TracChangeset
for help on using the changeset viewer.