VirtualBox

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


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/VMMR0/PDMR0Device.cpp

    r61356 r61685  
    618618    {
    619619        Assert(pVM->pdm.s.IoApic.CTX_SUFF(pfnSetEoi));
    620         pdmLock(pVM);
    621620        pVM->pdm.s.IoApic.CTX_SUFF(pfnSetEoi)(pVM->pdm.s.IoApic.CTX_SUFF(pDevIns), u8Vector);
    622         pdmUnlock(pVM);
    623621    }
    624622#endif
     
    743741{
    744742    PDMDEV_ASSERT_DEVINS(pDevIns);
     743#ifdef VBOX_WITH_NEW_IOAPIC
     744    AssertFailed();
     745#endif
    745746    return pdmLockEx(pDevIns->Internal.s.pVMR0, rc);
    746747}
     
    751752{
    752753    PDMDEV_ASSERT_DEVINS(pDevIns);
     754#ifdef VBOX_WITH_NEW_IOAPIC
     755    AssertFailed();
     756#endif
    753757    pdmUnlock(pDevIns->Internal.s.pVMR0);
    754758}
     
    798802    if (pVM->pdm.s.IoApic.pDevInsR0)
    799803    {
     804#ifdef VBOX_WITH_NEW_IOAPIC
     805        pVM->pdm.s.IoApic.pfnSetIrqR0(pVM->pdm.s.IoApic.pDevInsR0, iIrq, iLevel, uTagSrc);
     806#else
    800807        pdmLock(pVM);
    801808        pVM->pdm.s.IoApic.pfnSetIrqR0(pVM->pdm.s.IoApic.pDevInsR0, iIrq, iLevel, uTagSrc);
    802809        pdmUnlock(pVM);
     810#endif
    803811    }
    804812    else if (pVM->pdm.s.IoApic.pDevInsR3)
     
    830838    if (pVM->pdm.s.IoApic.pDevInsR0)
    831839    {
     840#ifdef VBOX_WITH_NEW_IOAPIC
     841        pVM->pdm.s.IoApic.pfnSendMsiR0(pVM->pdm.s.IoApic.pDevInsR0, GCPhys, uValue, uTagSrc);
     842#else
    832843        pdmLock(pVM);
    833844        pVM->pdm.s.IoApic.pfnSendMsiR0(pVM->pdm.s.IoApic.pDevInsR0, GCPhys, uValue, uTagSrc);
    834845        pdmUnlock(pVM);
     846#endif
    835847    }
    836848    else
    837     {
    838849        AssertFatalMsgFailed(("Lazy bastards!"));
    839     }
    840850}
    841851
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