diff options
Diffstat (limited to 'pc-bios/s390-ccw/scsi.h')
-rw-r--r-- | pc-bios/s390-ccw/scsi.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/pc-bios/s390-ccw/scsi.h b/pc-bios/s390-ccw/scsi.h index 803eff8ae3..fe3fd5ac05 100644 --- a/pc-bios/s390-ccw/scsi.h +++ b/pc-bios/s390-ccw/scsi.h @@ -33,6 +33,7 @@ /* SCSI Inquiry Pages */ #define SCSI_INQUIRY_STANDARD_NONE 0x00U #define SCSI_INQUIRY_EVPD_SUPPORTED_PAGES 0x00U +#define SCSI_INQUIRY_EVPD_BLOCK_LIMITS 0xb0U union ScsiLun { uint64_t v64; /* numeric shortcut */ @@ -87,6 +88,19 @@ struct ScsiInquiryEvpdPages { } __attribute__((packed)); typedef struct ScsiInquiryEvpdPages ScsiInquiryEvpdPages; +struct ScsiInquiryEvpdBl { + uint8_t peripheral_qdt; /* b0, use (b0 & 0x1f) to get SCSI_INQ_RDT */ + uint8_t page_code; + uint16_t page_length; + uint8_t b4; + uint8_t b5; + uint16_t b6; + uint32_t max_transfer; /* b8 */ + uint32_t b12[7]; /* b12..b43 (defined fields) */ + uint32_t b44[5]; /* b44..b63 (reserved fields) */ +} __attribute__((packed)); +typedef struct ScsiInquiryEvpdBl ScsiInquiryEvpdBl; + struct ScsiCdbInquiry { uint8_t command; /* b0, == 0x12 */ uint8_t b1; /* b1, |= 0x01 (evpd) */ |