VirtualBox

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


Ignore:
Timestamp:
Sep 24, 2008 12:12:24 PM (16 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
36988
Message:

refactoring to simplify migration to per-CPU action flags

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

Legend:

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

    r12669 r12684  
    40084008    PVM pVM = pDevIns->Internal.s.pVMHC;
    40094009    LogFlow(("pdmR3PicHlp_SetInterruptFF: caller='%s'/%d: VM_FF_INTERRUPT_PIC %d -> 1\n",
    4010              pDevIns->pDevReg->szDeviceName, pDevIns->iInstance, VM_FF_ISSET(pVM, VM_FF_INTERRUPT_PIC)));
    4011     VM_FF_SET(pVM, VM_FF_INTERRUPT_PIC);
     4010             pDevIns->pDevReg->szDeviceName, pDevIns->iInstance, VMCPU_FF_ISSET(pVM, 0, VM_FF_INTERRUPT_PIC)));
     4011    /* for PIC we always deliver to CPU 0, MP use APIC */
     4012    VMCPU_FF_SET(pVM, 0, VM_FF_INTERRUPT_PIC);
    40124013    REMR3NotifyInterruptSet(pVM);
    40134014    VMR3NotifyFF(pVM, true);
     
    40204021    PDMDEV_ASSERT_DEVINS(pDevIns);
    40214022    LogFlow(("pdmR3PicHlp_ClearInterruptFF: caller='%s'/%d: VM_FF_INTERRUPT_PIC %d -> 0\n",
    4022              pDevIns->pDevReg->szDeviceName, pDevIns->iInstance, VM_FF_ISSET(pDevIns->Internal.s.pVMHC, VM_FF_INTERRUPT_PIC)));
    4023     VM_FF_CLEAR(pDevIns->Internal.s.pVMHC, VM_FF_INTERRUPT_PIC);
     4023             pDevIns->pDevReg->szDeviceName, pDevIns->iInstance, VMCPU_FF_ISSET(pDevIns->Internal.s.pVMHC, 0, VM_FF_INTERRUPT_PIC)));
     4024    /* for PIC we always deliver to CPU 0, MP use APIC */
     4025    VMCPU_FF_CLEAR(pDevIns->Internal.s.pVMHC, 0, VM_FF_INTERRUPT_PIC);
    40244026    REMR3NotifyInterruptClear(pDevIns->Internal.s.pVMHC);
    40254027}
     
    40774079    PDMDEV_ASSERT_DEVINS(pDevIns);
    40784080    PVM pVM = pDevIns->Internal.s.pVMHC;
    4079 #ifdef VBOX_WITH_SMP_GUESTS
    40804081    LogFlow(("pdmR3ApicHlp_SetInterruptFF: caller='%s'/%d: VM_FF_INTERRUPT %d -> 1\n",
    40814082             pDevIns->pDevReg->szDeviceName, pDevIns->iInstance, VMCPU_FF_ISSET(pVM, cpuid, VM_FF_INTERRUPT_APIC)));
    40824083    VMCPU_FF_SET(pVM, cpuid, VM_FF_INTERRUPT_APIC);
    4083 #else
    4084     LogFlow(("pdmR3ApicHlp_SetInterruptFF: caller='%s'/%d: VM_FF_INTERRUPT %d -> 1\n",
    4085              pDevIns->pDevReg->szDeviceName, pDevIns->iInstance, VM_FF_ISSET(pVM, VM_FF_INTERRUPT_APIC)));
    4086     VM_FF_SET(pVM, VM_FF_INTERRUPT_APIC);
    4087 #endif
    40884084    REMR3NotifyInterruptSet(pVM);
    40894085    VMR3NotifyFF(pVM, true);
     
    40954091{
    40964092    PDMDEV_ASSERT_DEVINS(pDevIns);
    4097 #ifdef VBOX_WITH_SMP_GUESTS
    40984093    LogFlow(("pdmR3ApicHlp_ClearInterruptFF: caller='%s'/%d: VM_FF_INTERRUPT %d -> 0\n",
    40994094             pDevIns->pDevReg->szDeviceName, pDevIns->iInstance, VMCPU_FF_ISSET(pDevIns->Internal.s.pVMHC, cpuid, VM_FF_INTERRUPT_APIC)));
    41004095    VMCPU_FF_CLEAR(pDevIns->Internal.s.pVMHC, cpuid, VM_FF_INTERRUPT_APIC);
    4101 #else
    4102     LogFlow(("pdmR3ApicHlp_ClearInterruptFF: caller='%s'/%d: VM_FF_INTERRUPT %d -> 0\n",
    4103              pDevIns->pDevReg->szDeviceName, pDevIns->iInstance, VM_FF_ISSET(pDevIns->Internal.s.pVMHC, VM_FF_INTERRUPT_APIC)));
    4104     VM_FF_CLEAR(pDevIns->Internal.s.pVMHC, VM_FF_INTERRUPT_APIC);
    4105 #endif
    41064096    REMR3NotifyInterruptClear(pDevIns->Internal.s.pVMHC);
    41074097}
  • trunk/src/VBox/VMM/VMMGC/PDMGCDevice.cpp

    r12669 r12684  
    359359    PDMDEV_ASSERT_DEVINS(pDevIns);
    360360    LogFlow(("pdmRCPicHlp_SetInterruptFF: caller=%p/%d: VM_FF_INTERRUPT_PIC %d -> 1\n",
    361              pDevIns, pDevIns->iInstance, VM_FF_ISSET(pDevIns->Internal.s.pVMGC, VM_FF_INTERRUPT_PIC)));
    362     VM_FF_SET(pDevIns->Internal.s.pVMGC, VM_FF_INTERRUPT_PIC);
     361             pDevIns, pDevIns->iInstance, VMCPU_FF_ISSET(pDevIns->Internal.s.pVMGC, 0, VM_FF_INTERRUPT_PIC)));
     362    /* for PIC we always deliver to CPU 0, MP use APIC */
     363    VMCPU_FF_SET(pDevIns->Internal.s.pVMGC, 0, VM_FF_INTERRUPT_PIC);
    363364}
    364365
     
    369370    PDMDEV_ASSERT_DEVINS(pDevIns);
    370371    LogFlow(("pdmRCPicHlp_ClearInterruptFF: caller=%p/%d: VM_FF_INTERRUPT_PIC %d -> 0\n",
    371              pDevIns, pDevIns->iInstance, VM_FF_ISSET(pDevIns->Internal.s.pVMGC, VM_FF_INTERRUPT_PIC)));
    372     VM_FF_CLEAR(pDevIns->Internal.s.pVMGC, VM_FF_INTERRUPT_PIC);
     372             pDevIns, pDevIns->iInstance, VMCPU_FF_ISSET(pDevIns->Internal.s.pVMGC, 0, VM_FF_INTERRUPT_PIC)));
     373    /* for PIC we always deliver to CPU 0, MP use APIC */
     374    VMCPU_FF_CLEAR(pDevIns->Internal.s.pVMGC, 0, VM_FF_INTERRUPT_PIC);
    373375}
    374376
     
    396398{
    397399    PDMDEV_ASSERT_DEVINS(pDevIns);
    398 #ifdef VBOX_WITH_SMP_GUESTS
    399400    LogFlow(("pdmRCApicHlp_SetInterruptFF: caller=%p/%d: VM_FF_INTERRUPT %d -> 1\n",
    400401             pDevIns, pDevIns->iInstance, VMCPU_FF_ISSET(pDevIns->Internal.s.pVMGC, cpuid, VM_FF_INTERRUPT_APIC)));
    401402    VMCPU_FF_SET(pDevIns->Internal.s.pVMGC, cpuid, VM_FF_INTERRUPT_APIC);
    402 #else
    403     LogFlow(("pdmRCApicHlp_SetInterruptFF: caller=%p/%d: VM_FF_INTERRUPT %d -> 1\n",
    404              pDevIns, pDevIns->iInstance, VM_FF_ISSET(pDevIns->Internal.s.pVMGC, VM_FF_INTERRUPT_APIC)));
    405     VM_FF_SET(pDevIns->Internal.s.pVMGC, VM_FF_INTERRUPT_APIC);
    406 #endif
    407403}
    408404
     
    412408{
    413409    PDMDEV_ASSERT_DEVINS(pDevIns);
    414 #ifdef VBOX_WITH_SMP_GUESTS
    415410    LogFlow(("pdmRCApicHlp_ClearInterruptFF: caller=%p/%d: VM_FF_INTERRUPT %d -> 0\n",
    416411             pDevIns, pDevIns->iInstance, VMCPU_FF_ISSET(pDevIns->Internal.s.pVMGC, cpuid, VM_FF_INTERRUPT_APIC)));
    417412    VMCPU_FF_CLEAR(pDevIns->Internal.s.pVMGC, cpuid, VM_FF_INTERRUPT_APIC);
    418 #else
    419     LogFlow(("pdmRCApicHlp_ClearInterruptFF: caller=%p/%d: VM_FF_INTERRUPT %d -> 0\n",
    420              pDevIns, pDevIns->iInstance, VM_FF_ISSET(pDevIns->Internal.s.pVMGC, VM_FF_INTERRUPT_APIC)));
    421     VM_FF_CLEAR(pDevIns->Internal.s.pVMGC, VM_FF_INTERRUPT_APIC);
    422 #endif
    423413}
    424414
  • trunk/src/VBox/VMM/VMMR0/PDMR0Device.cpp

    r12669 r12684  
    363363    PDMDEV_ASSERT_DEVINS(pDevIns);
    364364    LogFlow(("pdmR0PicHlp_SetInterruptFF: caller=%p/%d: VM_FF_INTERRUPT_PIC %d -> 1\n",
    365              pDevIns, pDevIns->iInstance, VM_FF_ISSET(pDevIns->Internal.s.pVMHC, VM_FF_INTERRUPT_PIC)));
    366     VM_FF_SET(pDevIns->Internal.s.pVMHC, VM_FF_INTERRUPT_PIC);
     365             pDevIns, pDevIns->iInstance, VMCPU_FF_ISSET(pDevIns->Internal.s.pVMHC, 0, VM_FF_INTERRUPT_PIC)));
     366    /* for PIC we always deliver to CPU 0, MP use APIC */
     367    VMCPU_FF_SET(pDevIns->Internal.s.pVMHC, 0, VM_FF_INTERRUPT_PIC);
    367368}
    368369
     
    373374    PDMDEV_ASSERT_DEVINS(pDevIns);
    374375    LogFlow(("pdmR0PicHlp_ClearInterruptFF: caller=%p/%d: VM_FF_INTERRUPT_PIC %d -> 0\n",
    375              pDevIns, pDevIns->iInstance, VM_FF_ISSET(pDevIns->Internal.s.pVMHC, VM_FF_INTERRUPT_PIC)));
    376     VM_FF_CLEAR(pDevIns->Internal.s.pVMHC, VM_FF_INTERRUPT_PIC);
     376             pDevIns, pDevIns->iInstance, VMCPU_FF_ISSET(pDevIns->Internal.s.pVMHC, 0, VM_FF_INTERRUPT_PIC)));
     377    /* for PIC we always deliver to CPU 0, MP use APIC */
     378    VMCPU_FF_CLEAR(pDevIns->Internal.s.pVMHC, 0, VM_FF_INTERRUPT_PIC);
    377379}
    378380
     
    400402    PDMDEV_ASSERT_DEVINS(pDevIns);
    401403   
    402 #ifdef VBOX_WITH_SMP_GUESTS
    403404    LogFlow(("pdmR0ApicHlp_SetInterruptFF: caller=%p/%d: VM_FF_INTERRUPT %d -> 1\n",
    404405             pDevIns, pDevIns->iInstance, VMCPU_FF_ISSET(pDevIns->Internal.s.pVMHC, cpuid, VM_FF_INTERRUPT_APIC)));
    405406    VMCPU_FF_SET(pDevIns->Internal.s.pVMHC, cpuid, VM_FF_INTERRUPT_APIC);
    406 #else
    407     LogFlow(("pdmR0ApicHlp_SetInterruptFF: caller=%p/%d: VM_FF_INTERRUPT %d -> 1\n",
    408              pDevIns, pDevIns->iInstance, VM_FF_ISSET(pDevIns->Internal.s.pVMHC, VM_FF_INTERRUPT_APIC)));
    409     VM_FF_SET(pDevIns->Internal.s.pVMHC, VM_FF_INTERRUPT_APIC);
    410 #endif
    411407}
    412408
     
    417413    PDMDEV_ASSERT_DEVINS(pDevIns);
    418414   
    419 #ifdef VBOX_WITH_SMP_GUESTS
    420415    LogFlow(("pdmR0ApicHlp_ClearInterruptFF: caller=%p/%d: VM_FF_INTERRUPT %d -> 0\n",
    421416             pDevIns, pDevIns->iInstance, VMCPU_FF_ISSET(pDevIns->Internal.s.pVMHC, cpuid, VM_FF_INTERRUPT_APIC)));
    422417    VMCPU_FF_CLEAR(pDevIns->Internal.s.pVMHC, cpuid, VM_FF_INTERRUPT_APIC);
    423 #else
    424     LogFlow(("pdmR0ApicHlp_ClearInterruptFF: caller=%p/%d: VM_FF_INTERRUPT %d -> 0\n",
    425              pDevIns, pDevIns->iInstance, VM_FF_ISSET(pDevIns->Internal.s.pVMHC, VM_FF_INTERRUPT_APIC)));
    426     VM_FF_CLEAR(pDevIns->Internal.s.pVMHC, VM_FF_INTERRUPT_APIC);
    427 #endif
    428418}
    429419
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