- Timestamp:
- May 27, 2019 8:53:59 AM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp
r78773 r78777 12844 12844 { 12845 12845 case VMX_EXIT_QUAL_CRX_ACCESS_WRITE: 12846 { 12847 PCVMXVVMCS pVmcsNstGst = pVCpu->cpum.GstCtx.hwvirt.vmx.CTX_SUFF(pVmcs); 12848 Assert(pVmcsNstGst); 12849 uint8_t const iCrReg = VMX_EXIT_QUAL_CRX_REGISTER(pVmxTransient->uExitQual); 12850 uint8_t const iGReg = VMX_EXIT_QUAL_CRX_GENREG(pVmxTransient->uExitQual); 12851 Assert(iGReg < RT_ELEMENTS(pVCpu->cpum.GstCtx.aGRegs)); 12852 uint64_t const uNewCrx = pVCpu->cpum.GstCtx.aGRegs[iGReg].u64; 12853 if (CPUMIsGuestVmxMovToCr0Cr4InterceptSet(pVCpu, &pVCpu->cpum.GstCtx, iCrReg, uNewCrx)) 12854 { 12855 VMXVEXITINFO ExitInfo; 12856 RT_ZERO(ExitInfo); 12857 ExitInfo.uReason = VMX_EXIT_MOV_CRX; 12858 ExitInfo.cbInstr = pVmxTransient->cbInstr; 12859 ExitInfo.u64Qual = pVmxTransient->uExitQual; 12860 rcStrict = IEMExecVmxVmexitInstrWithInfo(pVCpu, &ExitInfo); 12861 } 12862 else 12863 rcStrict = hmR0VmxExitMovCRx(pVCpu, pVmxTransient); 12864 break; 12865 } 12866 12846 12867 case VMX_EXIT_QUAL_CRX_ACCESS_READ: 12847 12868 {
Note:
See TracChangeset
for help on using the changeset viewer.