VirtualBox

Changeset 5904 in vbox


Ignore:
Timestamp:
Dec 2, 2007 6:51:11 PM (17 years ago)
Author:
vboxsync
Message:

More work on the async completion interface

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

Legend:

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

    r5525 r5904  
    601601        TAG2STR(PDM_QUEUE);
    602602        TAG2STR(PDM_THREAD);
     603        TAG2STR(PDM_ASYNC_COMPLETION);
    603604
    604605        TAG2STR(PGM);
  • trunk/src/VBox/VMM/PDM.cpp

    r5722 r5904  
    183183                if (VBOX_SUCCESS(rc))
    184184                {
    185                     /*
    186                      * Register the saved state data unit.
    187                      */
    188                     rc = SSMR3RegisterInternal(pVM, "pdm", 1, PDM_SAVED_STATE_VERSION, 128,
    189                                                NULL, pdmR3Save, NULL,
    190                                                pdmR3LoadPrep, pdmR3Load, NULL);
     185#ifdef VBOX_WITH_PDM_ASYNC_COMPLETION
     186                    rc = pdmR3AsyncCompletionInit(pVM);
    191187                    if (VBOX_SUCCESS(rc))
     188#endif
    192189                    {
    193                         LogFlow(("PDM: Successfully initialized\n"));
    194                         return rc;
     190                        /*
     191                         * Register the saved state data unit.
     192                         */
     193                        rc = SSMR3RegisterInternal(pVM, "pdm", 1, PDM_SAVED_STATE_VERSION, 128,
     194                                                   NULL, pdmR3Save, NULL,
     195                                                   pdmR3LoadPrep, pdmR3Load, NULL);
     196                        if (VBOX_SUCCESS(rc))
     197                        {
     198                            LogFlow(("PDM: Successfully initialized\n"));
     199                            return rc;
     200                        }
     201
    195202                    }
    196 
    197203                }
    198204            }
     
    410416    pdmR3ThreadDestroyAll(pVM);
    411417
     418#ifdef VBOX_WITH_PDM_ASYNC_COMPLETION
     419    /*
     420     * Free async completion managers.
     421     */
     422    pdmR3AsyncCompletionTerm(pVM);
     423#endif
     424
    412425    /*
    413426     * Free modules.
  • trunk/src/VBox/VMM/PDMInternal.h

    r5812 r5904  
    922922int         pdmR3ThreadSuspendAll(PVM pVM);
    923923
     924#ifdef VBOX_WITH_PDM_ASYNC_COMPLETION
     925int         pdmR3AsyncCompletionInit(PVM pVM);
     926int         pdmR3AsyncCompletionTerm(PVM pVM);
     927#endif
    924928
    925929#endif /* IN_RING3 */
  • trunk/src/VBox/VMM/testcase/Makefile.kmk

    r5898 r5904  
    3333 SYSMODS   += tstMicroGC
    3434endif # VBOX_WITH_TESTCASES
     35
     36ifdef VBOX_WITH_PDM_ASYNC_COMPLETION
     37PROGRAMS += tstPDMAsyncCompletion
     38endif
    3539
    3640#
     
    178182tstMicroGC_SOURCES.win = tstMicroGC.def
    179183
    180 
    181 
     184ifdef VBOX_WITH_PDM_ASYNC_COMPLETION
     185tstPDMAsyncCompletion_TEMPLATE         = VBOXR3EXE
     186tstPDMAsyncCompletion_SOURCES          = tstPDMAsyncCompletion.cpp
     187tstPDMAsyncCompletion_LIBS             = $(LIB_VMM) $(LIB_REM) $(LIB_RUNTIME)
     188endif
    182189
    183190include $(PATH_KBUILD)/subfooter.kmk
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