sati_get_cdb_byte
if ( (sati_get_cdb_byte(cdb, sati_cb_get_cdb_length(scsi_io) - 1)
switch (sati_get_cdb_byte(cdb, 0))
if ( (sati_get_cdb_byte(cdb, 1) & SCSI_SERVICE_ACTION_MASK)
if (sati_get_cdb_byte(cdb, 0) == SCSI_REPORT_LUNS)
if ( ((sati_get_cdb_byte(cdb, 1) & SCSI_INQUIRY_EVPD_ENABLE) == 0)
&& (sati_get_cdb_byte(cdb, 2) != 0) )
sequence->allocation_length = (sati_get_cdb_byte(cdb, 3) << 8) |
(sati_get_cdb_byte(cdb, 4));
if (sati_get_cdb_byte(cdb, 1) & SCSI_INQUIRY_EVPD_ENABLE)
switch (sati_get_cdb_byte(cdb, 2))
(sati_get_cdb_byte(cdb, 3) == 0))
sequence->allocation_length = (sati_get_cdb_byte(cdb, 7) << 8) |
(sati_get_cdb_byte(cdb, 8));
(( sati_get_cdb_byte((cdb), 2) & SCSI_LOG_SENSE_PC_FIELD_MASK ) \
(( sati_get_cdb_byte((cdb), 2) & SCSI_LOG_SENSE_PAGE_CODE_FIELD_MASK ) \
if ((sati_get_cdb_byte(cdb, 1) & SCSI_MODE_SELECT_PF_MASK) == !SCSI_MODE_SELECT_PF_BIT)
data_transfer_length = sati_get_cdb_byte(cdb, 4);
data_transfer_length = (sati_get_cdb_byte(cdb, 7) << 8) + sati_get_cdb_byte(cdb, 8);
if ((sati_get_cdb_byte(cdb, 1) & SCSI_MODE_SELECT_PF_MASK) == !SCSI_MODE_SELECT_PF_BIT)
switch (sati_get_cdb_byte(cdb, 2) >> SCSI_MODE_SENSE_PC_SHIFT)
switch (sati_get_cdb_byte(cdb, 2) & SCSI_MODE_SENSE_PAGE_CODE_ENABLE)
if (sati_get_cdb_byte(cdb, 0) == SCSI_MODE_SENSE_6)
if (sati_get_cdb_byte(cdb, 0) == SCSI_MODE_SENSE_6)
if (sati_get_cdb_byte(cdb, 0) == SCSI_MODE_SENSE_6)
if (sati_get_cdb_byte(cdb, 0) == SCSI_MODE_SENSE_6)
if (sati_get_cdb_byte(cdb, 0) == SCSI_MODE_SENSE_6)
if (sati_get_cdb_byte(cdb, 0) == SCSI_MODE_SENSE_6)
if (sati_get_cdb_byte(cdb, 0) == SCSI_MODE_SENSE_6)
if (sati_get_cdb_byte(cdb, 0) == SCSI_MODE_SENSE_6)
if ((sati_get_cdb_byte(cdb, 1) & SCSI_MODE_SENSE_DBD_ENABLE) == 0)
&& (sati_get_cdb_byte(cdb, 1) & SCSI_MODE_SENSE_LLBAA_ENABLE) )
U8 page_control = sati_get_cdb_byte(cdb, 2) >> SCSI_MODE_SENSE_PC_SHIFT;
U8 page_control = sati_get_cdb_byte(cdb, 2) >> SCSI_MODE_SENSE_PC_SHIFT;
U8 page_control = sati_get_cdb_byte(cdb, 2) >> SCSI_MODE_SENSE_PC_SHIFT;
U8 page_control = sati_get_cdb_byte(cdb, 2) >> SCSI_MODE_SENSE_PC_SHIFT;
U8 page_control = sati_get_cdb_byte(cdb, 2) >> SCSI_MODE_SENSE_PC_SHIFT;
U8 page_control = sati_get_cdb_byte(cdb, 2) >> SCSI_MODE_SENSE_PC_SHIFT;
if (sati_get_cdb_byte(cdb, 1) & SCSI_MODE_SENSE_DBD_ENABLE)
if (sati_get_cdb_byte(cdb, 1) & SCSI_MODE_SENSE_LLBAA_ENABLE)
if ((sati_get_cdb_byte(cdb, 1) & SCSI_MODE_SENSE_DBD_ENABLE) == 0)
if (sati_get_cdb_byte(cdb, 1) & SCSI_MODE_SENSE_LLBAA_ENABLE)
sequence->allocation_length = (sati_get_cdb_byte(cdb, 7) << 8) |
(sati_get_cdb_byte(cdb, 8));
if (sati_get_cdb_byte(cdb, 1) & SCSI_MODE_SENSE_DBD_ENABLE)
if ((sati_get_cdb_byte(cdb, 1) & SCSI_MODE_SENSE_DBD_ENABLE) == 0)
sequence->allocation_length = sati_get_cdb_byte(cdb, 4);
sati_set_ata_sector_count(register_fis, sati_get_cdb_byte(cdb, 4));
sati_set_ata_features(register_fis, sati_get_cdb_byte(cdb, 4));
if (sati_get_cdb_byte(cdb, 4) == 0)
sati_set_ata_lba_low(register_fis, sati_get_cdb_byte(cdb, 5));
sati_set_ata_lba_mid(register_fis, sati_get_cdb_byte(cdb, 4));
sati_set_ata_lba_high(register_fis, sati_get_cdb_byte(cdb, 3));
sati_set_ata_lba_low_exp(register_fis, sati_get_cdb_byte(cdb, 2));
if ( (sati_get_cdb_byte(cdb, 2) == 0) && (sati_get_cdb_byte(cdb, 3) == 0) )
sati_set_ata_lba_low(register_fis, sati_get_cdb_byte(cdb, 9));
sati_set_ata_lba_mid(register_fis, sati_get_cdb_byte(cdb, 8));
sati_set_ata_lba_high(register_fis, sati_get_cdb_byte(cdb, 7));
sati_set_ata_lba_low_exp(register_fis, sati_get_cdb_byte(cdb, 6));
sati_set_ata_lba_mid_exp(register_fis, sati_get_cdb_byte(cdb, 5));
sati_set_ata_lba_high_exp(register_fis, sati_get_cdb_byte(cdb, 4));
sati_set_ata_lba_low(register_fis, sati_get_cdb_byte(cdb, 3));
sati_set_ata_lba_mid(register_fis, sati_get_cdb_byte(cdb, 2));
sati_set_ata_lba_high(register_fis, sati_get_cdb_byte(cdb, 1) & 0x1F);
if (sati_get_cdb_byte(cdb, 4) == 0)
if (sati_get_cdb_byte(cdb, 1) & SCSI_MOVE_FUA_BIT_ENABLE)
if (sati_get_cdb_byte(cdb, 1) & SCSI_MOVE_FUA_BIT_ENABLE)
if(sati_get_cdb_byte(cdb, 0 ) == SCSI_ATA_PASSTHRU_12)
sati_set_ata_features(register_fis, sati_get_cdb_byte(cdb, 3));
sati_set_ata_sector_count(register_fis, sati_get_cdb_byte(cdb, 4));
sati_set_ata_lba_low(register_fis, sati_get_cdb_byte(cdb, 5));
sati_set_ata_lba_mid(register_fis, sati_get_cdb_byte(cdb, 6));
sati_set_ata_lba_high(register_fis, sati_get_cdb_byte(cdb, 7));
sati_set_ata_device_head(register_fis, sati_get_cdb_byte(cdb, 8));
sati_set_ata_command(register_fis, sati_get_cdb_byte(cdb, 9));
sati_set_ata_features_exp(register_fis, sati_get_cdb_byte(cdb, 3));
sati_set_ata_sector_count_exp(register_fis, sati_get_cdb_byte(cdb, 5));
sati_set_ata_lba_low_exp(register_fis, sati_get_cdb_byte(cdb, 7));
sati_set_ata_lba_mid_exp(register_fis, sati_get_cdb_byte(cdb, 9));
sati_set_ata_lba_high_exp(register_fis, sati_get_cdb_byte(cdb, 11));
sati_set_ata_features(register_fis, sati_get_cdb_byte(cdb, 4));
sati_set_ata_sector_count(register_fis, sati_get_cdb_byte(cdb, 6));
sati_set_ata_lba_low(register_fis, sati_get_cdb_byte(cdb, 8));
sati_set_ata_lba_mid(register_fis, sati_get_cdb_byte(cdb, 10));
sati_set_ata_lba_high(register_fis, sati_get_cdb_byte(cdb, 12));
sati_set_ata_device_head(register_fis, sati_get_cdb_byte(cdb, 13));
sati_set_ata_command(register_fis, sati_get_cdb_byte(cdb, 14));
#define PASSTHROUGH_ISOLATE_BITS(cdb, index, mask, shift) (((sati_get_cdb_byte(cdb, index) & mask) >> shift))
#define PASSTHROUGH_CDB_MULTIPLE_COUNT(cdb) (sati_get_cdb_byte(cdb, 1) >> 5)
#define PASSTHROUGH_CDB_COMMAND(cdb, index) sati_get_cdb_byte(cdb, index)
U32 sector_count = (sati_get_cdb_byte(cdb, 7) << 8) |
(sati_get_cdb_byte(cdb, 8));
U32 sector_count = (sati_get_cdb_byte(cdb, 6) << 24) |
(sati_get_cdb_byte(cdb, 7) << 16) |
(sati_get_cdb_byte(cdb, 8) << 8) |
(sati_get_cdb_byte(cdb, 9));
U32 sector_count = (sati_get_cdb_byte(cdb, 10) << 24) |
(sati_get_cdb_byte(cdb, 11) << 16) |
(sati_get_cdb_byte(cdb, 12) << 8) |
(sati_get_cdb_byte(cdb, 13));
(sati_get_cdb_byte(cdb, 5)));
switch(sati_get_cdb_byte(cdb, 1))
(sati_get_cdb_byte(cdb, 2) == 0))
allocation_length = ((sati_get_cdb_byte(cdb, 6) << 16) |
(sati_get_cdb_byte(cdb, 7) << 8) |
(sati_get_cdb_byte(cdb, 8)));
buffer_offset = ((sati_get_cdb_byte(cdb, 3) << 16) |
(sati_get_cdb_byte(cdb, 4) << 8) |
|| (sati_get_cdb_byte(cdb, 5) != 0)
|| ((sati_get_cdb_byte(cdb, 8) & SCSI_READ_CAPACITY_PMI_BIT_ENABLE)
(sati_get_cdb_byte(cdb, 2) != 0)
|| (sati_get_cdb_byte(cdb, 3) != 0)
|| (sati_get_cdb_byte(cdb, 4) != 0)
|| (sati_get_cdb_byte(cdb, 5) != 0)
|| (sati_get_cdb_byte(cdb, 6) != 0)
|| (sati_get_cdb_byte(cdb, 7) != 0)
|| (sati_get_cdb_byte(cdb, 8) != 0)
|| (sati_get_cdb_byte(cdb, 9) != 0)
|| ((sati_get_cdb_byte(cdb, 14) & SCSI_READ_CAPACITY_PMI_BIT_ENABLE)
sequence->allocation_length = (sati_get_cdb_byte(cdb, 10) << 24) |
(sati_get_cdb_byte(cdb, 11) << 16) |
(sati_get_cdb_byte(cdb, 12) << 8) |
(sati_get_cdb_byte(cdb, 13));
(sati_get_cdb_byte(cdb, 2) != 0)
|| (sati_get_cdb_byte(cdb, 3) != 0)
|| (sati_get_cdb_byte(cdb, 4) != 0)
if ((sati_get_cdb_byte(cdb, 1) & SCSI_REASSIGN_BLOCKS_LONGLBA_BIT) == 0)
if ((sati_get_cdb_byte(cdb, 1) & SCSI_REASSIGN_BLOCKS_LONGLIST_BIT) == 0)
sequence->allocation_length = (sati_get_cdb_byte(cdb, 6) << 24) |
(sati_get_cdb_byte(cdb, 7) << 16) |
(sati_get_cdb_byte(cdb, 8) << 8) |
(sati_get_cdb_byte(cdb, 9));
sequence->allocation_length = sati_get_cdb_byte(cdb, 4);
(( sati_get_cdb_byte(cdb, 4) & SCSI_START_STOP_UNIT_POWER_CONDITION_MASK ) \
(( sati_get_cdb_byte(cdb, 4) & SCSI_START_STOP_UNIT_START_BIT_MASK ) \
(( sati_get_cdb_byte(cdb, 4) & SCSI_START_STOP_UNIT_LOEJ_BIT_MASK ) \
(( sati_get_cdb_byte(cdb, 4) & SCSI_START_STOP_UNIT_NO_FLUSH_MASK ) \
(( sati_get_cdb_byte(cdb, 1) & SCSI_START_STOP_UNIT_IMMED_MASK ) \
(( sati_get_cdb_byte(cdb, 3) & SCSI_START_STOP_UNIT_POWER_CONDITION_MODIFIER_MASK) \
if (sati_get_cdb_byte(cdb, 1) & SCSI_SYNCHRONIZE_CACHE_IMMED_ENABLED)
unmap_length = (sati_get_cdb_byte(cdb, 7) << 8) | sati_get_cdb_byte(cdb, 8);
switch (sati_get_cdb_byte(cdb, 0))
switch (sati_get_cdb_byte(cdb, 0))
if ((sati_get_cdb_byte(cdb, 1) & SCSI_VERIFY_BYTCHK_ENABLED))
U32 sector_count = (sati_get_cdb_byte(cdb, 7) << 8) |
(sati_get_cdb_byte(cdb, 8));
U32 sector_count = (sati_get_cdb_byte(cdb, 6) << 24) |
(sati_get_cdb_byte(cdb, 7) << 16) |
(sati_get_cdb_byte(cdb, 8) << 8) |
(sati_get_cdb_byte(cdb, 9));
U32 sector_count = (sati_get_cdb_byte(cdb, 10) << 24) |
(sati_get_cdb_byte(cdb, 11) << 16) |
(sati_get_cdb_byte(cdb, 12) << 8) |
(sati_get_cdb_byte(cdb, 13));
U32 sector_count = (sati_get_cdb_byte(cdb, 7) << 8) |
(sati_get_cdb_byte(cdb, 8));
U32 sector_count = (sati_get_cdb_byte(cdb, 6) << 24) |
(sati_get_cdb_byte(cdb, 7) << 16) |
(sati_get_cdb_byte(cdb, 8) << 8) |
(sati_get_cdb_byte(cdb, 9));
U32 sector_count = (sati_get_cdb_byte(cdb, 10) << 24) |
(sati_get_cdb_byte(cdb, 11) << 16) |
(sati_get_cdb_byte(cdb, 12) << 8) |
(sati_get_cdb_byte(cdb, 13));
(sati_get_cdb_byte(cdb, 4) << 8) |
(sati_get_cdb_byte(cdb, 5)));
switch(sati_get_cdb_byte(cdb, 1))
(sati_get_cdb_byte(cdb, 2) == 0))
allocation_length = ((sati_get_cdb_byte(cdb, 6) << 16) |
(sati_get_cdb_byte(cdb, 7) << 8) |
(sati_get_cdb_byte(cdb, 8)));
buffer_offset = ((sati_get_cdb_byte(cdb, 3) << 16) |
if(sati_get_cdb_byte(cdb, 0) == SCSI_WRITE_LONG_10)
byte_transfer_length = (sati_get_cdb_byte(cdb, 7) << 8) |
(sati_get_cdb_byte(cdb, 8));
byte_transfer_length = (sati_get_cdb_byte(cdb, 12) << 8) |
(sati_get_cdb_byte(cdb, 13));
(( sati_get_cdb_byte(cdb, 1) & 0xE0) \