Changeset 69763 in vbox for trunk/src/VBox/VMM/VMMR0
- Timestamp:
- Nov 20, 2017 4:36:39 AM (7 years ago)
- svn:sync-xref-src-repo-rev:
- 119163
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/HMSVMR0.cpp
r69715 r69763 903 903 } 904 904 905 #ifdef VBOX_WITH_NESTED_HWVIRT 906 if (CPUMIsGuestInSvmNestedHwVirtMode(pCtx)) 907 fNewAsid = true; 908 #else 909 RT_NOREF(pCtx); 910 #endif 911 905 912 /* Set TLB flush state as checked until we return from the world switch. */ 906 913 ASMAtomicWriteBool(&pVCpu->hm.s.fCheckedTLBFlush, true); … … 933 940 else 934 941 { 935 #ifdef VBOX_WITH_NESTED_HWVIRT936 /*937 * Only if the nested hypervisor says it does not need to flush anything in the TLB,938 * can we possibly apply it on the host. Otherwise, the nested-guest TLB flush setting939 * should be used and then the host settings be added on top.940 */941 if (CPUMIsGuestInSvmNestedHwVirtMode(pCtx))942 {943 PCSVMNESTEDVMCBCACHE pVmcbNstGstCache = &pVCpu->hm.s.svm.NstGstVmcbCache;944 if (pVmcbNstGstCache->TLBCtrl.n.u8TLBFlush == SVM_TLB_FLUSH_NOTHING)945 pVmcb->ctrl.TLBCtrl.n.u8TLBFlush = SVM_TLB_FLUSH_NOTHING;946 else947 pVmcb->ctrl.TLBCtrl.n.u8TLBFlush = pVmcbNstGstCache->TLBCtrl.n.u8TLBFlush;948 }949 #else950 RT_NOREF(pCtx);951 942 pVmcb->ctrl.TLBCtrl.n.u8TLBFlush = SVM_TLB_FLUSH_NOTHING; 952 #endif953 943 if (pVCpu->hm.s.fForceTLBFlush) 954 944 { … … 997 987 pVmcb->ctrl.u64VmcbCleanBits &= ~HMSVM_VMCB_CLEAN_ASID; 998 988 } 999 1000 #ifdef VBOX_WITH_NESTED_HWVIRT1001 Assert(CPUMIsGuestInSvmNestedHwVirtMode(pCtx) || pVmcb->ctrl.TLBCtrl.n.u8TLBFlush != SVM_TLB_FLUSH_NOTHING);1002 #endif1003 989 1004 990 AssertMsg(pVCpu->hm.s.idLastCpu == pCpu->idCpu,
Note:
See TracChangeset
for help on using the changeset viewer.