VirtualBox

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


Ignore:
Timestamp:
Oct 4, 2008 11:20:58 PM (16 years ago)
Author:
vboxsync
Message:

#1865: PDMQueue.

File:
1 edited

Legend:

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

    r12976 r12984  
    4040
    4141/*******************************************************************************
    42 *   Defined Constants And Macros                                               *
    43 *******************************************************************************/
    44 /** @def PDMDEV_ASSERT_DEVINS
    45  * Asserts the validity of the driver instance.
    46  */
    47 #ifdef VBOX_STRICT
    48 # define PDMDEV_ASSERT_DEVINS(pDevIns)   do { Assert(VALID_PTR(pDevIns)); \
    49                                               Assert(pDevIns->u32Version == PDM_DEVINS_VERSION); \
    50                                               Assert(pDevIns->pvInstanceDataR0 == (void *)&pDevIns->achInstanceData[0]); \
    51                                          } while (0)
    52 #else
    53 # define PDMDEV_ASSERT_DEVINS(pDevIns)   do { } while (0)
    54 #endif
    55 
    56 
    57 /*******************************************************************************
    5842*   Global Variables                                                           *
    5943*******************************************************************************/
     
    231215    {
    232216        /* queue for ring-3 execution. */
    233         PPDMDEVHLPTASK pTask = (PPDMDEVHLPTASK)PDMQueueAlloc(pVM->pdm.s.pDevHlpQueueHC);
     217        PPDMDEVHLPTASK pTask = (PPDMDEVHLPTASK)PDMQueueAlloc(pVM->pdm.s.pDevHlpQueueR0);
    234218        if (pTask)
    235219        {
    236220            pTask->enmOp = PDMDEVHLPTASKOP_PCI_SET_IRQ;
    237             pTask->pDevInsHC = pDevIns;
     221            pTask->pDevInsR3 = PDMDEVINS_2_R3PTR(pDevIns);
    238222            pTask->u.SetIRQ.iIrq = iIrq;
    239223            pTask->u.SetIRQ.iLevel = iLevel;
    240224
    241             PDMQueueInsertEx(pVM->pdm.s.pDevHlpQueueHC, &pTask->Core, 0);
     225            PDMQueueInsertEx(pVM->pdm.s.pDevHlpQueueR0, &pTask->Core, 0);
    242226        }
    243227        else
     
    561545    {
    562546        /* queue for ring-3 execution. */
    563         PPDMDEVHLPTASK pTask = (PPDMDEVHLPTASK)PDMQueueAlloc(pVM->pdm.s.pDevHlpQueueHC);
     547        PPDMDEVHLPTASK pTask = (PPDMDEVHLPTASK)PDMQueueAlloc(pVM->pdm.s.pDevHlpQueueR0);
    564548        if (pTask)
    565549        {
    566550            pTask->enmOp = PDMDEVHLPTASKOP_ISA_SET_IRQ;
    567             pTask->pDevInsHC = 0; /* not required */
     551            pTask->pDevInsR3 = NIL_RTR3PTR; /* not required */
    568552            pTask->u.SetIRQ.iIrq = iIrq;
    569553            pTask->u.SetIRQ.iLevel = iLevel;
    570554
    571             PDMQueueInsertEx(pVM->pdm.s.pDevHlpQueueHC, &pTask->Core, 0);
     555            PDMQueueInsertEx(pVM->pdm.s.pDevHlpQueueR0, &pTask->Core, 0);
    572556        }
    573557        else
     
    595579    {
    596580        /* queue for ring-3 execution. */
    597         PPDMDEVHLPTASK pTask = (PPDMDEVHLPTASK)PDMQueueAlloc(pVM->pdm.s.pDevHlpQueueHC);
     581        PPDMDEVHLPTASK pTask = (PPDMDEVHLPTASK)PDMQueueAlloc(pVM->pdm.s.pDevHlpQueueR0);
    598582        if (pTask)
    599583        {
    600584            pTask->enmOp = PDMDEVHLPTASKOP_IOAPIC_SET_IRQ;
    601             pTask->pDevInsHC = 0; /* not required */
     585            pTask->pDevInsR3 = NIL_RTR3PTR; /* not required */
    602586            pTask->u.SetIRQ.iIrq = iIrq;
    603587            pTask->u.SetIRQ.iLevel = iLevel;
    604588
    605             PDMQueueInsertEx(pVM->pdm.s.pDevHlpQueueHC, &pTask->Core, 0);
     589            PDMQueueInsertEx(pVM->pdm.s.pDevHlpQueueR0, &pTask->Core, 0);
    606590        }
    607591        else
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