Changeset 88640 in vbox for trunk/src/VBox
- Timestamp:
- Apr 22, 2021 6:15:35 AM (4 years ago)
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/PDMR0DevHlp.cpp
r88639 r88640 1627 1627 if (pGVM->pdm.s.IoApic.pDevInsR0) 1628 1628 pGVM->pdm.s.IoApic.pfnSendMsiR0(pGVM->pdm.s.IoApic.pDevInsR0, uBusDevFn, pMsi, uTagSrc); 1629 else 1630 AssertFatalMsgFailed(("Lazy bastards!")); 1629 else if (pGVM->pdm.s.IoApic.pDevInsR3) 1630 { 1631 /* queue for ring-3 execution. */ 1632 PPDMDEVHLPTASK pTask = (PPDMDEVHLPTASK)PDMQueueAlloc(pGVM->pdm.s.pDevHlpQueueR0); 1633 if (pTask) 1634 { 1635 pTask->enmOp = PDMDEVHLPTASKOP_IOAPIC_SEND_MSI; 1636 pTask->pDevInsR3 = NIL_RTR3PTR; /* not required */ 1637 pTask->u.IoApicSendMsi.uBusDevFn = uBusDevFn; 1638 pTask->u.IoApicSendMsi.Msi = *pMsi; 1639 pTask->u.IoApicSendMsi.uTagSrc = uTagSrc; 1640 1641 PDMQueueInsertEx(pGVM->pdm.s.pDevHlpQueueR0, &pTask->Core, 0); 1642 } 1643 else 1644 AssertMsgFailed(("We're out of devhlp queue items!!!\n")); 1645 } 1631 1646 } 1632 1647 -
trunk/src/VBox/VMM/VMMR3/PDMDevHlp.cpp
r88639 r88640 5392 5392 } 5393 5393 5394 case PDMDEVHLPTASKOP_IOAPIC_SEND_MSI: 5395 { 5396 PDMIoApicSendMsi(pVM, pTask->u.IoApicSendMsi.uBusDevFn, &pTask->u.IoApicSendMsi.Msi, pTask->u.IoApicSendMsi.uTagSrc); 5397 break; 5398 } 5399 5394 5400 default: 5395 5401 AssertReleaseMsgFailed(("Invalid operation %d\n", pTask->enmOp)); -
trunk/src/VBox/VMM/include/PDMInternal.h
r88631 r88640 1209 1209 /** PCISetIrq */ 1210 1210 PDMDEVHLPTASKOP_IOAPIC_SET_IRQ, 1211 /** IoApicSendMsi */ 1212 PDMDEVHLPTASKOP_IOAPIC_SEND_MSI, 1211 1213 /** The usual 32-bit hack. */ 1212 1214 PDMDEVHLPTASKOP_32BIT_HACK = 0x7fffffff … … 1259 1261 uint32_t uTagSrc; 1260 1262 } PciSetIRQ; 1263 1264 /** 1265 * PDMDEVHLPTASKOP_IOAPIC_SEND_MSI 1266 */ 1267 struct PDMDEVHLPTASKIOAPICSENDMSI 1268 { 1269 /** The bus:device:function of the device sending the MSI. */ 1270 PCIBDF uBusDevFn; 1271 /** The MSI. */ 1272 MSIMSG Msi; 1273 /** The IRQ tag and source. */ 1274 uint32_t uTagSrc; 1275 } IoApicSendMsi; 1261 1276 1262 1277 /** Expanding the structure. */
Note:
See TracChangeset
for help on using the changeset viewer.