ATA_IDX_INW
ATA_IDX_INW(ch, ATA_DATA);
request->u.ata.count = ATA_IDX_INW(ch, ATA_COUNT);
temp = ATA_IDX_INW(ch, ATA_SECTOR);
temp = ATA_IDX_INW(ch, ATA_CYL_LSB);
temp = ATA_IDX_INW(ch, ATA_CYL_MSB);
request->u.ata.count = ATA_IDX_INW(ch, ATA_COUNT) & 0x00ff;
request->u.ata.lba = (ATA_IDX_INW(ch, ATA_SECTOR) & 0x00ff) |
((ATA_IDX_INW(ch, ATA_CYL_LSB) & 0x00ff) << 8) |
((ATA_IDX_INW(ch, ATA_CYL_MSB) & 0x00ff) << 16) |
((ATA_IDX_INW(ch, ATA_DRIVE) & 0xf) << 24);