Changeset 65997 in vbox
- Timestamp:
- Mar 8, 2017 4:56:12 PM (8 years ago)
- File:
-
- 1 edited
-
trunk/src/VBox/Devices/Storage/DevATA.cpp (modified) (12 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Storage/DevATA.cpp
r65968 r65997 896 896 { 897 897 case ATA_AIO_NEW: 898 LogRel(("new transfer request, iIf=%d iBeginTransfer=%d iSourceSink=%d cbTotalTransfer=%d uTxDir=%d\n", pCtl->aAsyncIORequests[curr].u.t.iIf, pCtl->aAsyncIORequests[curr].u.t.iBeginTransfer, pCtl->aAsyncIORequests[curr].u.t.iSourceSink, pCtl->aAsyncIORequests[curr].u.t.cbTotalTransfer, pCtl->aAsyncIORequests[curr].u.t.uTxDir)); 898 LogRel(("new transfer request, iIf=%d iBeginTransfer=%d iSourceSink=%d cbTotalTransfer=%d uTxDir=%d\n", 899 pCtl->aAsyncIORequests[curr].u.t.iIf, pCtl->aAsyncIORequests[curr].u.t.iBeginTransfer, 900 pCtl->aAsyncIORequests[curr].u.t.iSourceSink, pCtl->aAsyncIORequests[curr].u.t.cbTotalTransfer, 901 pCtl->aAsyncIORequests[curr].u.t.uTxDir)); 899 902 break; 900 903 case ATA_AIO_DMA: … … 911 914 break; 912 915 case ATA_AIO_ABORT: 913 LogRel(("abort request, iIf=%d fResetDrive=%d\n", pCtl->aAsyncIORequests[curr].u.a.iIf, pCtl->aAsyncIORequests[curr].u.a.fResetDrive)); 916 LogRel(("abort request, iIf=%d fResetDrive=%d\n", pCtl->aAsyncIORequests[curr].u.a.iIf, 917 pCtl->aAsyncIORequests[curr].u.a.fResetDrive)); 914 918 break; 915 919 default: … … 978 982 if (!fChainedTransfer && !ataR3AsyncIOIsIdle(pCtl, true /*fStrict*/)) 979 983 { 980 Log(("%s: Ctl#%d: ignored command %#04x, controller state %d\n", __FUNCTION__, ATACONTROLLER_IDX(pCtl), s->uATARegCommand, pCtl->uAsyncIOState)); 984 Log(("%s: Ctl#%d: ignored command %#04x, controller state %d\n", 985 __FUNCTION__, ATACONTROLLER_IDX(pCtl), s->uATARegCommand, pCtl->uAsyncIOState)); 981 986 LogRel(("PIIX3 IDE: guest issued command %#04x while controller busy\n", s->uATARegCommand)); 982 987 return; … … 2917 2922 fMSF = (s->aATAPICmd[1] >> 1) & 1; 2918 2923 /* multi session: only a single session defined */ 2919 /** @todo double-check this stuff against what a real drive says for a CD-ROM (not a CD-R) with only a single data session. Maybe solve the problem with "cdrdao read-toc" not being able to figure out whether numbers are in BCD or hex. */ 2924 /** @todo double-check this stuff against what a real drive says for a CD-ROM (not a CD-R) 2925 * with only a single data session. Maybe solve the problem with "cdrdao read-toc" not being 2926 * able to figure out whether numbers are in BCD or hex. */ 2920 2927 memset(pbBuf, 0, 12); 2921 2928 pbBuf[1] = 0x0a; … … 4416 4423 { 4417 4424 # ifdef IN_RING3 4418 LogRel(("PIIX3 ATA: LUN#%d: %s data in the middle of a PIO transfer - VERY SLOW\n", s->iLUN, s->uTxDir == PDMMEDIATXDIR_FROM_DEVICE ? "loading" : "storing")); 4425 LogRel(("PIIX3 ATA: LUN#%d: %s data in the middle of a PIO transfer - VERY SLOW\n", 4426 s->iLUN, s->uTxDir == PDMMEDIATXDIR_FROM_DEVICE ? "loading" : "storing")); 4419 4427 /* Any guest OS that triggers this case has a pathetic ATA driver. 4420 4428 * In a real system it would block the CPU via IORDY, here we do it … … 5212 5220 ataR3AsyncIODumpRequests(pCtl); 5213 5221 } 5214 AssertReleaseMsg(ReqType == ATA_AIO_RESET_ASSERTED || ReqType == ATA_AIO_RESET_CLEARED || ReqType == ATA_AIO_ABORT || pCtl->uAsyncIOState == ReqType, ("I/O state inconsistent: state=%d request=%d\n", pCtl->uAsyncIOState, ReqType)); 5222 AssertReleaseMsg( ReqType == ATA_AIO_RESET_ASSERTED 5223 || ReqType == ATA_AIO_RESET_CLEARED 5224 || ReqType == ATA_AIO_ABORT 5225 || pCtl->uAsyncIOState == ReqType, 5226 ("I/O state inconsistent: state=%d request=%d\n", pCtl->uAsyncIOState, ReqType)); 5215 5227 } 5216 5228 … … 5321 5333 if (pCtl->BmDma.u8Cmd & BM_CMD_START) 5322 5334 { 5323 Log2(("%s: Ctl#%d: message to async I/O thread, continuing DMA transfer immediately\n", __FUNCTION__, ATACONTROLLER_IDX(pCtl))); 5335 Log2(("%s: Ctl#%d: message to async I/O thread, continuing DMA transfer immediately\n", 5336 __FUNCTION__, ATACONTROLLER_IDX(pCtl))); 5324 5337 ataHCAsyncIOPutRequest(pCtl, &g_ataDMARequest); 5325 5338 } … … 5571 5584 u64TS = RTTimeNanoTS() - u64TS; 5572 5585 uWait = u64TS / 1000; 5573 Log(("%s: Ctl#%d: LUN#%d finished I/O transaction in %d microseconds\n", __FUNCTION__, ATACONTROLLER_IDX(pCtl), pCtl->aIfs[pCtl->iAIOIf].iLUN, (uint32_t)(uWait))); 5586 Log(("%s: Ctl#%d: LUN#%d finished I/O transaction in %d microseconds\n", 5587 __FUNCTION__, ATACONTROLLER_IDX(pCtl), pCtl->aIfs[pCtl->iAIOIf].iLUN, (uint32_t)(uWait))); 5574 5588 /* Mark command as finished. */ 5575 5589 pCtl->aIfs[pCtl->iAIOIf].u64CmdTS = 0; … … 5590 5604 * timing errors (which are often caused by the host). 5591 5605 */ 5592 LogRel(("PIIX3 ATA: execution time for ATA command %#04x was %d seconds\n", pCtl->aIfs[pCtl->iAIOIf].uATARegCommand, uWait / (1000 * 1000))); 5606 LogRel(("PIIX3 ATA: execution time for ATA command %#04x was %d seconds\n", 5607 pCtl->aIfs[pCtl->iAIOIf].uATARegCommand, uWait / (1000 * 1000))); 5593 5608 } 5594 5609 } … … 5603 5618 * timing errors (which are often caused by the host). 5604 5619 */ 5605 LogRel(("PIIX3 ATA: execution time for ATAPI command %#04x was %d seconds\n", pCtl->aIfs[pCtl->iAIOIf].aATAPICmd[0], uWait / (1000 * 1000))); 5620 LogRel(("PIIX3 ATA: execution time for ATAPI command %#04x was %d seconds\n", 5621 pCtl->aIfs[pCtl->iAIOIf].aATAPICmd[0], uWait / (1000 * 1000))); 5606 5622 } 5607 5623 } … … 6202 6218 pIf->PCHSGeometry.cHeads = 0; /* dummy */ 6203 6219 pIf->PCHSGeometry.cSectors = 0; /* dummy */ 6204 LogRel(("PIIX3 ATA: LUN#%d: CD/DVD, total number of sectors %Ld, passthrough %s\n", pIf->iLUN, pIf->cTotalSectors, (pIf->fATAPIPassthrough ? "enabled" : "disabled"))); 6220 LogRel(("PIIX3 ATA: LUN#%d: CD/DVD, total number of sectors %Ld, passthrough %s\n", 6221 pIf->iLUN, pIf->cTotalSectors, (pIf->fATAPIPassthrough ? "enabled" : "disabled"))); 6205 6222 } 6206 6223 else … … 6234 6251 rc = VINF_SUCCESS; 6235 6252 } 6236 LogRel(("PIIX3 ATA: LUN#%d: disk, PCHS=%u/%u/%u, total number of sectors %Ld\n", pIf->iLUN, pIf->PCHSGeometry.cCylinders, pIf->PCHSGeometry.cHeads, pIf->PCHSGeometry.cSectors, pIf->cTotalSectors)); 6253 LogRel(("PIIX3 ATA: LUN#%d: disk, PCHS=%u/%u/%u, total number of sectors %Ld\n", 6254 pIf->iLUN, pIf->PCHSGeometry.cCylinders, pIf->PCHSGeometry.cHeads, pIf->PCHSGeometry.cSectors, 6255 pIf->cTotalSectors)); 6237 6256 6238 6257 if (pIf->pDrvMedia->pfnDiscard)
Note:
See TracChangeset
for help on using the changeset viewer.

