VirtualBox

Ignore:
Timestamp:
Sep 12, 2014 9:34:39 AM (11 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
96052
Message:

BusLogic: Slightly enhanced debug info.

Location:
trunk/src/VBox/Devices/Storage/VSCSI
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Storage/VSCSI/VSCSIInternal.h

    r47829 r52713  
    245245
    246246/**
    247  * Sets a error sense code.
     247 * Sets an error sense code.
    248248 *
    249249 * @returns SCSI status code.
     
    258258
    259259/**
     260 * Sets an error sense code with additional information.
     261 *
     262 * @returns SCSI status code.
     263 * @param   pVScsiSense   The SCSI sense state to use.
     264 * @param   pVScsiReq     The SCSI request.
     265 * @param   uSCSISenseKey The SCSI sense key to set.
     266 * @param   uSCSIASC      The ASC value.
     267 * @param   uSCSIASC      The ASCQ value.
     268 * @param   uInfo         The 32-bit sense information.
     269 */
     270int vscsiReqSenseErrorInfoSet(PVSCSISENSE pVScsiSense, PVSCSIREQINT pVScsiReq, uint8_t uSCSISenseKey,
     271                              uint8_t uSCSIASC, uint8_t uSCSIASCQ, uint32_t uInfo);
     272
     273/**
    260274 * Process a request sense command.
    261275 *
     
    435449}
    436450
     451/**
     452 * Wrapper around vscsiReqSenseErrorInfoSet()
     453 */
     454DECLINLINE(int) vscsiLunReqSenseErrorInfoSet(PVSCSILUNINT pVScsiLun, PVSCSIREQINT pVScsiReq, uint8_t uSCSISenseKey, uint8_t uSCSIASC, uint8_t uSCSIASCQ, uint32_t uInfo)
     455{
     456    return vscsiReqSenseErrorInfoSet(&pVScsiLun->pVScsiDevice->VScsiSense, pVScsiReq, uSCSISenseKey, uSCSIASC, uSCSIASCQ, uInfo);
     457}
    437458
    438459#endif /* ___VSCSIInternal_h */
  • trunk/src/VBox/Devices/Storage/VSCSI/VSCSILun.cpp

    r48947 r52713  
    2929/** MMC descriptor */
    3030extern VSCSILUNDESC g_VScsiLunTypeMmc;
     31/** SSC descriptor */
     32extern VSCSILUNDESC g_VScsiLunTypeSsc;
    3133
    3234/**
     
    3739    &g_VScsiLunTypeSbc,
    3840    &g_VScsiLunTypeMmc,
     41    &g_VScsiLunTypeSsc,
    3942};
    4043
  • trunk/src/VBox/Devices/Storage/VSCSI/VSCSISense.cpp

    r44528 r52713  
    6464}
    6565
     66int vscsiReqSenseErrorInfoSet(PVSCSISENSE pVScsiSense, PVSCSIREQINT pVScsiReq, uint8_t uSCSISenseKey, uint8_t uSCSIASC, uint8_t uSCSIASCQ, uint32_t uInfo)
     67{
     68    memset(pVScsiSense->abSenseBuf, 0, sizeof(pVScsiSense->abSenseBuf));
     69    pVScsiSense->abSenseBuf[0] = RT_BIT(7) | SCSI_SENSE_RESPONSE_CODE_CURR_FIXED; /* Fixed format */
     70    pVScsiSense->abSenseBuf[2] = uSCSISenseKey;
     71    vscsiH2BEU32(&pVScsiSense->abSenseBuf[3], uInfo);
     72    pVScsiSense->abSenseBuf[7]  = 10;
     73    pVScsiSense->abSenseBuf[12] = uSCSIASC;
     74    pVScsiSense->abSenseBuf[13] = uSCSIASCQ;
     75
     76    if (pVScsiReq->pbSense && pVScsiReq->cbSense)
     77        memcpy(pVScsiReq->pbSense, pVScsiSense->abSenseBuf, RT_MIN(sizeof(pVScsiSense->abSenseBuf), pVScsiReq->cbSense));
     78
     79    return SCSI_STATUS_CHECK_CONDITION;
     80}
     81
    6682int vscsiReqSenseCmd(PVSCSISENSE pVScsiSense, PVSCSIREQINT pVScsiReq)
    6783{
Note: See TracChangeset for help on using the changeset viewer.

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