VirtualBox

Changeset 67924 in vbox for trunk/src/VBox/VMM/VMMAll


Ignore:
Timestamp:
Jul 12, 2017 11:12:15 AM (8 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
116916
Message:

VMM/CPUM: Nested Hw.virt: Allocate the nested-guest VMCB (controls and state-save area) dynamically.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMAll/CPUMAllRegs.cpp

    r67696 r67924  
    25552555VMM_INT_DECL(bool) CPUMCanSvmNstGstTakePhysIntr(PCCPUMCTX pCtx)
    25562556{
     2557#ifdef IN_RC
     2558    RT_NOREF(pCtx);
     2559    AssertReleaseFailedReturn(false);
     2560#else
    25572561    Assert(CPUMIsGuestInSvmNestedHwVirtMode(pCtx));
    25582562    Assert(pCtx->hwvirt.svm.fGif);
    25592563
    2560     PCSVMVMCBCTRL pVmcbCtrl = &pCtx->hwvirt.svm.VmcbCtrl;
     2564    PCSVMVMCBCTRL pVmcbCtrl = &pCtx->hwvirt.svm.CTX_SUFF(pVmcb)->ctrl;
    25612565    X86EFLAGS fEFlags;
    25622566    if (pVmcbCtrl->IntCtrl.n.u1VIntrMasking)
     
    25662570
    25672571    return fEFlags.Bits.u1IF;
     2572#endif
    25682573}
    25692574
     
    25802585VMM_INT_DECL(bool) CPUMCanSvmNstGstTakeVirtIntr(PCCPUMCTX pCtx)
    25812586{
     2587#ifdef IN_RC
     2588    RT_NOREF(pCtx);
     2589    AssertReleaseFailedReturn(false);
     2590#else
    25822591    Assert(CPUMIsGuestInSvmNestedHwVirtMode(pCtx));
    25832592
    2584     PCSVMVMCBCTRL pVmcbCtrl = &pCtx->hwvirt.svm.VmcbCtrl;
     2593    PCSVMVMCBCTRL pVmcbCtrl = &pCtx->hwvirt.svm.CTX_SUFF(pVmcb)->ctrl;
    25852594    if (   !pVmcbCtrl->IntCtrl.n.u1IgnoreTPR
    25862595        &&  pVmcbCtrl->IntCtrl.n.u4VIntrPrio <= pVmcbCtrl->IntCtrl.n.u8VTPR)
     
    25942603
    25952604    return true;
     2605#endif
    25962606}
    25972607
     
    26052615VMM_INT_DECL(uint8_t) CPUMGetSvmNstGstInterrupt(PCCPUMCTX pCtx)
    26062616{
    2607     PCSVMVMCBCTRL pVmcbCtrl = &pCtx->hwvirt.svm.VmcbCtrl;
     2617#ifdef IN_RC
     2618    RT_NOREF(pCtx);
     2619    AssertReleaseFailedReturn(0);
     2620#else
     2621    PCSVMVMCBCTRL pVmcbCtrl = &pCtx->hwvirt.svm.CTX_SUFF(pVmcb)->ctrl;
    26082622    return pVmcbCtrl->IntCtrl.n.u8VIntrVector;
    2609 }
    2610 
     2623#endif
     2624}
     2625
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