ATA_COUNT
ch->r_io[ATA_IREASON].res = ch->r_io[ATA_COUNT].res;
ch->r_io[ATA_IREASON].offset = ch->r_io[ATA_COUNT].offset;
request->u.ata.count = (ATA_IDX_INB(ch, ATA_COUNT) << 8);
request->u.ata.count |= ATA_IDX_INB(ch, ATA_COUNT);
request->u.ata.count = ATA_IDX_INB(ch, ATA_COUNT);
ATA_IDX_OUTB(ch, ATA_COUNT, request->u.ata.count >> 8);
ATA_IDX_OUTB(ch, ATA_COUNT, request->u.ata.count);
ATA_IDX_OUTB(ch, ATA_COUNT, request->u.ata.count);
ch->r_io[ATA_COUNT].offset = ch_offset + 0x08;
ATA_IDX_OUTW(ch, ATA_COUNT, request->u.ata.count);
ATA_IDX_OUTB(ch, ATA_COUNT, request->u.ata.count);
bytep[i++] = ATA_PDC_2B | ATA_PDC_WRITE_REG | ATA_COUNT;
bytep[i++] = ATA_PDC_1B | ATA_PDC_WRITE_REG | ATA_COUNT;
*result = ATA_IDX_INB(ch, ATA_COUNT) |
ATA_IDX_OUTB(ch, ATA_COUNT, value & 0xff);
return ATA_IDX_INB(ch, ATA_COUNT) |
ch->r_io[ATA_COUNT].offset = ch_offset + 0x08;
request->u.ata.count = ATA_IDX_INW(ch, ATA_COUNT);
request->u.ata.count = ATA_IDX_INW(ch, ATA_COUNT) & 0x00ff;
ATA_IDX_OUTW(ch, ATA_COUNT, request->u.ata.count);
ATA_IDX_OUTW(ch, ATA_COUNT, request->u.ata.count);
res->sector_count_exp = ATA_INB(ch->r_mem, ATA_COUNT);
res->sector_count = ATA_INB(ch->r_mem, ATA_COUNT);
ATA_OUTB(ch->r_mem, ATA_COUNT, cmd->sector_count_exp);
ATA_OUTB(ch->r_mem, ATA_COUNT, cmd->sector_count);