Changeset 81207 in vbox for trunk/src/VBox/VMM
- Timestamp:
- Oct 10, 2019 11:12:13 AM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp
r81206 r81207 9170 9170 uint64_t const fCtxMask = HM_CHANGED_ALL_GUEST & ~HM_CHANGED_VMX_HOST_GUEST_SHARED_STATE; 9171 9171 uint64_t const fMinimalMask = HM_CHANGED_GUEST_RIP | HM_CHANGED_GUEST_RSP | HM_CHANGED_GUEST_RFLAGS | HM_CHANGED_GUEST_HWVIRT; 9172 9172 9173 uint64_t const fCtxChanged = ASMAtomicUoReadU64(&pVCpu->hm.s.fCtxChanged); 9173 9174 9174 /* If only RIP/RSP/RFLAGS/HWVIRT changed, export only those (quicker, happens more often).*/ 9175 9175 if ( (fCtxChanged & fMinimalMask) … … 9197 9197 STAM_COUNTER_INC(&pVCpu->hm.s.StatExportFull); 9198 9198 } 9199 /* else: Nothing changed, nothing to load here. */ 9199 /* Nothing changed, nothing to load here. */ 9200 else 9201 rcStrict = VINF_SUCCESS; 9200 9202 9201 9203 #ifdef VBOX_STRICT 9202 9204 /* All the guest state bits should be loaded except maybe the host context and/or the shared host/guest bits. */ 9203 fCtxChanged = ASMAtomicUoReadU64(&pVCpu->hm.s.fCtxChanged); 9204 AssertMsg(!(fCtxChanged & (HM_CHANGED_ALL_GUEST & ~HM_CHANGED_VMX_HOST_GUEST_SHARED_STATE)), 9205 ("fCtxChanged=%#RX64\n", fCtxChanged)); 9205 uint64_t const fCtxChangedCur = ASMAtomicUoReadU64(&pVCpu->hm.s.fCtxChanged); 9206 AssertMsg(!(fCtxChangedCur & fCtxMask), ("fCtxChangedCur=%#RX64\n", fCtxChangedCur)); 9206 9207 #endif 9207 9208 return rcStrict;
Note:
See TracChangeset
for help on using the changeset viewer.