- Timestamp:
- Jun 15, 2018 12:54:32 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAll.cpp
r72513 r72563 14454 14454 } 14455 14455 14456 if (pVCpu->iem.s.cActiveMappings) 14457 iemMemRollback(pVCpu); 14458 14456 14459 return iemUninitExecAndFiddleStatusAndMaybeReenter(pVCpu, rcStrict); 14457 14460 } … … 14573 14576 } 14574 14577 14578 if (pVCpu->iem.s.cActiveMappings) 14579 iemMemRollback(pVCpu); 14580 14575 14581 return iemUninitExecAndFiddleStatusAndMaybeReenter(pVCpu, rcStrict); 14576 14582 } … … 14595 14601 iemInitExec(pVCpu, false /*fBypassHandlers*/); 14596 14602 VBOXSTRICTRC rcStrict = IEM_CIMPL_CALL_2(iemCImpl_out, u16Port, cbReg); 14603 Assert(!pVCpu->iem.s.cActiveMappings); 14597 14604 return iemUninitExecAndFiddleStatusAndMaybeReenter(pVCpu, rcStrict); 14598 14605 } … … 14615 14622 iemInitExec(pVCpu, false /*fBypassHandlers*/); 14616 14623 VBOXSTRICTRC rcStrict = IEM_CIMPL_CALL_2(iemCImpl_in, u16Port, cbReg); 14624 Assert(!pVCpu->iem.s.cActiveMappings); 14617 14625 return iemUninitExecAndFiddleStatusAndMaybeReenter(pVCpu, rcStrict); 14618 14626 } … … 14638 14646 iemInitExec(pVCpu, false /*fBypassHandlers*/); 14639 14647 VBOXSTRICTRC rcStrict = IEM_CIMPL_CALL_2(iemCImpl_mov_Cd_Rd, iCrReg, iGReg); 14648 Assert(!pVCpu->iem.s.cActiveMappings); 14640 14649 return iemUninitExecAndFiddleStatusAndMaybeReenter(pVCpu, rcStrict); 14641 14650 } … … 14661 14670 iemInitExec(pVCpu, false /*fBypassHandlers*/); 14662 14671 VBOXSTRICTRC rcStrict = IEM_CIMPL_CALL_2(iemCImpl_mov_Rd_Cd, iGReg, iCrReg); 14672 Assert(!pVCpu->iem.s.cActiveMappings); 14663 14673 return iemUninitExecAndFiddleStatusAndMaybeReenter(pVCpu, rcStrict); 14664 14674 } … … 14680 14690 iemInitExec(pVCpu, false /*fBypassHandlers*/); 14681 14691 VBOXSTRICTRC rcStrict = IEM_CIMPL_CALL_0(iemCImpl_clts); 14692 Assert(!pVCpu->iem.s.cActiveMappings); 14682 14693 return iemUninitExecAndFiddleStatusAndMaybeReenter(pVCpu, rcStrict); 14683 14694 } … … 14700 14711 iemInitExec(pVCpu, false /*fBypassHandlers*/); 14701 14712 VBOXSTRICTRC rcStrict = IEM_CIMPL_CALL_1(iemCImpl_lmsw, uValue); 14713 Assert(!pVCpu->iem.s.cActiveMappings); 14702 14714 return iemUninitExecAndFiddleStatusAndMaybeReenter(pVCpu, rcStrict); 14703 14715 } … … 14721 14733 iemInitExec(pVCpu, false /*fBypassHandlers*/); 14722 14734 VBOXSTRICTRC rcStrict = IEM_CIMPL_CALL_0(iemCImpl_xsetbv); 14735 Assert(!pVCpu->iem.s.cActiveMappings); 14723 14736 return iemUninitExecAndFiddleStatusAndMaybeReenter(pVCpu, rcStrict); 14724 14737 } … … 14740 14753 iemInitExec(pVCpu, false /*fBypassHandlers*/); 14741 14754 VBOXSTRICTRC rcStrict = IEM_CIMPL_CALL_1(iemCImpl_invlpg, GCPtrPage); 14755 Assert(!pVCpu->iem.s.cActiveMappings); 14742 14756 return iemUninitExecAndFiddleStatusAndMaybeReenter(pVCpu, rcStrict); 14743 14757 } … … 14760 14774 iemInitExec(pVCpu, false /*fBypassHandlers*/); 14761 14775 VBOXSTRICTRC rcStrict = IEM_CIMPL_CALL_2(iemCImpl_invpcid, uType, GCPtrInvpcidDesc); 14776 Assert(!pVCpu->iem.s.cActiveMappings); 14762 14777 return iemUninitExecAndFiddleStatusAndMaybeReenter(pVCpu, rcStrict); 14763 14778 } … … 14815 14830 iemInitExec(pVCpu, false /*fBypassHandlers*/); 14816 14831 VBOXSTRICTRC rcStrict = IEM_CIMPL_CALL_0(iemCImpl_clgi); 14832 Assert(!pVCpu->iem.s.cActiveMappings); 14817 14833 return iemUninitExecAndFiddleStatusAndMaybeReenter(pVCpu, rcStrict); 14818 14834 } … … 14833 14849 iemInitExec(pVCpu, false /*fBypassHandlers*/); 14834 14850 VBOXSTRICTRC rcStrict = IEM_CIMPL_CALL_0(iemCImpl_stgi); 14851 Assert(!pVCpu->iem.s.cActiveMappings); 14835 14852 return iemUninitExecAndFiddleStatusAndMaybeReenter(pVCpu, rcStrict); 14836 14853 } … … 14851 14868 iemInitExec(pVCpu, false /*fBypassHandlers*/); 14852 14869 VBOXSTRICTRC rcStrict = IEM_CIMPL_CALL_0(iemCImpl_vmload); 14870 Assert(!pVCpu->iem.s.cActiveMappings); 14853 14871 return iemUninitExecAndFiddleStatusAndMaybeReenter(pVCpu, rcStrict); 14854 14872 } … … 14869 14887 iemInitExec(pVCpu, false /*fBypassHandlers*/); 14870 14888 VBOXSTRICTRC rcStrict = IEM_CIMPL_CALL_0(iemCImpl_vmsave); 14889 Assert(!pVCpu->iem.s.cActiveMappings); 14871 14890 return iemUninitExecAndFiddleStatusAndMaybeReenter(pVCpu, rcStrict); 14872 14891 } … … 14887 14906 iemInitExec(pVCpu, false /*fBypassHandlers*/); 14888 14907 VBOXSTRICTRC rcStrict = IEM_CIMPL_CALL_0(iemCImpl_invlpga); 14908 Assert(!pVCpu->iem.s.cActiveMappings); 14889 14909 return iemUninitExecAndFiddleStatusAndMaybeReenter(pVCpu, rcStrict); 14890 14910 } … … 14905 14925 iemInitExec(pVCpu, false /*fBypassHandlers*/); 14906 14926 VBOXSTRICTRC rcStrict = IEM_CIMPL_CALL_0(iemCImpl_vmrun); 14927 Assert(!pVCpu->iem.s.cActiveMappings); 14907 14928 return iemUninitExecAndFiddleStatusAndMaybeReenter(pVCpu, rcStrict); 14908 14929 } … … 14923 14944 IEM_CTX_ASSERT(pVCpu, IEM_CPUMCTX_EXTRN_MUST_MASK); 14924 14945 VBOXSTRICTRC rcStrict = iemSvmVmexit(pVCpu, uExitCode, uExitInfo1, uExitInfo2); 14946 if (pVCpu->iem.s.cActiveMappings) 14947 iemMemRollback(pVCpu); 14925 14948 return iemExecStatusCodeFiddling(pVCpu, rcStrict); 14926 14949 }
Note:
See TracChangeset
for help on using the changeset viewer.