Port-amiga archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
idesc.c
Hi folks,
Shouldn't the IDE driver have a restriction on the maximum blocks transferred
at a time?
from idesc.c:
-----------------------------------------------
case READ_BIG:
lba = *((long *)(cbuf + 2));
nblks = *((u_short *)(cbuf + 7));
return (ideiread(ide, lba, buf, nblks));
case READ_COMMAND:
lba = *((long *)cbuf) & 0x001fffff;
nblks = *((u_char *)(cbuf + 4));
if (nblks == 0)
nblks = 256;
return (ideiread(ide, lba, buf, nblks));
-----------------------------------------------
Seems like the driver (READ_BIG) accepts a 16 bit sector-count value while
the IDE register is only 8 bits.
I assume higher levels will not take care of this (to give scsi maximum
performance).
The wd driver from the dev/isa directory seems to have such a restriction.
I'm asking this because of problems with my harddisk.
Am I wrong?
Home |
Main Index |
Thread Index |
Old Index