VirtualBox

Changeset 76011 in vbox for trunk/src


Ignore:
Timestamp:
Dec 6, 2018 11:51:06 AM (6 years ago)
Author:
vboxsync
Message:

VMM: VBOX_WITH_NESTED_HWVIRT_ONLY_IN_IEM fixes.

Location:
trunk/src/VBox/VMM
Files:
3 edited

Legend:

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

    r75830 r76011  
    340340# if defined(VBOX_WITH_NESTED_HWVIRT_ONLY_IN_IEM) && defined(IN_RING3)
    341341    /* CLGI/STGI may not have been intercepted and thus not executed in IEM. */
    342     if (   HMIsEnabled(pVM)
     342    if (   HMIsEnabled(pVCpu->CTX_SUFF(pVM))
    343343        && HMSvmIsVGifActive(pVCpu->CTX_SUFF(pVM)))
    344344        return EMR3SetExecutionPolicy(pVCpu->CTX_SUFF(pVM)->pUVM, EMEXECPOLICY_IEM_ALL, false);
  • trunk/src/VBox/VMM/VMMR0/HMSVMR0.cpp

    r76009 r76011  
    43074307
    43084308#ifdef VBOX_WITH_NESTED_HWVIRT_ONLY_IN_IEM
    4309     Log2(("hmR0SvmPreRunGuest: Rescheduling to IEM due to nested-hwvirt or forced IEM exec -> VINF_EM_RESCHEDULE_REM\n"));
    4310     return VINF_EM_RESCHEDULE_REM;
     4309    if (CPUMIsGuestInSvmNestedHwVirtMode(pCtx)) /* Redundant check to avoid unreachable code warning. */
     4310    {
     4311        Log2(("hmR0SvmPreRunGuest: Rescheduling to IEM due to nested-hwvirt or forced IEM exec -> VINF_EM_RESCHEDULE_REM\n"));
     4312        return VINF_EM_RESCHEDULE_REM;
     4313    }
    43114314#endif
    43124315
  • trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp

    r76009 r76011  
    84408440
    84418441#ifdef VBOX_WITH_NESTED_HWVIRT_ONLY_IN_IEM
    8442     Log2(("hmR0VmxPreRunGuest: Rescheduling to IEM due to nested-hwvirt or forced IEM exec -> VINF_EM_RESCHEDULE_REM\n"));
    8443     RT_NOREF3(pVCpu, pVmxTransient, fStepping);
    8444     return VINF_EM_RESCHEDULE_REM;
     8442    if (CPUMIsGuestVmxEnabled(&pVCpu->cpum.GstCtx))
     8443    {
     8444        Log2(("hmR0VmxPreRunGuest: Rescheduling to IEM due to nested-hwvirt or forced IEM exec -> VINF_EM_RESCHEDULE_REM\n"));
     8445        RT_NOREF3(pVCpu, pVmxTransient, fStepping);
     8446        return VINF_EM_RESCHEDULE_REM;
     8447    }
    84458448#endif
    84468449
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