Changeset 73002 in vbox for trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp
- Timestamp:
- Jul 9, 2018 9:25:18 AM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp
r72995 r73002 1980 1980 STAM_COUNTER_INC(&pVCpu->hm.s.StatFlushTlbWorldSwitch); 1981 1981 HMVMX_SET_TAGGED_TLB_FLUSHED(); 1982 VMCPU_FF_CLEAR(pVCpu, VMCPU_FF_TLB_FLUSH); /* Already flushed-by-EPT, skip doing it again below. */ 1983 } 1984 1985 /* Check for explicit TLB flushes. */ 1986 if (VMCPU_FF_TEST_AND_CLEAR(pVCpu, VMCPU_FF_TLB_FLUSH)) 1982 VMCPU_FF_CLEAR(pVCpu, VMCPU_FF_TLB_FLUSH); 1983 } 1984 else if (VMCPU_FF_TEST_AND_CLEAR(pVCpu, VMCPU_FF_TLB_FLUSH)) /* Check for explicit TLB flushes. */ 1987 1985 { 1988 1986 /* … … 5650 5648 fOffsettedTsc = TMCpuTickCanUseRealTSC(pVM, pVCpu, &uTscOffset, &fParavirtTsc); 5651 5649 5652 /** @todo later optimize this to be done elsewhere and not before every5653 * VM-entry. */5654 5650 if (fParavirtTsc) 5655 5651 { … … 6909 6905 /* Deregister hook now that we've left HM context before re-enabling preemption. */ 6910 6906 /** @todo Deregistering here means we need to VMCLEAR always 6911 * (longjmp/exit-to-r3) in VT-x which is not efficient . */6912 /** @todo eliminate the need for calling VMMR0ThreadCtxHookDisable here!*/6907 * (longjmp/exit-to-r3) in VT-x which is not efficient, eliminate need 6908 * for calling VMMR0ThreadCtxHookDisable here! */ 6913 6909 VMMR0ThreadCtxHookDisable(pVCpu); 6914 6910 … … 7294 7290 Assert(VMMRZCallRing3IsEnabled(pVCpu)); 7295 7291 7296 bool fBlockMovSS 7297 bool fBlockSti 7292 bool fBlockMovSS = RT_BOOL(fIntrState & VMX_VMCS_GUEST_INTERRUPTIBILITY_STATE_BLOCK_MOVSS); 7293 bool fBlockSti = RT_BOOL(fIntrState & VMX_VMCS_GUEST_INTERRUPTIBILITY_STATE_BLOCK_STI); 7298 7294 7299 7295 Assert(!fBlockSti || !(ASMAtomicUoReadU64(&pVCpu->cpum.GstCtx.fExtrn) & CPUMCTX_EXTRN_RFLAGS));
Note:
See TracChangeset
for help on using the changeset viewer.