Changeset 49003 in vbox
- Timestamp:
- Oct 9, 2013 1:36:17 PM (11 years ago)
- svn:sync-xref-src-repo-rev:
- 89730
- Location:
- trunk/src/VBox/VMM/VMMR0
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/HMSVMR0.cpp
r49000 r49003 927 927 pVCpu->hm.s.fForceTLBFlush = false; 928 928 } 929 /** @todo We never set VMCPU_FF_TLB_SHOOTDOWN anywhere so this path should 930 * not be executed. See hmQueueInvlPage() where it is commented 931 * out. Support individual entry flushing someday. */ 932 #if 0 929 933 else 930 934 { 931 /** @todo We never set VMCPU_FF_TLB_SHOOTDOWN anywhere so this path should932 * not be executed. See hmQueueInvlPage() where it is commented933 * out. Support individual entry flushing someday. */934 935 if (VMCPU_FF_IS_PENDING(pVCpu, VMCPU_FF_TLB_SHOOTDOWN)) 935 936 { … … 938 939 for (uint32_t i = 0; i < pVCpu->hm.s.TlbShootdown.cPages; i++) 939 940 SVMR0InvlpgA(pVCpu->hm.s.TlbShootdown.aPages[i], pVmcb->ctrl.TLBCtrl.n.u32ASID); 940 } 941 } 942 943 pVCpu->hm.s.TlbShootdown.cPages = 0; 944 VMCPU_FF_CLEAR(pVCpu, VMCPU_FF_TLB_SHOOTDOWN); 941 942 pVCpu->hm.s.TlbShootdown.cPages = 0; 943 VMCPU_FF_CLEAR(pVCpu, VMCPU_FF_TLB_SHOOTDOWN); 944 } 945 } 946 #endif 947 945 948 946 949 /* Update VMCB with the ASID. */ -
trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp
r49002 r49003 1313 1313 1314 1314 VMCPU_FF_CLEAR(pVCpu, VMCPU_FF_TLB_FLUSH); 1315 1316 /** @todo TLB shootdown is currently not used. See hmQueueInvlPage(). */ 1317 #if 0 1315 1318 VMCPU_FF_CLEAR(pVCpu, VMCPU_FF_TLB_SHOOTDOWN); 1316 1317 1319 pVCpu->hm.s.TlbShootdown.cPages = 0; 1320 #endif 1321 1318 1322 pVCpu->hm.s.idLastCpu = pCpu->idCpu; 1319 1323 pVCpu->hm.s.cTlbFlushes = pCpu->cTlbFlushes; … … 1402 1406 } 1403 1407 1404 /** @todo We never set VMCPU_FF_TLB_SHOOTDOWN anywhere so this path should 1405 * not be executed. See hmQueueInvlPage() where it is commented 1406 * out. Support individual entry flushing someday. */ 1408 /** @todo We never set VMCPU_FF_TLB_SHOOTDOWN anywhere. See hmQueueInvlPage() 1409 * where it is commented out. Support individual entry flushing 1410 * someday. */ 1411 #if 0 1407 1412 if (VMCPU_FF_IS_PENDING(pVCpu, VMCPU_FF_TLB_SHOOTDOWN)) 1408 1413 { … … 1423 1428 HMVMX_SET_TAGGED_TLB_FLUSHED(); 1424 1429 VMCPU_FF_CLEAR(pVCpu, VMCPU_FF_TLB_SHOOTDOWN); 1425 } 1426 1427 pVCpu->hm.s.TlbShootdown.cPages = 0; 1430 pVCpu->hm.s.TlbShootdown.cPages = 0; 1431 } 1432 #endif 1433 1428 1434 pVCpu->hm.s.fForceTLBFlush = false; 1429 1435 … … 1491 1497 pVCpu->hm.s.fForceTLBFlush = false; 1492 1498 } 1499 /** @todo We never set VMCPU_FF_TLB_SHOOTDOWN anywhere. See hmQueueInvlPage() 1500 * where it is commented out. Support individual entry flushing 1501 * someday. */ 1502 #if 0 1493 1503 else 1494 1504 { 1495 /** @todo We never set VMCPU_FF_TLB_SHOOTDOWN anywhere so this path should1496 * not be executed. See hmQueueInvlPage() where it is commented1497 * out. Support individual entry flushing someday. */1498 1505 if (VMCPU_FF_IS_PENDING(pVCpu, VMCPU_FF_TLB_SHOOTDOWN)) 1499 1506 { … … 1504 1511 else 1505 1512 STAM_COUNTER_INC(&pVCpu->hm.s.StatNoFlushTlbWorldSwitch); 1506 } 1507 1508 pVCpu->hm.s.TlbShootdown.cPages = 0; 1509 VMCPU_FF_CLEAR(pVCpu, VMCPU_FF_TLB_SHOOTDOWN); 1513 1514 pVCpu->hm.s.TlbShootdown.cPages = 0; 1515 VMCPU_FF_CLEAR(pVCpu, VMCPU_FF_TLB_SHOOTDOWN); 1516 } 1517 #endif 1510 1518 } 1511 1519 … … 1570 1578 hmR0VmxFlushVpid(pVM, pVCpu, pVM->hm.s.vmx.enmFlushVpid, 0 /* GCPtr */); 1571 1579 } 1580 /** @todo We never set VMCPU_FF_TLB_SHOOTDOWN anywhere. See hmQueueInvlPage() 1581 * where it is commented out. Support individual entry flushing 1582 * someday. */ 1583 #if 0 1572 1584 else 1573 1585 { … … 1577 1589 pCpu->uCurrentAsid, pCpu->cTlbFlushes)); 1578 1590 1579 /** @todo We never set VMCPU_FF_TLB_SHOOTDOWN anywhere so this path should1580 * not be executed. See hmQueueInvlPage() where it is commented1581 * out. Support individual entry flushing someday. */1582 1591 if (VMCPU_FF_IS_PENDING(pVCpu, VMCPU_FF_TLB_SHOOTDOWN)) 1583 1592 { … … 1590 1599 else 1591 1600 hmR0VmxFlushVpid(pVM, pVCpu, pVM->hm.s.vmx.enmFlushVpid, 0 /* GCPtr */); 1601 1602 pVCpu->hm.s.TlbShootdown.cPages = 0; 1603 VMCPU_FF_CLEAR(pVCpu, VMCPU_FF_TLB_SHOOTDOWN); 1592 1604 } 1593 1605 else 1594 1606 STAM_COUNTER_INC(&pVCpu->hm.s.StatNoFlushTlbWorldSwitch); 1595 1607 } 1596 1597 pVCpu->hm.s.TlbShootdown.cPages = 0; 1598 VMCPU_FF_CLEAR(pVCpu, VMCPU_FF_TLB_SHOOTDOWN); 1608 #endif 1599 1609 1600 1610 AssertMsg(pVCpu->hm.s.cTlbFlushes == pCpu->cTlbFlushes,
Note:
See TracChangeset
for help on using the changeset viewer.