Changeset 24169 in vbox for trunk/src/VBox
- Timestamp:
- Oct 29, 2009 4:33:48 PM (16 years ago)
- svn:sync-xref-src-repo-rev:
- 54108
- Location:
- trunk/src/VBox/Devices
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Storage/DevATA.cpp
r24094 r24169 108 108 #define ATA_FIRMWARE_REVISION_LENGTH 8 109 109 #define ATA_MODEL_NUMBER_LENGTH 40 110 #define ATAPI_INQUIRY_VENDOR_ID 16 111 #define ATAPI_INQUIRY_PRODUCT_ID 16 112 #define ATAPI_INQUIRY_REVISION 4 110 113 111 114 /******************************************************************************* … … 290 293 /** The model number to use for IDENTIFY DEVICE commands. */ 291 294 char szModelNumber[ATA_MODEL_NUMBER_LENGTH+1]; 292 293 uint8_t abAlignment3[HC_ARCH_BITS == 32 ? 7 : 7]; 295 /** The vendor identification string for SCSI INQUIRY commands. */ 296 char szInquiryVendorId[ATAPI_INQUIRY_VENDOR_ID+1]; 297 /** The product identification string for SCSI INQUIRY commands. */ 298 char szInquiryProductId[ATAPI_INQUIRY_PRODUCT_ID+1]; 299 /** The revision string for SCSI INQUIRY commands. */ 300 char szInquiryRevision[ATAPI_INQUIRY_REVISION+1]; 301 302 uint8_t abAlignment3[7]; 294 303 } ATADevState; 295 304 AssertCompileMemberAlignment(ATADevState, cTotalSectors, 8); … … 2372 2381 pbBuf[6] = 0; /* reserved */ 2373 2382 pbBuf[7] = 0; /* reserved */ 2374 ataSCSIPadStr(pbBuf + 8, "VBOX", 8);2375 ataSCSIPadStr(pbBuf + 16, "CD-ROM", 16);2376 ataSCSIPadStr(pbBuf + 32, "1.0", 4);2383 ataSCSIPadStr(pbBuf + 8, s->szInquiryVendorId, 8); 2384 ataSCSIPadStr(pbBuf + 16, s->szInquiryProductId, 16); 2385 ataSCSIPadStr(pbBuf + 32, s->szInquiryRevision, 4); 2377 2386 s->iSourceSink = ATAFN_SS_NULL; 2378 2387 atapiCmdOK(s); … … 6789 6798 N_("PIIX3 configuration error: failed to read \"ModelNumber\" as string")); 6790 6799 } 6800 6801 /* There are three other identification strings for CD drives used for INQUIRY */ 6802 if (pIf->fATAPI) 6803 { 6804 rc = CFGMR3QueryStringDef(pCfgNode, "ATAPIVendorId", pIf->szInquiryVendorId, sizeof(pIf->szInquiryVendorId), 6805 "VBOX"); 6806 if (RT_FAILURE(rc)) 6807 { 6808 if (rc == VERR_CFGM_NOT_ENOUGH_SPACE) 6809 return PDMDEV_SET_ERROR(pDevIns, VERR_INVALID_PARAMETER, 6810 N_("PIIX3 configuration error: \"ATAPIVendorId\" is longer than 16 bytes")); 6811 return PDMDEV_SET_ERROR(pDevIns, rc, 6812 N_("PIIX3 configuration error: failed to read \"ATAPIVendorId\" as string")); 6813 } 6814 6815 rc = CFGMR3QueryStringDef(pCfgNode, "ATAPIProductId", pIf->szInquiryProductId, sizeof(pIf->szInquiryProductId), 6816 "CD-ROM"); 6817 if (RT_FAILURE(rc)) 6818 { 6819 if (rc == VERR_CFGM_NOT_ENOUGH_SPACE) 6820 return PDMDEV_SET_ERROR(pDevIns, VERR_INVALID_PARAMETER, 6821 N_("PIIX3 configuration error: \"ATAPIProductId\" is longer than 16 bytes")); 6822 return PDMDEV_SET_ERROR(pDevIns, rc, 6823 N_("PIIX3 configuration error: failed to read \"ATAPIProductId\" as string")); 6824 } 6825 6826 rc = CFGMR3QueryStringDef(pCfgNode, "ATAPIRevision", pIf->szInquiryRevision, sizeof(pIf->szInquiryRevision), 6827 "1.0"); 6828 if (RT_FAILURE(rc)) 6829 { 6830 if (rc == VERR_CFGM_NOT_ENOUGH_SPACE) 6831 return PDMDEV_SET_ERROR(pDevIns, VERR_INVALID_PARAMETER, 6832 N_("PIIX3 configuration error: \"ATAPIRevision\" is longer than 4 bytes")); 6833 return PDMDEV_SET_ERROR(pDevIns, rc, 6834 N_("PIIX3 configuration error: failed to read \"ATAPIRevision\" as string")); 6835 } 6836 } 6791 6837 } 6792 6838 -
trunk/src/VBox/Devices/testcase/tstDeviceStructSizeGC.cpp
r24097 r24169 740 740 GEN_CHECK_OFF(ATADevState, szModelNumber); 741 741 GEN_CHECK_OFF(ATADevState, szModelNumber[ATA_MODEL_NUMBER_LENGTH]); 742 GEN_CHECK_OFF(ATADevState, szInquiryVendorId); 743 GEN_CHECK_OFF(ATADevState, szInquiryVendorId[ATAPI_INQUIRY_VENDOR_ID]); 744 GEN_CHECK_OFF(ATADevState, szInquiryProductId); 745 GEN_CHECK_OFF(ATADevState, szInquiryProductId[ATAPI_INQUIRY_PRODUCT_ID]); 746 GEN_CHECK_OFF(ATADevState, szInquiryRevision); 747 GEN_CHECK_OFF(ATADevState, szInquiryRevision[ATAPI_INQUIRY_REVISION]); 742 748 GEN_CHECK_SIZE(ATATransferRequest); 743 749 GEN_CHECK_OFF(ATATransferRequest, iIf);
Note:
See TracChangeset
for help on using the changeset viewer.