rl
—
RL11/ RL01 and RL02 disk interface
rlc0 at uba? csr 0177440
rl0 at rlc0 drive 0
rl* at rlc? drive ?
The rl
driver is a typical block-device disk driver;
block device I/O is described in
physio(4).
The script
MAKEDEV(8) should be used
to create the special files; if a special file needs to be created by hand
consult mknod(8).
- /dev/rl[0-7][a-h]
- block files
- /dev/rrl[0-7][a-h]
- raw files
- rl%d: operation incomplete
- The current command to the disk did not complete within the timeout
period. This may be due to hardware failure or a heavily loaded
UNIBUS.
- rl%d: read data CRC
- The controller detected a CRC error on data read from the disk. Probably a
bad disk pack.
- rl%d: header CRC
- The controller detected a CRC error on header data read from the disk.
Probably a bad disk pack.
- rl%d: data late
- The controller was not able to transfer data over the bus fast enough to
not overflow/underflow the internal FIFO, probably because a heavily
loaded UNIBUS or mis-ordered UNIBUS devices.
- rl%d: header not found
- The requested sector was not found before the timer expired. If this error
is the only error then it may indicate a software bug.
- rl%d: non-existent memory
- The controller tried to do DMA to/from a non-mapped address. This is a
software bug.
- rl%d: memory parity error
- The host memory data sent had a parity error. This is a hardware
failure.
The rl
driver has been around nearly forever.
A complete new rl
driver showed up in
NetBSD 1.5.
Error handling is less than optimal.
Seeks should be interleaved between multiple disks.