VirtualBox

Changeset 84826 in vbox for trunk/src/VBox/VMM/VMMR3


Ignore:
Timestamp:
Jun 15, 2020 8:20:40 AM (5 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
138632
Message:

AMD IOMMU: bugref:9654 PDM interface changes for supplying bus:device:function for devices' initiating PCI interrupts and MSIs.

Location:
trunk/src/VBox/VMM/VMMR3
Files:
3 edited

Legend:

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

    r84809 r84826  
    18041804
    18051805        RTGCPHYS GCPhysOut;
    1806         uint16_t const uDevId = VBOX_PCI_BUSDEVFN_MAKE(pBus->iBus, pPciDev->uDevFn);
     1806        uint16_t const uDevId = PCIBDF_MAKE(pBus->iBus, pPciDev->uDevFn);
    18071807        int rc = pIommu->pfnMemRead(pDevInsIommu, uDevId, GCPhys, cbRead, &GCPhysOut);
    18081808        if (RT_FAILURE(rc))
     
    18561856
    18571857        RTGCPHYS GCPhysOut;
    1858         uint16_t const uDevId = VBOX_PCI_BUSDEVFN_MAKE(pBus->iBus, pPciDev->uDevFn);
     1858        uint16_t const uDevId = PCIBDF_MAKE(pBus->iBus, pPciDev->uDevFn);
    18591859        int rc = pIommu->pfnMemWrite(pDevInsIommu, uDevId, GCPhys, cbWrite, &GCPhysOut);
    18601860        if (RT_FAILURE(rc))
     
    51935193
    51945194        case PDMDEVHLPTASKOP_IOAPIC_SET_IRQ:
    5195             PDMIoApicSetIrq(pVM, pTask->u.IoApicSetIRQ.iIrq, pTask->u.IoApicSetIRQ.iLevel, pTask->u.IoApicSetIRQ.uTagSrc);
     5195        {
     5196            PDMIoApicSetIrq(pVM, pTask->u.IoApicSetIRQ.uBusDevFn, pTask->u.IoApicSetIRQ.iIrq, pTask->u.IoApicSetIRQ.iLevel,
     5197                            pTask->u.IoApicSetIRQ.uTagSrc);
    51965198            break;
     5199        }
    51975200
    51985201        default:
  • trunk/src/VBox/VMM/VMMR3/PDMDevHlpTracing.cpp

    r84809 r84826  
    427427
    428428        RTGCPHYS GCPhysOut;
    429         uint16_t const uDevId = VBOX_PCI_BUSDEVFN_MAKE(pBus->iBus, pPciDev->uDevFn);
     429        uint16_t const uDevId = PCIBDF_MAKE(pBus->iBus, pPciDev->uDevFn);
    430430        int rc = pIommu->pfnMemRead(pDevInsIommu, uDevId, GCPhys, cbRead, &GCPhysOut);
    431431        if (RT_FAILURE(rc))
     
    479479
    480480        RTGCPHYS GCPhysOut;
    481         uint16_t const uDevId = VBOX_PCI_BUSDEVFN_MAKE(pBus->iBus, pPciDev->uDevFn);
     481        uint16_t const uDevId = PCIBDF_MAKE(pBus->iBus, pPciDev->uDevFn);
    482482        int rc = pIommu->pfnMemWrite(pDevInsIommu, uDevId, GCPhys, cbWrite, &GCPhysOut);
    483483        if (RT_FAILURE(rc))
  • trunk/src/VBox/VMM/VMMR3/PDMDevMiscHlp.cpp

    r84678 r84826  
    204204
    205205/** @interface_method_impl{PDMPCIHLPR3,pfnIoApicSetIrq} */
    206 static DECLCALLBACK(void) pdmR3PciHlp_IoApicSetIrq(PPDMDEVINS pDevIns, int iIrq, int iLevel, uint32_t uTagSrc)
    207 {
    208     PDMDEV_ASSERT_DEVINS(pDevIns);
    209     Log4(("pdmR3PciHlp_IoApicSetIrq: iIrq=%d iLevel=%d uTagSrc=%#x\n", iIrq, iLevel, uTagSrc));
    210     PDMIoApicSetIrq(pDevIns->Internal.s.pVMR3, iIrq, iLevel, uTagSrc);
     206static DECLCALLBACK(void) pdmR3PciHlp_IoApicSetIrq(PPDMDEVINS pDevIns, PCIBDF uBusDevFn, int iIrq, int iLevel, uint32_t uTagSrc)
     207{
     208    PDMDEV_ASSERT_DEVINS(pDevIns);
     209    Log4(("pdmR3PciHlp_IoApicSetIrq: uBusDevFn=%#x iIrq=%d iLevel=%d uTagSrc=%#x\n", uBusDevFn, iIrq, iLevel, uTagSrc));
     210    PDMIoApicSetIrq(pDevIns->Internal.s.pVMR3, uBusDevFn, iIrq, iLevel, uTagSrc);
    211211}
    212212
    213213
    214214/** @interface_method_impl{PDMPCIHLPR3,pfnIoApicSendMsi} */
    215 static DECLCALLBACK(void) pdmR3PciHlp_IoApicSendMsi(PPDMDEVINS pDevIns, RTGCPHYS GCPhys, uint32_t uValue, uint32_t uTagSrc)
    216 {
    217     PDMDEV_ASSERT_DEVINS(pDevIns);
    218     Log4(("pdmR3PciHlp_IoApicSendMsi: address=%p value=%x uTagSrc=%#x\n", GCPhys, uValue, uTagSrc));
    219     PDMIoApicSendMsi(pDevIns->Internal.s.pVMR3, GCPhys, uValue, uTagSrc);
     215static DECLCALLBACK(void) pdmR3PciHlp_IoApicSendMsi(PPDMDEVINS pDevIns, PCIBDF uBusDevFn, PCMSIMSG pMsi, uint32_t uTagSrc)
     216{
     217    PDMDEV_ASSERT_DEVINS(pDevIns);
     218    Assert(PCIBDF_IS_VALID(uBusDevFn));
     219    Log4(("pdmR3PciHlp_IoApicSendMsi: uBusDevFn=%#x Msi (Addr=%#RX64 Data=%#x) uTagSrc=%#x\n", uBusDevFn,
     220          pMsi->Addr.u64, pMsi->Data.u32, uTagSrc));
     221    PDMIoApicSendMsi(pDevIns->Internal.s.pVMR3, uBusDevFn, pMsi, uTagSrc);
    220222}
    221223
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette