VirtualBox

Changeset 12669 in vbox for trunk/src/VBox/VMM


Ignore:
Timestamp:
Sep 23, 2008 1:40:02 PM (17 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
36962
Message:

account CPU id in setting attention flags (only SMP builds)

Location:
trunk/src/VBox/VMM
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/PDMDevice.cpp

    r12667 r12669  
    40774077    PDMDEV_ASSERT_DEVINS(pDevIns);
    40784078    PVM pVM = pDevIns->Internal.s.pVMHC;
     4079#ifdef VBOX_WITH_SMP_GUESTS
     4080    LogFlow(("pdmR3ApicHlp_SetInterruptFF: caller='%s'/%d: VM_FF_INTERRUPT %d -> 1\n",
     4081             pDevIns->pDevReg->szDeviceName, pDevIns->iInstance, VMCPU_FF_ISSET(pVM, cpuid, VM_FF_INTERRUPT_APIC)));
     4082    VMCPU_FF_SET(pVM, cpuid, VM_FF_INTERRUPT_APIC);
     4083#else
    40794084    LogFlow(("pdmR3ApicHlp_SetInterruptFF: caller='%s'/%d: VM_FF_INTERRUPT %d -> 1\n",
    40804085             pDevIns->pDevReg->szDeviceName, pDevIns->iInstance, VM_FF_ISSET(pVM, VM_FF_INTERRUPT_APIC)));
    40814086    VM_FF_SET(pVM, VM_FF_INTERRUPT_APIC);
     4087#endif
    40824088    REMR3NotifyInterruptSet(pVM);
    40834089    VMR3NotifyFF(pVM, true);
     
    40894095{
    40904096    PDMDEV_ASSERT_DEVINS(pDevIns);
     4097#ifdef VBOX_WITH_SMP_GUESTS
     4098    LogFlow(("pdmR3ApicHlp_ClearInterruptFF: caller='%s'/%d: VM_FF_INTERRUPT %d -> 0\n",
     4099             pDevIns->pDevReg->szDeviceName, pDevIns->iInstance, VMCPU_FF_ISSET(pDevIns->Internal.s.pVMHC, cpuid, VM_FF_INTERRUPT_APIC)));
     4100    VMCPU_FF_CLEAR(pDevIns->Internal.s.pVMHC, cpuid, VM_FF_INTERRUPT_APIC);
     4101#else
    40914102    LogFlow(("pdmR3ApicHlp_ClearInterruptFF: caller='%s'/%d: VM_FF_INTERRUPT %d -> 0\n",
    40924103             pDevIns->pDevReg->szDeviceName, pDevIns->iInstance, VM_FF_ISSET(pDevIns->Internal.s.pVMHC, VM_FF_INTERRUPT_APIC)));
    40934104    VM_FF_CLEAR(pDevIns->Internal.s.pVMHC, VM_FF_INTERRUPT_APIC);
     4105#endif
    40944106    REMR3NotifyInterruptClear(pDevIns->Internal.s.pVMHC);
    40954107}
  • trunk/src/VBox/VMM/VMMGC/PDMGCDevice.cpp

    r12667 r12669  
    396396{
    397397    PDMDEV_ASSERT_DEVINS(pDevIns);
     398#ifdef VBOX_WITH_SMP_GUESTS
     399    LogFlow(("pdmRCApicHlp_SetInterruptFF: caller=%p/%d: VM_FF_INTERRUPT %d -> 1\n",
     400             pDevIns, pDevIns->iInstance, VMCPU_FF_ISSET(pDevIns->Internal.s.pVMGC, cpuid, VM_FF_INTERRUPT_APIC)));
     401    VMCPU_FF_SET(pDevIns->Internal.s.pVMGC, cpuid, VM_FF_INTERRUPT_APIC);
     402#else
    398403    LogFlow(("pdmRCApicHlp_SetInterruptFF: caller=%p/%d: VM_FF_INTERRUPT %d -> 1\n",
    399404             pDevIns, pDevIns->iInstance, VM_FF_ISSET(pDevIns->Internal.s.pVMGC, VM_FF_INTERRUPT_APIC)));
    400405    VM_FF_SET(pDevIns->Internal.s.pVMGC, VM_FF_INTERRUPT_APIC);
     406#endif
    401407}
    402408
     
    406412{
    407413    PDMDEV_ASSERT_DEVINS(pDevIns);
     414#ifdef VBOX_WITH_SMP_GUESTS
     415    LogFlow(("pdmRCApicHlp_ClearInterruptFF: caller=%p/%d: VM_FF_INTERRUPT %d -> 0\n",
     416             pDevIns, pDevIns->iInstance, VMCPU_FF_ISSET(pDevIns->Internal.s.pVMGC, cpuid, VM_FF_INTERRUPT_APIC)));
     417    VMCPU_FF_CLEAR(pDevIns->Internal.s.pVMGC, cpuid, VM_FF_INTERRUPT_APIC);
     418#else
    408419    LogFlow(("pdmRCApicHlp_ClearInterruptFF: caller=%p/%d: VM_FF_INTERRUPT %d -> 0\n",
    409420             pDevIns, pDevIns->iInstance, VM_FF_ISSET(pDevIns->Internal.s.pVMGC, VM_FF_INTERRUPT_APIC)));
    410421    VM_FF_CLEAR(pDevIns->Internal.s.pVMGC, VM_FF_INTERRUPT_APIC);
     422#endif
    411423}
    412424
  • trunk/src/VBox/VMM/VMMR0/PDMR0Device.cpp

    r12667 r12669  
    395395
    396396
    397 
    398397/** @copydoc PDMAPICHLPR0::pfnSetInterruptFF */
    399398static DECLCALLBACK(void) pdmR0ApicHlp_SetInterruptFF(PPDMDEVINS pDevIns, VMCPUID cpuid)
    400399{
    401400    PDMDEV_ASSERT_DEVINS(pDevIns);
     401   
     402#ifdef VBOX_WITH_SMP_GUESTS
     403    LogFlow(("pdmR0ApicHlp_SetInterruptFF: caller=%p/%d: VM_FF_INTERRUPT %d -> 1\n",
     404             pDevIns, pDevIns->iInstance, VMCPU_FF_ISSET(pDevIns->Internal.s.pVMHC, cpuid, VM_FF_INTERRUPT_APIC)));
     405    VMCPU_FF_SET(pDevIns->Internal.s.pVMHC, cpuid, VM_FF_INTERRUPT_APIC);
     406#else
    402407    LogFlow(("pdmR0ApicHlp_SetInterruptFF: caller=%p/%d: VM_FF_INTERRUPT %d -> 1\n",
    403408             pDevIns, pDevIns->iInstance, VM_FF_ISSET(pDevIns->Internal.s.pVMHC, VM_FF_INTERRUPT_APIC)));
    404409    VM_FF_SET(pDevIns->Internal.s.pVMHC, VM_FF_INTERRUPT_APIC);
     410#endif
    405411}
    406412
     
    410416{
    411417    PDMDEV_ASSERT_DEVINS(pDevIns);
     418   
     419#ifdef VBOX_WITH_SMP_GUESTS
     420    LogFlow(("pdmR0ApicHlp_ClearInterruptFF: caller=%p/%d: VM_FF_INTERRUPT %d -> 0\n",
     421             pDevIns, pDevIns->iInstance, VMCPU_FF_ISSET(pDevIns->Internal.s.pVMHC, cpuid, VM_FF_INTERRUPT_APIC)));
     422    VMCPU_FF_CLEAR(pDevIns->Internal.s.pVMHC, cpuid, VM_FF_INTERRUPT_APIC);
     423#else
    412424    LogFlow(("pdmR0ApicHlp_ClearInterruptFF: caller=%p/%d: VM_FF_INTERRUPT %d -> 0\n",
    413425             pDevIns, pDevIns->iInstance, VM_FF_ISSET(pDevIns->Internal.s.pVMHC, VM_FF_INTERRUPT_APIC)));
    414426    VM_FF_CLEAR(pDevIns->Internal.s.pVMHC, VM_FF_INTERRUPT_APIC);
     427#endif
    415428}
    416429
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