- Timestamp:
- Apr 19, 2007 12:27:00 PM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IOMAllMMIO.cpp
r2217 r2220 1647 1647 1648 1648 Log(("IOM: rep ins%d port %#x count %d\n", cbTransfer * 8, uPort, cTransfers)); 1649 if (cTransfers > 1) 1650 { 1651 /* If the device supports string transfers, ask it to do as 1652 * much as it wants. The rest is done with single-word transfers. */ 1653 const RTGCUINTREG cTransfersOrg = cTransfers; 1654 rc = IOMIOPortReadString(pVM, uPort, &GCPtrDst, &cTransfers, cbTransfer); 1655 AssertRC(rc); Assert(cTransfers <= cTransfersOrg); 1656 pRegFrame->edi += (cTransfersOrg - cTransfers) * cbTransfer; 1657 } 1658 1649 1659 #ifdef IN_GC 1650 1660 MMGCRamRegisterTrapHandler(pVM); 1651 1661 #endif 1652 1653 /* If the device supports string transfers, ask it to do as1654 * much as it wants. The rest is done with single-word transfers. */1655 const RTGCUINTREG cTransfersOrg = cTransfers;1656 rc = IOMIOPortReadString(pVM, uPort, &GCPtrDst, &cTransfers, cbTransfer);1657 AssertRC(rc); Assert(cTransfers <= cTransfersOrg);1658 pRegFrame->edi += (cTransfersOrg - cTransfers) * cbTransfer;1659 1662 1660 1663 while (cTransfers && rc == VINF_SUCCESS) … … 1775 1778 1776 1779 Log(("IOM: rep outs%d port %#x count %d\n", cbTransfer * 8, uPort, cTransfers)); 1780 if (cTransfers > 1) 1781 { 1782 /* 1783 * If the device supports string transfers, ask it to do as 1784 * much as it wants. The rest is done with single-word transfers. 1785 */ 1786 const RTGCUINTREG cTransfersOrg = cTransfers; 1787 rc = IOMIOPortWriteString(pVM, uPort, &GCPtrSrc, &cTransfers, cbTransfer); 1788 AssertRC(rc); Assert(cTransfers <= cTransfersOrg); 1789 pRegFrame->esi += (cTransfersOrg - cTransfers) * cbTransfer; 1790 } 1791 1777 1792 #ifdef IN_GC 1778 1793 MMGCRamRegisterTrapHandler(pVM); 1779 1794 #endif 1780 /*1781 * If the device supports string transfers, ask it to do as1782 * much as it wants. The rest is done with single-word transfers.1783 */1784 const RTGCUINTREG cTransfersOrg = cTransfers;1785 rc = IOMIOPortWriteString(pVM, uPort, &GCPtrSrc, &cTransfers, cbTransfer);1786 AssertRC(rc); Assert(cTransfers <= cTransfersOrg);1787 pRegFrame->esi += (cTransfersOrg - cTransfers) * cbTransfer;1788 1795 1789 1796 while (cTransfers && rc == VINF_SUCCESS)
Note:
See TracChangeset
for help on using the changeset viewer.