VirtualBox

Changeset 5904

Show
Ignore:
Timestamp:
12/02/07 19:51:11 (1 year ago)
Author:
vboxsync
Message:

More work on the async completion interface

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • 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 

© 2008 Sun Microsystems, Inc.
ContactPrivacy policy