VirtualBox

Changeset 18615 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Apr 1, 2009 8:19:22 PM (16 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
45521
Message:

PDM: At last, no more polling!

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

Legend:

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

    r16021 r18615  
    289289static DECLCALLBACK(int) pdmR3Load(PVM pVM, PSSMHANDLE pSSM, uint32_t u32Version);
    290290static DECLCALLBACK(int) pdmR3LoadPrep(PVM pVM, PSSMHANDLE pSSM);
    291 static DECLCALLBACK(void) pdmR3PollerTimer(PVM pVM, PTMTIMER pTimer, void *pvUser);
    292291
    293292
     
    332331    pVM->pdm.s.offVM = RT_OFFSETOF(VM, pdm.s);
    333332    pVM->pdm.s.GCPhysVMMDevHeap = NIL_RTGCPHYS;
    334 
    335     int rc = TMR3TimerCreateInternal(pVM, TMCLOCK_VIRTUAL, pdmR3PollerTimer, NULL, "PDM Poller", &pVM->pdm.s.pTimerPollers);
    336     AssertRC(rc);
    337333
    338334    /*
     
    13241320VMMR3DECL(void) PDMR3Poll(PVM pVM)
    13251321{
    1326     /* This is temporary hack and shall be removed ASAP! */
    1327     unsigned iPoller = pVM->pdm.s.cPollers;
    1328     if (iPoller)
    1329     {
    1330         while (iPoller-- > 0)
    1331             pVM->pdm.s.apfnPollers[iPoller](pVM->pdm.s.aDrvInsPollers[iPoller]);
    1332         TMTimerSetMillies(pVM->pdm.s.pTimerPollers, 3);
    1333     }
    1334 }
    1335 
    1336 
    1337 /**
    1338  * Internal timer callback function.
    1339  *
    1340  * @param   pVM             The VM.
    1341  * @param   pTimer          The timer handle.
    1342  * @param   pvUser          User argument specified upon timer creation.
    1343  */
    1344 static DECLCALLBACK(void) pdmR3PollerTimer(PVM pVM, PTMTIMER pTimer, void *pvUser)
    1345 {
    1346     PDMR3Poll(pVM);
     1322    /** @todo remove after committing other EM changes. */
    13471323}
    13481324
  • trunk/src/VBox/VMM/PDMInternal.h

    r18533 r18615  
    892892    /** @} */
    893893
    894     /** TEMPORARY HACKS FOR NETWORK POLLING.
    895      * @todo fix NAT and kill this!
    896      * @{ */
    897     RTUINT                          cPollers;
    898 #if HC_ARCH_BITS == 64
    899     RTUINT                          padding1;
    900 #endif
    901     R3PTRTYPE(PFNPDMDRVPOLLER)      apfnPollers[16];
    902     R3PTRTYPE(PPDMDRVINS)           aDrvInsPollers[16];
    903     PTMTIMERR3                      pTimerPollers;
    904     /** @} */
    905 
    906894    /** The PDM lock.
    907895     * This is used to protect everything that deals with interrupts, i.e.
  • trunk/src/VBox/VMM/testcase/tstVMStructGC.cpp

    r17586 r18615  
    338338    GEN_CHECK_OFF(PDM, pThreads);
    339339    GEN_CHECK_OFF(PDM, pThreadsTail);
    340     GEN_CHECK_OFF(PDM, cPollers);
    341     GEN_CHECK_OFF(PDM, apfnPollers);
    342     GEN_CHECK_OFF(PDM, aDrvInsPollers);
    343     GEN_CHECK_OFF(PDM, pTimerPollers);
    344340    GEN_CHECK_OFF(PDM, CritSect);
    345341    GEN_CHECK_OFF(PDM, StatQueuedCritSectLeaves);
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