- Timestamp:
- Jul 11, 2008 7:17:00 AM (16 years ago)
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/HWACCMInternal.h
r10465 r10489 138 138 /* TLB flush count */ 139 139 uint32_t cTLBFlushes; 140 141 /* Set the first time a cpu is used to make sure we start with a clean TLB. */ 142 bool fFlushTLB; 140 143 141 144 bool fConfigured; -
trunk/src/VBox/VMM/VMMR0/HWACCMR0.cpp
r10465 r10489 574 574 Assert(idCpu < RT_ELEMENTS(HWACCMR0Globals.aCpuInfo)); 575 575 576 pCpu->idCpu = idCpu; 576 pCpu->idCpu = idCpu; 577 578 /* Make sure we start with a clean TLB. */ 579 pCpu->fFlushTLB = true; 577 580 578 581 /* Should never happen */ -
trunk/src/VBox/VMM/VMMR0/HWSVMR0.cpp
r10480 r10489 894 894 && !pVM->hwaccm.s.svm.fAlwaysFlushTLB) 895 895 { 896 if (++pCpu->uCurrentASID >= pVM->hwaccm.s.svm.u32MaxASID) 897 { 896 if ( ++pCpu->uCurrentASID >= pVM->hwaccm.s.svm.u32MaxASID 897 || pCpu->fFlushTLB) 898 { 899 pCpu->fFlushTLB = false; 898 900 pCpu->uCurrentASID = 1; /* start at 1; host uses 0 */ 899 901 pVMCB->ctrl.TLBCtrl.n.u1TLBFlush = 1; /* wrap around; flush TLB */ … … 907 909 else 908 910 { 911 Assert(!pCpu->fFlushTLB || pVM->hwaccm.s.svm.fAlwaysFlushTLB); 912 909 913 /* We never increase uCurrentASID in the fAlwaysFlushTLB (erratum 170) case. */ 910 914 if (!pCpu->uCurrentASID)
Note:
See TracChangeset
for help on using the changeset viewer.