VirtualBox

Changeset 61685 in vbox for trunk/src/VBox/VMM/VMMRC


Ignore:
Timestamp:
Jun 13, 2016 4:04:42 PM (9 years ago)
Author:
vboxsync
Message:

VMM: I/O APIC lockless implementation.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMRC/PDMRCDevice.cpp

    r61356 r61685  
    573573    {
    574574        Assert(pVM->pdm.s.IoApic.CTX_SUFF(pfnSetEoi));
    575         pdmLock(pVM);
    576575        pVM->pdm.s.IoApic.CTX_SUFF(pfnSetEoi)(pVM->pdm.s.IoApic.CTX_SUFF(pDevIns), u8Vector);
    577         pdmUnlock(pVM);
    578576    }
    579577#endif
     
    698696{
    699697    PDMDEV_ASSERT_DEVINS(pDevIns);
     698#ifdef VBOX_WITH_NEW_IOAPIC
     699    AssertFailed();
     700#endif
    700701    return pdmLockEx(pDevIns->Internal.s.pVMRC, rc);
    701702}
     
    706707{
    707708    PDMDEV_ASSERT_DEVINS(pDevIns);
     709#ifdef VBOX_WITH_NEW_IOAPIC
     710    AssertFailed();
     711#endif
    708712    pdmUnlock(pDevIns->Internal.s.pVMRC);
    709713}
     
    753757    if (pVM->pdm.s.IoApic.pDevInsRC)
    754758    {
     759#ifdef VBOX_WITH_NEW_IOAPIC
     760        pVM->pdm.s.IoApic.pfnSetIrqRC(pVM->pdm.s.IoApic.pDevInsRC, iIrq, iLevel, uTagSrc);
     761#else
    755762        pdmLock(pVM);
    756763        pVM->pdm.s.IoApic.pfnSetIrqRC(pVM->pdm.s.IoApic.pDevInsRC, iIrq, iLevel, uTagSrc);
    757764        pdmUnlock(pVM);
     765#endif
    758766    }
    759767    else if (pVM->pdm.s.IoApic.pDevInsR3)
     
    786794    if (pVM->pdm.s.IoApic.pDevInsRC)
    787795    {
     796#ifdef VBOX_WITH_NEW_IOAPIC
     797        pVM->pdm.s.IoApic.pfnSendMsiRC(pVM->pdm.s.IoApic.pDevInsRC, GCPhys, uValue, uTagSrc);
     798#else
    788799        pdmLock(pVM);
    789800        pVM->pdm.s.IoApic.pfnSendMsiRC(pVM->pdm.s.IoApic.pDevInsRC, GCPhys, uValue, uTagSrc);
    790801        pdmUnlock(pVM);
     802#endif
    791803    }
    792804    else
    793     {
    794805        AssertFatalMsgFailed(("Lazy bastarts!"));
    795     }
    796806}
    797807
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