Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ rl(4) — Ultrix/UWS 4.0 VAX

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

dkio(4)

nbuf(4)

MAKEDEV(8)

uerf(8)

rl(4)  —  VAX

Name

rl − RL211/RL02 disk interface

Syntax

controller hl0 at uba? csr 0174400 vector rlintr
disk rl0 at hl0 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 rl followed by the drive number and then a letter, a through h, for partitions 0-7. The question mark (?) character stands here for a drive number in the range 0-7.

The block files access the disk by the system’s normal buffering mechanism and can 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.  Therefore, raw I/O is considerably more efficient when many words are transmitted.  The names of the raw files conventionally begin with an addition letter r, for example, rrx2c.

Although RL02 disks have 256-byte sectors, the driver emulates 512-byte sectors.  Raw I/O counts should be multiples of 512 bytes (a normal disk sector).  In the same way, 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
rl?a0158840-397
rl?b158844520398-510
rl?c0204800-511
rl?d158844520398-510
rl?g0204800-511

Restrictions

In raw I/O, read and write functions truncate file offsets to 512-byte block boundaries, and write overwrites the tail of incomplete blocks. Thus, in programs that are likely to access raw devices, read(,), write(,), and lseek() should always deal in 512-byte multiples.

Diagnostics

The following messages are printed at the console:

rl%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>. 

rl%d: write protected
The write protect switch was set on the drive when a write was attempted. The write operation is not recoverable.

hl%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/rl???
/dev/rrl???

See Also

dkio(4), nbuf(4), MAKEDEV(8), uerf(8)

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026