VirtualBox

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


Ignore:
Timestamp:
Oct 28, 2009 1:18:51 PM (16 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
54059
Message:

Missing Set/ClearInterruptFF cases for R0 & RC.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR0/PDMR0Device.cpp

    r24125 r24138  
    386386    PDMDEV_ASSERT_DEVINS(pDevIns);
    387387    PVM    pVM   = pDevIns->Internal.s.pVMR0;
     388
     389    if (pVM->pdm.s.Apic.pfnLocalInterruptR0)
     390    {
     391        LogFlow(("pdmR0PicHlp_SetInterruptFF: caller='%p'/%d: Setting local interrupt on LAPIC\n",
     392                 pDevIns, pDevIns->iInstance));
     393        /* Raise the LAPIC's LINT0 line instead of signaling the CPU directly. */
     394        pVM->pdm.s.Apic.pfnLocalInterruptR0(pVM->pdm.s.Apic.pDevInsR0, 0, 1);
     395        return;
     396    }
     397
    388398    PVMCPU pVCpu = &pVM->aCpus[0];      /* for PIC we always deliver to CPU 0, MP use APIC */
    389399
     
    400410    PDMDEV_ASSERT_DEVINS(pDevIns);
    401411    PVM    pVM   = pDevIns->Internal.s.pVMR0;
     412
     413    if (pVM->pdm.s.Apic.pfnLocalInterruptR0)
     414    {
     415        /* Raise the LAPIC's LINT0 line instead of signaling the CPU directly. */
     416        LogFlow(("pdmR0PicHlp_ClearInterruptFF: caller='%s'/%d: Clearing local interrupt on LAPIC\n",
     417                 pDevIns, pDevIns->iInstance));
     418        /* Lower the LAPIC's LINT0 line instead of signaling the CPU directly. */
     419        pVM->pdm.s.Apic.pfnLocalInterruptR0(pVM->pdm.s.Apic.pDevInsR0, 0, 0);
     420        return;
     421    }
     422
    402423    PVMCPU pVCpu = &pVM->aCpus[0];      /* for PIC we always deliver to CPU 0, MP use APIC */
    403424
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