Changeset 99651 in vbox for trunk/src/VBox/VMM
- Timestamp:
- May 8, 2023 7:04:05 AM (21 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllCImpl.cpp
r99220 r99651 3978 3978 * Call a mode specific worker. 3979 3979 */ 3980 VBOXSTRICTRC rcStrict; 3980 3981 if (IEM_IS_REAL_OR_V86_MODE(pVCpu)) 3981 return IEM_CIMPL_CALL_1(iemCImpl_iret_real_v8086, enmEffOpSize); 3982 IEM_CTX_IMPORT_RET(pVCpu, CPUMCTX_EXTRN_SREG_MASK | CPUMCTX_EXTRN_GDTR | CPUMCTX_EXTRN_LDTR); 3983 if (pVCpu->iem.s.enmCpuMode == IEMMODE_64BIT) 3984 return IEM_CIMPL_CALL_1(iemCImpl_iret_64bit, enmEffOpSize); 3985 return IEM_CIMPL_CALL_1(iemCImpl_iret_prot, enmEffOpSize); 3982 rcStrict = IEM_CIMPL_CALL_1(iemCImpl_iret_real_v8086, enmEffOpSize); 3983 else 3984 { 3985 IEM_CTX_IMPORT_RET(pVCpu, CPUMCTX_EXTRN_SREG_MASK | CPUMCTX_EXTRN_GDTR | CPUMCTX_EXTRN_LDTR); 3986 if (pVCpu->iem.s.enmCpuMode == IEMMODE_64BIT) 3987 rcStrict = IEM_CIMPL_CALL_1(iemCImpl_iret_64bit, enmEffOpSize); 3988 else 3989 rcStrict = IEM_CIMPL_CALL_1(iemCImpl_iret_prot, enmEffOpSize); 3990 } 3991 3992 #ifdef VBOX_WITH_NESTED_HWVIRT_VMX 3993 /* 3994 * Clear NMI unblocking IRET state with the completion of IRET. 3995 */ 3996 if (IEM_VMX_IS_NON_ROOT_MODE(pVCpu)) 3997 pVCpu->cpum.GstCtx.hwvirt.vmx.fNmiUnblockingIret = false; 3998 #endif 3999 return rcStrict; 3986 4000 } 3987 4001
Note:
See TracChangeset
for help on using the changeset viewer.