VirtualBox

Changeset 87466 in vbox for trunk/src/VBox/VMM/VMMR0


Ignore:
Timestamp:
Jan 28, 2021 4:33:07 PM (4 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
142486
Message:

VMM/HM,gvm: Started splitting up the HVMCPU and HVM structures. Created assembly version of gvm.h. bugref:9217

Location:
trunk/src/VBox/VMM/VMMR0
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR0/HMSVMR0.cpp

    r87387 r87466  
    735735                        | (pVCpu->cpum.GstCtx.fWorldSwitcher & CPUMCTX_WSF_IBPB_EXIT  ? 4 : 0);
    736736    PFNHMSVMVMRUN const pfnVMRun = s_aHmR0SvmVmRunFunctions[idx].pfn;
    737     if (pVCpu->hm.s.svm.pfnVMRun != pfnVMRun)
    738         pVCpu->hm.s.svm.pfnVMRun = pfnVMRun;
     737    if (pVCpu->hmr0.s.svm.pfnVMRun != pfnVMRun)
     738        pVCpu->hmr0.s.svm.pfnVMRun = pfnVMRun;
    739739}
    740740
     
    746746{
    747747    hmR0SvmUpdateVmRunFunction(pVCpu);
    748     return pVCpu->hm.s.svm.pfnVMRun(pVM, pVCpu, HCPhysVMCB);
     748    return pVCpu->hmr0.s.svm.pfnVMRun(pVM, pVCpu, HCPhysVMCB);
    749749}
    750750
     
    791791         * We now use a single handler for both 32-bit and 64-bit guests, see @bugref{6208#c73}.
    792792         */
    793         pVCpu->hm.s.svm.pfnVMRun = hmR0SvmVMRunSelector;
     793        pVCpu->hmr0.s.svm.pfnVMRun = hmR0SvmVMRunSelector;
    794794
    795795        /*
     
    43194319    /* Mark that HM is the keeper of all guest-CPU registers now that we're going to execute guest code. */
    43204320    pVCpu->cpum.GstCtx.fExtrn |= HMSVM_CPUMCTX_EXTRN_ALL | CPUMCTX_EXTRN_KEEPER_HM;
    4321     return pVCpu->hm.s.svm.pfnVMRun(pVCpu->CTX_SUFF(pVM), pVCpu, HCPhysVmcb);
     4321    return pVCpu->hmr0.s.svm.pfnVMRun(pVCpu->CTX_SUFF(pVM), pVCpu, HCPhysVmcb);
    43224322}
    43234323
  • trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp

    r87462 r87466  
    41834183                        | (pVCpu->cpum.GstCtx.fWorldSwitcher & CPUMCTX_WSF_IBPB_EXIT  ? 16 : 0);
    41844184    PFNHMVMXSTARTVM const pfnStartVm = s_aHmR0VmxStartVmFunctions[idx].pfn;
    4185     if (pVCpu->hm.s.vmx.pfnStartVm != pfnStartVm)
    4186         pVCpu->hm.s.vmx.pfnStartVm = pfnStartVm;
     4185    if (pVCpu->hmr0.s.vmx.pfnStartVm != pfnStartVm)
     4186        pVCpu->hmr0.s.vmx.pfnStartVm = pfnStartVm;
    41874187}
    41884188
     
    41944194{
    41954195    hmR0VmxUpdateStartVmFunction(pVCpu);
    4196     return pVCpu->hm.s.vmx.pfnStartVm(pVM, pVCpu, fResume);
     4196    return pVCpu->hmr0.s.vmx.pfnStartVm(pVM, pVCpu, fResume);
    41974197}
    41984198
     
    45424542        Log4Func(("pVCpu=%p idCpu=%RU32\n", pVCpu, pVCpu->idCpu));
    45434543
    4544         pVCpu->hm.s.vmx.pfnStartVm = hmR0VmxStartVmSelector;
     4544        pVCpu->hmr0.s.vmx.pfnStartVm = hmR0VmxStartVmSelector;
    45454545
    45464546        rc = hmR0VmxSetupVmcs(pVCpu, &pVCpu->hm.s.vmx.VmcsInfo,  false /* fIsNstGstVmcs */);
     
    68506850    /** @todo Add stats for VMRESUME vs VMLAUNCH. */
    68516851    bool const fResumeVM = RT_BOOL(pVmxTransient->pVmcsInfo->fVmcsState & VMX_V_VMCS_LAUNCH_STATE_LAUNCHED);
    6852     int rc = pVCpu->hm.s.vmx.pfnStartVm(NULL /*pVCpu->CTX_SUFF(pVM) - unused*/, pVCpu, fResumeVM);
     6852    int rc = pVCpu->hmr0.s.vmx.pfnStartVm(NULL /*pVCpu->CTX_SUFF(pVM) - unused*/, pVCpu, fResumeVM);
    68536853    AssertMsg(rc <= VINF_SUCCESS, ("%Rrc\n", rc));
    68546854    return 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