Changeset 87480 in vbox for trunk/src/VBox/VMM/VMMR0/HMSVMR0.cpp
- Timestamp:
- Jan 29, 2021 2:55:56 PM (4 years ago)
- svn:sync-xref-src-repo-rev:
- 142502
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/HMSVMR0.cpp
r87479 r87480 1284 1284 Assert(pHostCpu->idCpu != NIL_RTCPUID); 1285 1285 if ( pVCpu->hmr0.s.idLastCpu != pHostCpu->idCpu 1286 || pVCpu->hm .s.cTlbFlushes != pHostCpu->cTlbFlushes1286 || pVCpu->hmr0.s.cTlbFlushes != pHostCpu->cTlbFlushes 1287 1287 #ifdef VBOX_WITH_NESTED_HWVIRT_SVM 1288 1288 || CPUMIsGuestInSvmNestedHwVirtMode(&pVCpu->cpum.GstCtx) … … 1314 1314 pHostCpu->uCurrentAsid = 1; 1315 1315 pVCpu->hmr0.s.uCurrentAsid = 1; 1316 pVCpu->hm .s.cTlbFlushes= pHostCpu->cTlbFlushes;1316 pVCpu->hmr0.s.cTlbFlushes = pHostCpu->cTlbFlushes; 1317 1317 pVCpu->hmr0.s.idLastCpu = pHostCpu->idCpu; 1318 1318 pVmcb->ctrl.TLBCtrl.n.u8TLBFlush = SVM_TLB_FLUSH_ENTIRE; … … 1338 1338 pHostCpu->uCurrentAsid = 1; /* Wraparound at 1; host uses 0 */ 1339 1339 pHostCpu->cTlbFlushes++; /* All VCPUs that run on this host CPU must use a new ASID. */ 1340 fHitASIDLimit = true;1340 fHitASIDLimit = true; 1341 1341 } 1342 1342 … … 1350 1350 pVCpu->hmr0.s.uCurrentAsid = pHostCpu->uCurrentAsid; 1351 1351 pVCpu->hmr0.s.idLastCpu = pHostCpu->idCpu; 1352 pVCpu->hm .s.cTlbFlushes= pHostCpu->cTlbFlushes;1352 pVCpu->hmr0.s.cTlbFlushes = pHostCpu->cTlbFlushes; 1353 1353 } 1354 1354 else … … 1373 1373 AssertMsg(pVCpu->hmr0.s.idLastCpu == pHostCpu->idCpu, 1374 1374 ("vcpu idLastCpu=%u hostcpu idCpu=%u\n", pVCpu->hmr0.s.idLastCpu, pHostCpu->idCpu)); 1375 AssertMsg(pVCpu->hm .s.cTlbFlushes == pHostCpu->cTlbFlushes,1376 ("Flush count mismatch for cpu %u (%u vs %u)\n", pHostCpu->idCpu, pVCpu->hm .s.cTlbFlushes, pHostCpu->cTlbFlushes));1375 AssertMsg(pVCpu->hmr0.s.cTlbFlushes == pHostCpu->cTlbFlushes, 1376 ("Flush count mismatch for cpu %u (%u vs %u)\n", pHostCpu->idCpu, pVCpu->hmr0.s.cTlbFlushes, pHostCpu->cTlbFlushes)); 1377 1377 AssertMsg(pHostCpu->uCurrentAsid >= 1 && pHostCpu->uCurrentAsid < pVM->hm.s.uMaxAsid, 1378 1378 ("cpu%d uCurrentAsid = %x\n", pHostCpu->idCpu, pHostCpu->uCurrentAsid)); … … 4341 4341 uint64_t const uHostTsc = ASMReadTSC(); /* Read the TSC as soon as possible. */ 4342 4342 ASMAtomicWriteBool(&pVCpu->hm.s.fCheckedTLBFlush, false); /* See HMInvalidatePageOnAllVCpus(): used for TLB flushing. */ 4343 ASMAtomicIncU32(&pVCpu->hm .s.cWorldSwitchExits);/* Initialized in vmR3CreateUVM(): used for EMT poking. */4343 ASMAtomicIncU32(&pVCpu->hmr0.s.cWorldSwitchExits); /* Initialized in vmR3CreateUVM(): used for EMT poking. */ 4344 4344 4345 4345 PSVMVMCB pVmcb = pSvmTransient->pVmcb;
Note:
See TracChangeset
for help on using the changeset viewer.