rb(4)
NAME
rb − IDC/RL02 disk controller interface
SYNTAX
controller idc0 at uba? csr 0175606 vector idcintr
disk rb0 at idc0 drive 0
DESCRIPTION
Files with minor device numbers 0 through 7 refer to various portions of drive 0; minor devices 8 through 15 refer to drive 1, and so forth. The standard device names begin with rb followed by the drive number and then a letter a through h for partitions 0 through 7 respectively. The character ? stands here for a drive number in the range 0 through 7.
The block files access the disk by the system’s normal buffering mechanism and may be read and written without regard to physical disk records. There is also a raw interface, which provides for direct transmission between the disk and the user’s read or write buffer. A single read or write call results in exactly one I/O operation and therefore raw I/O is considerably more efficient when many words are transmitted. The names of the raw files conventionally begin with an extra r.
Although RL02 disks have 256-byte sectors, the driver emulates 512-byte sectors. Raw I/O, counts should be a multiple of 512 bytes (a normal disk sector). Likewise, seek calls should specify a multiple of 512 bytes.
The origin and size (in 512-byte sectors) of the pseudodisks on each drive are as follows:
RL02 partitions:
diskstartlengthcyl
rb?a0158840-397
rb?b158844520398-510
rb?c0204800-511
rb?d158844520398-510
rb?g0204800-511
RESTRICTIONS
In raw I/O, read(2) and write(2) truncate file offsets to 512-byte block boundaries, and write scribbles on the tail of incomplete blocks. Thus, in programs that are likely to access raw devices, read(2), write(2) and lseek(2) should always deal in 512-byte multiples.
DIAGNOSTICS
The following messages are printed at the console:
rb%d%c: hard error sn%d.
An unrecoverable error occurred during transfer of the specified sector of the specified disk partition. Either the error was unrecoverable, or a large number of retry attempts (including offset positioning and drive recalibration) could not recover the error. Additional register information may be gathered from the system error log file, /usr/adm/syserr/syserr.<hostname>.
rb%d: write protected.
The write protect switch was set on the drive when a write was attempted. The write operation is not recoverable.
idc%d: lost interrupt
A timer watching the controller detected no interrupt for an extended period while an operation was outstanding. This indicates a hardware or software failure. The error causes a UNIBUS reset and retry of the pending operations. If the controller continues to lose interrupts, this error will recur a few seconds later.
FILES
/dev/rb???
/dev/rrb???