up(4)
NAME
up − unibus storage module controller/drives
SYNTAX
controller sc0 at uba? csr 0176700 vector upintr
disk up0 at sc0 drive 0
DESCRIPTION
This is a generic UNIBUS storage module disk driver. It is specifically designed to work with the Emulex SC-21 controller. It can be easily adapted to other controllers (although bootstrapping will not necessarily be directly possible.)
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 “up” 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 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.
DISK SUPPORT
The driver interrogates the controller’s holding register to determine the type of drive attached. The driver recognizes four different drives: AMPEX 9300, CDC 9766, AMPEX Capricorn, and FUJITSU 160. The origin and size of the pseudo-disks on each drive are as follows:
CDC 9766 300M drive partitions:
diskstartlengthcyl
up?a0158840-26
up?b164163344027-81
up?c05003840-822
up?d34169615884562-588
up?e35811255936589-680
up?f414048861760681-822
up?g341696158528562-822
up?h4985629134682-561
AMPEX 9300 300M drive partitions:
diskstartlengthcyl
up?a0158840-26
up?b164163344027-81
up?c04955200-814
up?d34169615884562-588
up?e35811255936589-680
up?f41404881312681-814
up?g341696153664562-814
up?h4985629134682-561
AMPEX Capricorn 330M drive partitions:
diskstartlengthcyl
hp?a0158840-31
hp?b163843344032-97
hp?c05242880-1023
hp?d34201615884668-699
hp?e35840055936700-809
hp?f414720109408810-1023
hp?g342016182112668-1023
hp?h5017629134698-667
FUJITSU 160M drive partitions:
diskstartlengthcyl
up?a0158840-49
up?b160003344050-154
up?c02633600-822
up?d4960015884155-204
up?e6560055936205-379
up?f121600141600380-822
up?g49600213600155-822
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 up?a partition is normally used for the root file system, the up?b partition as a paging area, and the up?c partition for pack-pack copying (it maps the entire disk). On 160M drives the up?g partition maps the rest of the pack. On other drives both up?g and up?h are used to map the remaining cylinders.
FILES
/dev/up[0-7][a-h]block files
/dev/rup[0-7][a-h]raw files
SEE ALSO
DIAGNOSTICS
up%d%c: hard error sn%d cs2=%b er1=%b er2=%b. An unrecoverable error occurred during transfer of the specified sector in the specified disk partition. The contents of the cs2, er1 and er2 registers are printed in octal and symbolically with bits decoded. The error was either unrecoverable, or a large number of retry attempts (including offset positioning and drive recalibration) could not recover the error.
up%d: write locked. The write protect switch was set on the drive when a write was attempted. The write operation is not recoverable.
up%d: not ready. The drive was spun down or off line when it was accessed. The i/o operation is not recoverable.
up%d: not ready (flakey). The drive was not ready, but after printing the message about being not ready (which takes a fraction of a second) was ready. The operation is recovered if no further errors occur.
up%d%c: soft ecc sn%d. A recoverable ECC error occurred on the specified sector of the specified disk partition. This happens normally a few times a week. If it happens more frequently than this the sectors where the errors are occurring should be checked to see if certain cylinders on the pack, spots on the carriage of the drive or heads are indicated.
sc%d: lost interrupt. A timer watching the controller detecting no interrupt for an extended period while an operation was outstanding. This indicates a hardware or software failure. There is currently a hardware/software problem with spinning down drives while they are being accessed which causes this error to occur. 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.
RESTRICTIONS
In raw I/O read 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, write and lseek(2) should always deal in 512-byte multiples.