- Timestamp:
- May 13, 2009 11:50:14 AM (16 years ago)
- Location:
- trunk
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/gvmm.h
r19454 r19652 146 146 GVMMR0DECL(int) GVMMR0SchedHalt(PVM pVM, VMCPUID idCpu, uint64_t u64ExpireGipTime); 147 147 GVMMR0DECL(int) GVMMR0SchedWakeUp(PVM pVM, VMCPUID idCpu); 148 GVMMR0DECL(int) GVMMR0SchedWakeUpEx(PVM pVM, VMCPUID idCpu, bool fTakeUsedLock); 148 149 GVMMR0DECL(int) GVMMR0SchedPoke(PVM pVM, VMCPUID idCpu); 150 GVMMR0DECL(int) GVMMR0SchedPokeEx(PVM pVM, VMCPUID idCpu, bool fTakeUsedLock); 149 151 GVMMR0DECL(int) GVMMR0SchedWakeUpAndPokeCpus(PVM pVM, PCVMCPUSET pSleepSet, PCVMCPUSET pPokeSet); 150 152 GVMMR0DECL(int) GVMMR0SchedPoll(PVM pVM, VMCPUID idCpu, bool fYield); -
trunk/src/VBox/VMM/VMMR0/GVMMR0.cpp
r19454 r19652 1618 1618 * @param pVM Pointer to the shared VM structure. 1619 1619 * @param idCpu The Virtual CPU ID of the EMT to wake up. 1620 * @param fTakeUsedLock Take the used lock or not 1620 1621 * @thread Any but EMT. 1621 1622 */ 1622 GVMMR0DECL(int) GVMMR0SchedWakeUp (PVM pVM, VMCPUID idCpu)1623 GVMMR0DECL(int) GVMMR0SchedWakeUpEx(PVM pVM, VMCPUID idCpu, bool fTakeUsedLock) 1623 1624 { 1624 1625 /* … … 1627 1628 PGVM pGVM; 1628 1629 PGVMM pGVMM; 1629 int rc = gvmmR0ByVM(pVM, &pGVM, &pGVMM, true /* fTakeUsedLock */);1630 int rc = gvmmR0ByVM(pVM, &pGVM, &pGVMM, fTakeUsedLock); 1630 1631 if (RT_SUCCESS(rc)) 1631 1632 { … … 1655 1656 } 1656 1657 1658 /** 1659 * Wakes up the halted EMT thread so it can service a pending request. 1660 * 1661 * @returns VBox status code. 1662 * @retval VINF_SUCCESS if successfully woken up. 1663 * @retval VINF_GVM_NOT_BLOCKED if the EMT wasn't blocked. 1664 * 1665 * @param pVM Pointer to the shared VM structure. 1666 * @param idCpu The Virtual CPU ID of the EMT to wake up. 1667 * @thread Any but EMT. 1668 */ 1669 GVMMR0DECL(int) GVMMR0SchedWakeUp(PVM pVM, VMCPUID idCpu) 1670 { 1671 return GVMMR0SchedWakeUpEx(pVM, idCpu, true /* fTakeUsedLock */); 1672 } 1657 1673 1658 1674 /** … … 1683 1699 } 1684 1700 1685 1686 1701 /** 1687 1702 * Pokes an EMT if it's still busy running guest code. … … 1693 1708 * @param pVM Pointer to the shared VM structure. 1694 1709 * @param idCpu The ID of the virtual CPU to poke. 1695 */ 1696 GVMMR0DECL(int) GVMMR0SchedPoke(PVM pVM, VMCPUID idCpu) 1710 * @param fTakeUsedLock Take the used lock or not 1711 */ 1712 GVMMR0DECL(int) GVMMR0SchedPokeEx(PVM pVM, VMCPUID idCpu, bool fTakeUsedLock) 1697 1713 { 1698 1714 /* … … 1701 1717 PGVM pGVM; 1702 1718 PGVMM pGVMM; 1703 int rc = gvmmR0ByVM(pVM, &pGVM, &pGVMM, true /* fTakeUsedLock */);1719 int rc = gvmmR0ByVM(pVM, &pGVM, &pGVMM, fTakeUsedLock); 1704 1720 if (RT_SUCCESS(rc)) 1705 1721 { … … 1715 1731 LogFlow(("GVMMR0SchedWakeUpAndPokeCpus: returns %Rrc\n", rc)); 1716 1732 return rc; 1717 1733 } 1734 1735 1736 /** 1737 * Pokes an EMT if it's still busy running guest code. 1738 * 1739 * @returns VBox status code. 1740 * @retval VINF_SUCCESS if poked successfully. 1741 * @retval VINF_GVM_NOT_BUSY_IN_GC if the EMT wasn't busy in GC. 1742 * 1743 * @param pVM Pointer to the shared VM structure. 1744 * @param idCpu The ID of the virtual CPU to poke. 1745 */ 1746 GVMMR0DECL(int) GVMMR0SchedPoke(PVM pVM, VMCPUID idCpu) 1747 { 1748 return GVMMR0SchedPokeEx(pVM, idCpu, true /* fTakeUsedLock */); 1718 1749 } 1719 1750 -
trunk/src/VBox/VMM/VMMR0/PDMR0Device.cpp
r19651 r19652 445 445 { 446 446 case VMCPUSTATE_STARTED_EXEC: 447 GVMMR0SchedPoke (pVM, pVCpu->idCpu);447 GVMMR0SchedPokeEx(pVM, pVCpu->idCpu, false /* don't take the used lock */); 448 448 break; 449 449 450 450 case VMCPUSTATE_STARTED_HALTED: 451 GVMMR0SchedWakeUp (pVM, pVCpu->idCpu);451 GVMMR0SchedWakeUpEx(pVM, pVCpu->idCpu, false /* don't take the used lock */); 452 452 break; 453 453 }
Note:
See TracChangeset
for help on using the changeset viewer.