VirtualBox

Changeset 50953 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Apr 2, 2014 2:47:00 PM (11 years ago)
Author:
vboxsync
Message:

GIM: Skeleton, work in progress.

Location:
trunk/src/VBox/VMM
Files:
6 added
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/Makefile.kmk

    r50809 r50953  
    147147        VMMR3/EMHM.cpp \
    148148        VMMR3/FTM.cpp \
     149        VMMR3/GIM.cpp \
     150        VMMR3/GIMHv.cpp \
    149151        VMMR3/IEMR3.cpp \
    150152        VMMR3/IOM.cpp \
     
    223225        VMMAll/EMAllA.asm \
    224226        VMMAll/FTMAll.cpp \
     227        VMMAll/GIMAll.cpp \
     228        VMMAll/GIMAllHv.cpp \
    225229        VMMAll/TMAll.cpp \
    226230        VMMAll/TMAllCpu.cpp \
     
    461465        VMMAll/EMAllA.asm \
    462466        VMMAll/FTMAll.cpp \
     467        VMMAll/GIMAll.cpp \
     468        VMMAll/GIMAllHv.cpp \
    463469        VMMAll/MMAll.cpp \
    464470        VMMAll/MMAllHyper.cpp \
     
    563569        VMMAll/EMAllA.asm \
    564570        VMMAll/FTMAll.cpp \
     571        VMMAll/GIMAll.cpp \
     572        VMMAll/GIMAllHv.cpp \
    565573        VMMAll/HMAll.cpp \
    566574        VMMAll/IEMAll.cpp \
  • trunk/src/VBox/VMM/VMMR3/VM.cpp

    r50596 r50953  
    6767#include <VBox/vmm/ftm.h>
    6868#include <VBox/vmm/hm.h>
     69#include <VBox/vmm/gim.h>
    6970#include "VMInternal.h"
    7071#include <VBox/vmm/vm.h>
     
    988989                                                                    if (RT_SUCCESS(rc))
    989990                                                                    {
    990                                                                         rc = PGMR3InitDynMap(pVM);
    991                                                                         if (RT_SUCCESS(rc))
    992                                                                             rc = MMR3HyperInitFinalize(pVM);
    993 #ifdef VBOX_WITH_RAW_MODE
    994                                                                         if (RT_SUCCESS(rc))
    995                                                                             rc = PATMR3InitFinalize(pVM);
    996 #endif
    997                                                                         if (RT_SUCCESS(rc))
    998                                                                             rc = PGMR3InitFinalize(pVM);
    999                                                                         if (RT_SUCCESS(rc))
    1000                                                                             rc = SELMR3InitFinalize(pVM);
    1001                                                                         if (RT_SUCCESS(rc))
    1002                                                                             rc = TMR3InitFinalize(pVM);
    1003 #ifdef VBOX_WITH_REM
    1004                                                                         if (RT_SUCCESS(rc))
    1005                                                                             rc = REMR3InitFinalize(pVM);
    1006 #endif
     991                                                                        /* GIM must be init'd after PDM, relies on PDMR3 for
     992                                                                           symbol resolution.*/
     993                                                                        rc = GIMR3Init(pVM);
    1007994                                                                        if (RT_SUCCESS(rc))
    1008995                                                                        {
    1009                                                                             PGMR3MemSetup(pVM, false /*fAtReset*/);
    1010                                                                             PDMR3MemSetup(pVM, false /*fAtReset*/);
     996                                                                            rc = PGMR3InitDynMap(pVM);
     997                                                                            if (RT_SUCCESS(rc))
     998                                                                                rc = MMR3HyperInitFinalize(pVM);
     999#ifdef VBOX_WITH_RAW_MODE
     1000                                                                            if (RT_SUCCESS(rc))
     1001                                                                                rc = PATMR3InitFinalize(pVM);
     1002#endif
     1003                                                                            if (RT_SUCCESS(rc))
     1004                                                                                rc = PGMR3InitFinalize(pVM);
     1005                                                                            if (RT_SUCCESS(rc))
     1006                                                                                rc = SELMR3InitFinalize(pVM);
     1007                                                                            if (RT_SUCCESS(rc))
     1008                                                                                rc = TMR3InitFinalize(pVM);
     1009#ifdef VBOX_WITH_REM
     1010                                                                            if (RT_SUCCESS(rc))
     1011                                                                                rc = REMR3InitFinalize(pVM);
     1012#endif
     1013
     1014                                                                            if (RT_SUCCESS(rc))
     1015                                                                            {
     1016                                                                                PGMR3MemSetup(pVM, false /*fAtReset*/);
     1017                                                                                PDMR3MemSetup(pVM, false /*fAtReset*/);
     1018                                                                            }
     1019                                                                            if (RT_SUCCESS(rc))
     1020                                                                                rc = vmR3InitDoCompleted(pVM, VMINITCOMPLETED_RING3);
     1021                                                                            if (RT_SUCCESS(rc))
     1022                                                                            {
     1023                                                                                LogFlow(("vmR3InitRing3: returns %Rrc\n", VINF_SUCCESS));
     1024                                                                                return VINF_SUCCESS;
     1025                                                                            }
     1026
     1027                                                                            int rc2 = GIMR3Term(pVM);
     1028                                                                            AssertRC(rc2);
    10111029                                                                        }
    1012                                                                         if (RT_SUCCESS(rc))
    1013                                                                             rc = vmR3InitDoCompleted(pVM, VMINITCOMPLETED_RING3);
    1014                                                                         if (RT_SUCCESS(rc))
    1015                                                                         {
    1016                                                                             LogFlow(("vmR3InitRing3: returns %Rrc\n", VINF_SUCCESS));
    1017                                                                             return VINF_SUCCESS;
    1018                                                                         }
    1019 
    10201030                                                                        int rc2 = PDMR3Term(pVM);
    10211031                                                                        AssertRC(rc2);
  • trunk/src/VBox/VMM/testcase/tstVMStructDTrace.cpp

    r45528 r50953  
    4545#include "VMMInternal.h"
    4646#include "DBGFInternal.h"
     47#include "GIMInternal.h"
    4748#include "STAMInternal.h"
    4849#include "EMInternal.h"
  • trunk/src/VBox/VMM/testcase/tstVMStructRC.cpp

    r46942 r50953  
    7474#include "VMMInternal.h"
    7575#include "DBGFInternal.h"
     76#include "GIMInternal.h"
    7677#include "STAMInternal.h"
    7778#include "CSAMInternal.h"
  • trunk/src/VBox/VMM/testcase/tstVMStructSize.cpp

    r49000 r50953  
    4444#include "VMMInternal.h"
    4545#include "DBGFInternal.h"
     46#include "GIMInternal.h"
    4647#include "STAMInternal.h"
    4748#include "VMInternal.h"
     
    226227    PRINT_OFFSET(VM, tm.s.VirtualSyncLock);
    227228    CHECK_PADDING_VM(64, dbgf);
     229    CHECK_PADDING_VM(64, gim);
    228230    CHECK_PADDING_VM(64, ssm);
    229231    CHECK_PADDING_VM(64, rem);
     
    242244    CHECK_PADDING_VMCPU(64, iom);
    243245    CHECK_PADDING_VMCPU(64, dbgf);
     246    CHECK_PADDING_VMCPU(64, gim);
    244247#if 0
    245248    PRINT_OFFSET(VMCPU, abAlignment2);
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