Changeset 76275 in vbox for trunk/src/VBox
- Timestamp:
- Dec 18, 2018 6:29:00 AM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAll.cpp
r76041 r76275 14004 14004 * 14005 14005 * If any of these causes a VM-exit, we must skip executing the next 14006 * instruction (so we set fExecuteInhibit to false). 14006 * instruction (would run into stale page tables). A VM-exit makes sure 14007 * there is no interrupt-inhibition, so that should ensure we don't go 14008 * to try execute the next instruction. Clearing fExecuteInhibit is 14009 * problematic because of the setjmp/longjmp clobbering above. 14007 14010 */ 14008 14011 if ( rcStrict == VINF_SUCCESS … … 14013 14016 { 14014 14017 rcStrict = iemVmxApicWriteEmulation(pVCpu); 14015 if (rcStrict != VINF_SUCCESS) 14016 fExecuteInhibit = false; 14018 Assert(!VMCPU_FF_IS_SET(pVCpu, VMCPU_FF_INHIBIT_INTERRUPTS)); 14017 14019 Assert(!VMCPU_FF_IS_SET(pVCpu, VMCPU_FF_VMX_APIC_WRITE)); 14018 14020 } … … 14021 14023 { 14022 14024 rcStrict = iemVmxVmexitMtf(pVCpu); 14023 fExecuteInhibit = false;14025 Assert(!VMCPU_FF_IS_SET(pVCpu, VMCPU_FF_INHIBIT_INTERRUPTS)); 14024 14026 Assert(!VMCPU_FF_IS_SET(pVCpu, VMCPU_FF_VMX_MTF)); 14025 14027 } … … 14032 14034 else 14033 14035 { 14036 Assert(!VMCPU_FF_IS_SET(pVCpu, VMCPU_FF_INHIBIT_INTERRUPTS)); 14034 14037 Assert(!VMCPU_FF_IS_SET(pVCpu, VMCPU_FF_VMX_PREEMPT_TIMER)); 14035 fExecuteInhibit = false;14036 14038 } 14037 14039 }
Note:
See TracChangeset
for help on using the changeset viewer.