Changeset 84715 in vbox
- Timestamp:
- Jun 6, 2020 10:29:22 AM (4 years ago)
- Location:
- trunk/src/VBox
- Files:
-
- 3 edited
-
Devices/testcase/tstDevicePdmDevHlp.cpp (modified) (1 diff)
-
VMM/VMMR0/PDMR0DevHlpTracing.cpp (modified) (1 diff)
-
VMM/VMMR3/PDMDevHlpTracing.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/testcase/tstDevicePdmDevHlp.cpp
r84431 r84715 3506 3506 { 3507 3507 pdmR3DevHlp_ISASetIrq(pDevIns, iIrq, iLevel); 3508 }3509 3510 3511 /** @interface_method_impl{PDMDEVHLPR3,pfnIoApicSendMsi} */3512 static DECLCALLBACK(void) pdmR3DevHlp_IoApicSendMsi(PPDMDEVINS pDevIns, RTGCPHYS GCPhys, uint32_t uValue)3513 {3514 PDMDEV_ASSERT_DEVINS(pDevIns);3515 LogFlow(("pdmR3DevHlp_IoApicSendMsi: caller='%s'/%d: GCPhys=%RGp uValue=%#x\n", pDevIns->pReg->szName, pDevIns->iInstance, GCPhys, uValue));3516 3517 /*3518 * Validate input.3519 */3520 Assert(GCPhys != 0);3521 Assert(uValue != 0);3522 3523 AssertFailed();3524 3525 LogFlow(("pdmR3DevHlp_IoApicSendMsi: caller='%s'/%d: returns void\n", pDevIns->pReg->szName, pDevIns->iInstance));3526 3508 } 3527 3509 -
trunk/src/VBox/VMM/VMMR0/PDMR0DevHlpTracing.cpp
r84553 r84715 475 475 476 476 477 /** @interface_method_impl{PDMDEVHLPR0,pfnIoApicSendMsi} */478 DECLHIDDEN(DECLCALLBACK(void)) pdmR0DevHlpTracing_IoApicSendMsi(PPDMDEVINS pDevIns, RTGCPHYS GCPhys, uint32_t uValue)479 {480 PDMDEV_ASSERT_DEVINS(pDevIns);481 LogFlow(("pdmR0DevHlpTracing_IoApicSendMsi: caller='%s'/%d: GCPhys=%RGp uValue=%#x\n", pDevIns->pReg->szName, pDevIns->iInstance, GCPhys, uValue));482 PGVM pGVM = pDevIns->Internal.s.pGVM;483 484 DBGFTracerEvtIoApicMsi(pGVM, pDevIns->Internal.s.hDbgfTraceEvtSrc, GCPhys, uValue);485 486 uint32_t uTagSrc;487 pDevIns->Internal.s.pIntR3R0->uLastIrqTag = uTagSrc = pdmCalcIrqTag(pGVM, pDevIns->Internal.s.pInsR3R0->idTracing);488 VBOXVMM_PDM_IRQ_HILO(VMMGetCpu(pGVM), RT_LOWORD(uTagSrc), RT_HIWORD(uTagSrc));489 490 if (pGVM->pdm.s.IoApic.pDevInsR0)491 pGVM->pdm.s.IoApic.pfnSendMsiR0(pGVM->pdm.s.IoApic.pDevInsR0, GCPhys, uValue, uTagSrc);492 else493 AssertFatalMsgFailed(("Lazy bastards!"));494 495 LogFlow(("pdmR0DevHlpTracing_IoApicSendMsi: caller='%s'/%d: returns void\n", pDevIns->pReg->szName, pDevIns->iInstance));496 }497 498 499 477 /** @} */ 500 478 -
trunk/src/VBox/VMM/VMMR3/PDMDevHlpTracing.cpp
r84553 r84715 590 590 591 591 592 /** @interface_method_impl{PDMDEVHLPR3,pfnIoApicSendMsi} */593 DECLHIDDEN(DECLCALLBACK(void)) pdmR3DevHlpTracing_IoApicSendMsi(PPDMDEVINS pDevIns, RTGCPHYS GCPhys, uint32_t uValue)594 {595 PDMDEV_ASSERT_DEVINS(pDevIns);596 LogFlow(("pdmR3DevHlp_IoApicSendMsi: caller='%s'/%d: GCPhys=%RGp uValue=%#x\n", pDevIns->pReg->szName, pDevIns->iInstance, GCPhys, uValue));597 598 /*599 * Validate input.600 */601 Assert(GCPhys != 0);602 Assert(uValue != 0);603 604 PVM pVM = pDevIns->Internal.s.pVMR3;605 606 DBGFTracerEvtIoApicMsi(pVM, pDevIns->Internal.s.hDbgfTraceEvtSrc, GCPhys, uValue);607 608 /*609 * Do the job.610 */611 pdmLock(pVM);612 uint32_t uTagSrc;613 pDevIns->Internal.s.uLastIrqTag = uTagSrc = pdmCalcIrqTag(pVM, pDevIns->idTracing);614 VBOXVMM_PDM_IRQ_HILO(VMMGetCpu(pVM), RT_LOWORD(uTagSrc), RT_HIWORD(uTagSrc));615 616 PDMIoApicSendMsi(pVM, GCPhys, uValue, uTagSrc); /* (The API takes the lock recursively.) */617 618 pdmUnlock(pVM);619 620 LogFlow(("pdmR3DevHlp_IoApicSendMsi: caller='%s'/%d: returns void\n", pDevIns->pReg->szName, pDevIns->iInstance));621 }622 623 624 592 /** @} */ 625 593
Note:
See TracChangeset
for help on using the changeset viewer.

