VirtualBox

Changeset 37324 in vbox for trunk/src/VBox/Devices/Network


Ignore:
Timestamp:
Jun 3, 2011 4:28:03 PM (14 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
72079
Message:

TM,Devices: Fixed default critical section screwup and adjusted its usage in the devices.

Location:
trunk/src/VBox/Devices/Network
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Network/DevE1000.cpp

    r36980 r37324  
    58335833    /* Create Transmit Interrupt Delay Timer */
    58345834    rc = PDMDevHlpTMTimerCreate(pDevIns, TMCLOCK_VIRTUAL, e1kTxIntDelayTimer, pState,
    5835                                 TMTIMER_FLAGS_DEFAULT_CRIT_SECT, /** @todo check locking here. */
     5835                                TMTIMER_FLAGS_NO_CRIT_SECT,
    58365836                                "E1000 Transmit Interrupt Delay Timer", &pState->pTIDTimerR3);
    58375837    if (RT_FAILURE(rc))
     
    58435843    /* Create Transmit Absolute Delay Timer */
    58445844    rc = PDMDevHlpTMTimerCreate(pDevIns, TMCLOCK_VIRTUAL, e1kTxAbsDelayTimer, pState,
    5845                                 TMTIMER_FLAGS_DEFAULT_CRIT_SECT, /** @todo check locking here. */
     5845                                TMTIMER_FLAGS_NO_CRIT_SECT,
    58465846                                "E1000 Transmit Absolute Delay Timer", &pState->pTADTimerR3);
    58475847    if (RT_FAILURE(rc))
     
    58555855    /* Create Receive Interrupt Delay Timer */
    58565856    rc = PDMDevHlpTMTimerCreate(pDevIns, TMCLOCK_VIRTUAL, e1kRxIntDelayTimer, pState,
    5857                                 TMTIMER_FLAGS_DEFAULT_CRIT_SECT, /** @todo check locking here. */
     5857                                TMTIMER_FLAGS_NO_CRIT_SECT,
    58585858                                "E1000 Receive Interrupt Delay Timer", &pState->pRIDTimerR3);
    58595859    if (RT_FAILURE(rc))
     
    58645864    /* Create Receive Absolute Delay Timer */
    58655865    rc = PDMDevHlpTMTimerCreate(pDevIns, TMCLOCK_VIRTUAL, e1kRxAbsDelayTimer, pState,
    5866                                 TMTIMER_FLAGS_DEFAULT_CRIT_SECT, /** @todo check locking here. */
     5866                                TMTIMER_FLAGS_NO_CRIT_SECT,
    58675867                                "E1000 Receive Absolute Delay Timer", &pState->pRADTimerR3);
    58685868    if (RT_FAILURE(rc))
     
    58745874    /* Create Late Interrupt Timer */
    58755875    rc = PDMDevHlpTMTimerCreate(pDevIns, TMCLOCK_VIRTUAL, e1kLateIntTimer, pState,
    5876                                 TMTIMER_FLAGS_DEFAULT_CRIT_SECT, /** @todo check locking here. */
     5876                                TMTIMER_FLAGS_NO_CRIT_SECT,
    58775877                                "E1000 Late Interrupt Timer", &pState->pIntTimerR3);
    58785878    if (RT_FAILURE(rc))
     
    58835883    /* Create Link Up Timer */
    58845884    rc = PDMDevHlpTMTimerCreate(pDevIns, TMCLOCK_VIRTUAL, e1kLinkUpTimer, pState,
    5885                                 TMTIMER_FLAGS_DEFAULT_CRIT_SECT, /** @todo check locking here. */
     5885                                TMTIMER_FLAGS_NO_CRIT_SECT,
    58865886                                "E1000 Link Up Timer", &pState->pLUTimerR3);
    58875887    if (RT_FAILURE(rc))
  • trunk/src/VBox/Devices/Network/DevPCNet.cpp

    r35353 r37324  
    39163916{
    39173917    PCNetState *pThis = (PCNetState *)pvUser;
     3918    Assert(PDMCritSectIsOwner(&pThis->CritSect));
     3919
    39183920    STAM_PROFILE_ADV_START(&pThis->StatTimer, a);
    39193921    pcnetPollTimer(pThis);
     
    39323934{
    39333935    PCNetState *pThis = (PCNetState *)pvUser;
    3934 
    3935 /** @todo why aren't we taking any critsect here?!? */
     3936    Assert(PDMCritSectIsOwner(&pThis->CritSect));
     3937
    39363938    pThis->aCSR[7] |= 0x0800; /* STINT */
    39373939    pcnetUpdateIrq(pThis);
     
    52015203        /* Software Interrupt timer */
    52025204        rc = PDMDevHlpTMTimerCreate(pDevIns, TMCLOCK_VIRTUAL, pcnetTimerSoftInt, pThis, /** @todo r=bird: the locking here looks bogus now with SMP... */
    5203                                     TMTIMER_FLAGS_DEFAULT_CRIT_SECT, "PCNet SoftInt Timer", &pThis->pTimerSoftIntR3);
     5205                                    TMTIMER_FLAGS_NO_CRIT_SECT, "PCNet SoftInt Timer", &pThis->pTimerSoftIntR3);
    52045206        if (RT_FAILURE(rc))
    52055207            return rc;
    52065208        pThis->pTimerSoftIntR0 = TMTimerR0Ptr(pThis->pTimerSoftIntR3);
    52075209        pThis->pTimerSoftIntRC = TMTimerRCPtr(pThis->pTimerSoftIntR3);
     5210        TMR3TimerSetCritSect(pThis->pTimerSoftIntR3, &pThis->CritSect);
    52085211    }
    52095212    rc = PDMDevHlpTMTimerCreate(pDevIns, TMCLOCK_VIRTUAL, pcnetTimerRestore, pThis,
  • trunk/src/VBox/Devices/Network/DevVirtioNet.cpp

    r35387 r37324  
    19971997    /* Create Link Up Timer */
    19981998    rc = PDMDevHlpTMTimerCreate(pDevIns, TMCLOCK_VIRTUAL, vnetLinkUpTimer, pState,
    1999                                 TMTIMER_FLAGS_DEFAULT_CRIT_SECT, /** @todo check locking here. */
     1999                                TMTIMER_FLAGS_NO_CRIT_SECT,
    20002000                                "VirtioNet Link Up Timer", &pState->pLinkUpTimer);
    20012001    if (RT_FAILURE(rc))
     
    20052005    /* Create Transmit Delay Timer */
    20062006    rc = PDMDevHlpTMTimerCreate(pDevIns, TMCLOCK_VIRTUAL, vnetTxTimer, pState,
    2007                                 TMTIMER_FLAGS_DEFAULT_CRIT_SECT, /** @todo check locking here. */
     2007                                TMTIMER_FLAGS_NO_CRIT_SECT,
    20082008                                "VirtioNet TX Delay Timer", &pState->pTxTimerR3);
    20092009    if (RT_FAILURE(rc))
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