All rights reserved. The Berkeley software License Agreement
specifies the terms and conditions for redistribution.
@(#)uda.4 4.1 (Berkeley) 05/15/85
disk ra0 at uda0 drive 0
Files with minor device numbers 0 through 7 refer to various portions of drive 0; minor devices 8 through 15 refer to drive 1, etc. The standard device names begin with ``ra'' followed by the drive number and then a letter a-h for partitions 0-7 respectively. The character ? stands here for a drive number in the range 0-7.
The origin and size of the pseudo-disks on each drive are as follows:
RA80 124M drive partitions: disk start length ra?a 0 15884 ra?b 15884 33440 ra?c 0 237298 ra?d 0 0 ra?e 0 0 ra?f 0 0 ra?g 49324 82080 ra?h 131404 105994
It is unwise for all of these files to be present in one installation, since there is overlap in addresses and protection becomes a sticky matter. The ra?a partition is normally used for the root file system, the ra?b partition as a paging area, and the ra?c partition for pack-pack copying (it maps the entire disk). Both ra?g and ra?h are used to map the remaining cylinders.
The block files access the disk via 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.'
In raw I/O counts should be a multiple of 512 bytes (a disk sector). Likewise seek calls should specify a multiple of 512 bytes.
ra%d%c: hard error sn%d status %o. An unrecoverable error occured during transfer of the specified sector of the specified disk partition. The contents of the udasa register are printed in octal and symbolically with bits decoded. The internal state is also printed. In the second form, the MSCP status is printed. The error was either unrecoverable, or a large number of retry attempts (including offset positioning and drive recalibration) could not recover the error.
ra%d%c: hard error sn%d OFFLINE. The drive was spun down or off line when it was accessed. The i/o operation is not recoverable.
uda%d: random interrupt ignored. The UDA received an interrupt before it was initialized.
uda%d: fatal error (%o). A fatal error was noticed in the UDA interrupt routine. The contents of udasa are printed. The controller will be reinitialized.
uda%d: [soft|hard] error, controller error, event 0%o.
uda%d: [soft|hard] error, host memory access error, event 0%o, addr 0%o.
uda%d: [soft|hard] error, disk transfer error, unit %d, grp %d, cyl %d, sec %d, trk %d, lbn %d, retry %d, level %d.
uda%d: [soft|hard] error, SDI error, unit %d, event 0%o, cyl %d.
uda%d: [soft|hard] error, small disk error, unit %d, event 0%o, cyl %d.
uda%d: [soft|hard] error, unknown error, unit %d, format 0%o, event 0%o.
See the driver and the UDA and MSCP manuals.
A program to analyze the logged error information (even in its present reduced form) is needed. Error messages should be more consistent.
The partition tables for the file systems should be read off of each pack, as they are never quite what any single installation would prefer, and this would make packs more portable.
Dumps to the swap area on system crashes are not implemented.
Booting via block zero is not (and will not be) supported. The ``boot'' program must be loaded from the console storage device.
Although the device supports unit numbers up to 255, the driver only supports unit numbers up to 7.