VirtualBox

Changeset 79378 in vbox


Ignore:
Timestamp:
Jun 27, 2019 8:06:26 AM (6 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
131616
Message:

VMM/HMVMXR0: Nested VMX: bugref:9180 Fix VMX-preemption timer VM-exits and implemented Mov-to-CR3, Mov-to-CR8 VM-exits when executing the nested-guest.

File:
1 edited

Legend:

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

    r79373 r79378  
    1367713677        {
    1367813678            /** @todo NSTVMX: Preempt timer. */
    13679             return hmR0VmxExitErrUnexpected(pVCpu, pVmxTransient);
     13679            return hmR0VmxExitPreemptTimer(pVCpu, pVmxTransient);
    1368013680        }
    1368113681
     
    1709717097            Assert(iGReg < RT_ELEMENTS(pVCpu->cpum.GstCtx.aGRegs));
    1709817098            uint64_t const uNewCrX = pVCpu->cpum.GstCtx.aGRegs[iGReg].u64;
    17099             if (CPUMIsGuestVmxMovToCr0Cr4InterceptSet(pVCpu, &pVCpu->cpum.GstCtx, iCrReg, uNewCrX))
     17099
     17100            bool fIntercept;
     17101            switch (iCrReg)
     17102            {
     17103                case 0:
     17104                case 4:
     17105                    fIntercept = CPUMIsGuestVmxMovToCr0Cr4InterceptSet(pVCpu, &pVCpu->cpum.GstCtx, iCrReg, uNewCrX);
     17106                    break;
     17107
     17108                case 3:
     17109                    fIntercept = CPUMIsGuestVmxMovToCr3InterceptSet(pVCpu, uNewCrX);
     17110                    break;
     17111
     17112                case 8:
     17113                    fIntercept = CPUMIsGuestVmxProcCtlsSet(pVCpu, &pVCpu->cpum.GstCtx, VMX_PROC_CTLS_CR8_LOAD_EXIT);
     17114                    break;
     17115
     17116                default:
     17117                    fIntercept = false;
     17118                    break;
     17119            }
     17120            if (fIntercept)
    1710017121            {
    1710117122                VMXVEXITINFO ExitInfo;
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