passthru
passthru(nf, argc, argv);
passthru(nf, argc, argv);
PassthroughCmd *passthru = &pCmd->uCmd.Passthrough;
sense_buffer[11] = (HPT_U8)passthru->bFeaturesReg; /* Error */
sense_buffer[13] = (HPT_U8)passthru->bSectorCountReg; /* Sector Count (7:0) */
sense_buffer[15] = (HPT_U8)passthru->bLbaLowReg; /* LBA Low (7:0) */
sense_buffer[17] = (HPT_U8)passthru->bLbaMidReg; /* LBA Mid (7:0) */
sense_buffer[19] = (HPT_U8)passthru->bLbaHighReg; /* LBA High (7:0) */
sense_buffer[12] = (HPT_U8)(passthru->bSectorCountReg >> 8); /* Sector Count (15:8) */
sense_buffer[14] = (HPT_U8)(passthru->bLbaLowReg >> 8); /* LBA Low (15:8) */
sense_buffer[16] = (HPT_U8)(passthru->bLbaMidReg >> 8); /* LBA Mid (15:8) */
sense_buffer[18] = (HPT_U8)(passthru->bLbaHighReg >> 8); /* LBA High (15:8) */
sense_buffer[20] = (HPT_U8)passthru->bDriveHeadReg; /* Device */
sense_buffer[21] = (HPT_U8)passthru->bCommandReg; /* Status */
passthru->bCommandReg,
passthru->bFeaturesReg,
passthru->bLbaLowReg,
passthru->bLbaMidReg,
passthru->bLbaHighReg,
passthru->bDriveHeadReg,
passthru->bSectorCountReg));
pCmd->Result,passthru->bFeaturesReg,passthru->bSectorCountReg,
passthru->bLbaHighReg,passthru->bLbaMidReg,passthru->bLbaLowReg));
PassthroughCmd *passthru;
passthru = &pCmd->uCmd.Passthrough;
passthru->bFeaturesReg =
passthru->bSectorCountReg =
passthru->bLbaLowReg =
passthru->bLbaMidReg =
passthru->bLbaHighReg =
passthru->bFeaturesReg = cdb[4];
passthru->bSectorCountReg = cdb[6];
passthru->bLbaLowReg = cdb[8];
passthru->bLbaMidReg = cdb[10];
passthru->bLbaHighReg = cdb[12];
passthru->bDriveHeadReg = cdb[13];
passthru->bCommandReg = cdb[14];
passthru->bFeaturesReg = cdb[3];
passthru->bSectorCountReg = cdb[4];
passthru->bLbaLowReg = cdb[5];
passthru->bLbaMidReg = cdb[6];
passthru->bLbaHighReg = cdb[7];
passthru->bDriveHeadReg = cdb[8];
passthru->bCommandReg = cdb[9];
if (!(passthru->bCommandReg == ATA_CMD_READ_MULTI ||
passthru->bCommandReg == ATA_CMD_READ_MULTI_EXT ||
passthru->bCommandReg == ATA_CMD_WRITE_MULTI ||
passthru->bCommandReg == ATA_CMD_WRITE_MULTI_EXT ||
passthru->bCommandReg == ATA_CMD_WRITE_MULTI_FUA_EXT)
if (passthru->bFeaturesReg == ATA_SET_FEATURES_XFER &&
passthru->bCommandReg == ATA_CMD_SET_FEATURES) {
passthru->nSectors = ccb->csio.dxfer_len/ATA_SECTOR_SIZE;
static const struct pci_devemu passthru = {
PCI_EMUL_SET(passthru);