VirtualBox

Changeset 103882 in vbox


Ignore:
Timestamp:
Mar 18, 2024 9:38:17 AM (11 months ago)
Author:
vboxsync
Message:

VSCSI: For READ(6) and WRITE(6), a request to transfer zero blocks means transferring 256 blocks.

Location:
trunk/src/VBox/Devices/Storage
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Storage/DevFdc.cpp

    r103291 r103882  
    791791        break;
    792792    case FD_REG_DSR:
    793         fdctrl_write_rate(fdctrl, value);
     793        fdctrl_write_data(fdctrl, value);
     794//        fdctrl_write_rate(fdctrl, value);
    794795        break;
    795796    case FD_REG_FIFO:
     
    10451046    if (value & FD_DSR_SWRESET) {
    10461047        fdctrl->dor &= ~FD_DOR_nRESET;
    1047         fdctrl_reset(fdctrl, 1);
     1048//        fdctrl_reset(fdctrl, 1);
    10481049        fdctrl->dor |= FD_DOR_nRESET;
    10491050    }
  • trunk/src/VBox/Devices/Storage/VSCSI/VSCSILunMmc.cpp

    r98103 r103882  
    12221222                                            | ((pVScsiReq->pbCDB[1] & 0x1f) << 16));
    12231223                cSectorTransfer = pVScsiReq->pbCDB[4];
     1224                cSectorTransfer = cSectorTransfer ? cSectorTransfer : 256;  /* Zero blocks means 256 */
    12241225                cbSector        = _2K;
    12251226                break;
  • trunk/src/VBox/Devices/Storage/VSCSI/VSCSILunSbc.cpp

    r98103 r103882  
    358358                                        | ((pVScsiReq->pbCDB[1] & 0x1f) << 16));
    359359            cSectorTransfer = pVScsiReq->pbCDB[4];
     360            cSectorTransfer = cSectorTransfer ? cSectorTransfer : 256;  /* Zero blocks means 256 */
    360361            break;
    361362        }
     
    388389                                        | ((pVScsiReq->pbCDB[1] & 0x1f) << 16));
    389390            cSectorTransfer = pVScsiReq->pbCDB[4];
     391            cSectorTransfer = cSectorTransfer ? cSectorTransfer : 256;  /* Zero blocks means 256 */
    390392            break;
    391393        }
  • trunk/src/VBox/Devices/Storage/VSCSI/VSCSILunSsc.cpp

    r98103 r103882  
    218218                                         | (pVScsiReq->pbCDB[2] << 16));
    219219            cBlocksTransfer = pVScsiReq->pbCDB[4];
     220            cSectorTransfer = cSectorTransfer ? cSectorTransfer : 256;  /* Zero blocks means 256 */
    220221            uTransferStart  = pVScsiLUNSSC->uCurPos;
    221222            pVScsiLUNSSC->uCurPos += cbTransfer;
     
    229230                                         | (pVScsiReq->pbCDB[2] << 16));
    230231            cBlocksTransfer = pVScsiReq->pbCDB[4];
     232            cSectorTransfer = cSectorTransfer ? cSectorTransfer : 256;  /* Zero blocks means 256 */
    231233            uTransferStart  = pVScsiLUNSSC->uCurPos;
    232234            pVScsiLUNSSC->uCurPos += cbTransfer;
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette