VirtualBox

Changeset 92451 in vbox


Ignore:
Timestamp:
Nov 16, 2021 10:40:19 AM (3 years ago)
Author:
vboxsync
Message:

VMM/VMXAllTemplate.cpp.h: Some more fixes for the NEM/darwin case, bugref:10136

File:
1 edited

Legend:

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

    r92355 r92451  
    52355235            {
    52365236                PVMXVMCSINFOSHARED pVmcsInfoShared = pVmcsInfo->pShared;
     5237#ifndef IN_NEM_DARWIN
    52375238                bool const fRealOnV86Active = pVmcsInfoShared->RealMode.fRealOnV86Active;
     5239#else
     5240                bool const fRealOnV86Active = false; /* HV supports only unrestricted guest execution. */
     5241#endif
    52385242                if (fWhat & CPUMCTX_EXTRN_CS)
    52395243                {
     
    55315535            if (!(pCtx->fExtrn & HMVMX_CPUMCTX_EXTRN_ALL))
    55325536            {
     5537#ifndef IN_NEM_DARWIN
    55335538                pCtx->fExtrn &= ~CPUMCTX_EXTRN_KEEPER_HM;
     5539#else
     5540                pCtx->fExtrn &= ~CPUMCTX_EXTRN_KEEPER_NEM;
     5541#endif
    55345542                Assert(!pCtx->fExtrn);
    55355543            }
     
    62526260
    62536261#ifndef IN_RING0
    6254     RT_NOREF(fIsNestedGuest, fStepping);
     6262    RT_NOREF(fIsNestedGuest, fStepping, pfIntrState);
    62556263#endif
    62566264
     
    62956303#endif
    62966304
     6305    RT_NOREF(uVector);
    62976306    if (   uIntType == VMX_EXIT_INT_INFO_TYPE_HW_XCPT
    62986307        || uIntType == VMX_EXIT_INT_INFO_TYPE_NMI
     
    1169211701    HMVMX_VALIDATE_EXIT_HANDLER_PARAMS(pVCpu, pVmxTransient);
    1169311702
    11694 #ifdef IN_RING0
    1169511703    PVMXVMCSINFO pVmcsInfo = pVmxTransient->pVmcsInfo;
    1169611704    vmxHCReadExitInstrLenVmcs(pVCpu, pVmxTransient);
     
    1170211710                                                                                : HM_CHANGED_RAISED_XCPT_MASK);
    1170311711
     11712#ifdef IN_RING0
    1170411713    PCCPUMCTX pCtx = &pVCpu->cpum.GstCtx;
    1170511714    bool const fLoadSaveGuestXcr0 = (pCtx->cr4 & X86_CR4_OSXSAVE) && pCtx->aXcr[0] != ASMGetXcr0();
     
    1170911718        vmxHCUpdateStartVmFunction(pVCpu);
    1171011719    }
     11720#endif
    1171111721
    1171211722    return rcStrict;
    11713 #else
    11714     return VERR_EM_INTERPRETER;
    11715 #endif
    1171611723}
    1171711724
     
    1306713074                                            : EMEXIT_MAKE_FT(EMEXIT_F_KIND_EM, EMEXITTYPE_MMIO_READ),
    1306813075                                            pVCpu->cpum.GstCtx.cs.u64Base + pVCpu->cpum.GstCtx.rip, uHostTsc);
    13069 #if 0
    13070     rc = nemR3DarwinCopyStateFromHv(pVM, pVCpu,   CPUMCTX_EXTRN_RIP | CPUMCTX_EXTRN_RFLAGS | CPUMCTX_EXTRN_CS
    13071                                                 | NEM_DARWIN_CPUMCTX_EXTRN_MASK_FOR_IEM | CPUMCTX_EXTRN_DS | CPUMCTX_EXTRN_ES);
     13076
     13077    rc = vmxHCImportGuestState(pVCpu, pVmxTransient->pVmcsInfo, HMVMX_CPUMCTX_EXTRN_ALL);
    1307213078    AssertRCReturn(rc, rc);
    13073 #endif
     13079
    1307413080    VBOXSTRICTRC rcStrict;
    1307513081    if (!pExitRec)
    1307613082    {
    1307713083        rcStrict = IEMExecOne(pVCpu);
    13078         /** @todo do we need to do anything wrt debugging here?   */
     13084        ASMAtomicUoOrU64(&VCPU_2_VMXSTATE(pVCpu).fCtxChanged, HM_CHANGED_ALL_GUEST);
    1307913085    }
    1308013086    else
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