4.3BSD-UWisc/man/cat4/up.4

Compare this file to the similar file:
Show the results in this format:




UP(4)               UNIX Programmer's Manual                UP(4)



NAME
     up - unibus storage module controller/drives

SYNOPSIS
     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 and SC-
     31 controllers.  It can be easily adapted to other controll-
     ers (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 par-
     titions 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 there-
     fore 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 _s_e_e_k 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
     seven different drives: CDC 9762, CDC 9766, AMPEX DM980,
     AMPEX 9300, AMPEX Capricorn, FUJITSU 160, and FUJITSU Eagle
     (the Eagle is not supported by the SC-21).  The origin and
     size of the pseudo-disks on each drive are as follows:

     CDC 9762 partitions
          disk      start     length    cyls
          hp?a      0         15884     0-99
          hp?b      16000     33440     100-309
          hp?c      0         131680    0-822
          hp?d      49600     15884     309-408
          hp?e      65440     55936     409-758
          hp?f      121440    10080     759-822
          hp?g      49600     82080     309-822



Printed 12/27/86          May 16, 1986                          1






UP(4)               UNIX Programmer's Manual                UP(4)



     CDC 9766 300M drive partitions:
          disk      start     length    cyl
          up?a      0         15884     0-26
          up?b      16416     33440     27-81
          up?c      0         500384    0-822
          up?d      341696    15884     562-588
          up?e      358112    55936     589-680
          up?f      414048    861760    681-822
          up?g      341696    158528    562-822
          up?h      49856     291346    82-561

     AMPEX DM980 partitions
          disk      start     length    cyls
          hp?a      0         15884     0-99
          hp?b      16000     33440     100-309
          hp?c      0         131680    0-822
          hp?d      49600     15884     309-408
          hp?e      65440     55936     409-758
          hp?f      121440    10080     759-822
          hp?g      49600     82080     309-822

     AMPEX 9300 300M drive partitions:
          disk      start     length    cyl
          up?a      0         15884     0-26
          up?b      16416     33440     27-81
          up?c      0         495520    0-814
          up?d      341696    15884     562-588
          up?e      358112    55936     589-680
          up?f      414048    81312     681-814
          up?g      341696    153664    562-814
          up?h      49856     291346    82-561

     AMPEX Capricorn 330M drive partitions:
          disk      start     length    cyl
          hp?a      0         15884     0-31
          hp?b      16384     33440     32-97
          hp?c      0         524288    0-1023
          hp?d      342016    15884     668-699
          hp?e      358400    55936     700-809
          hp?f      414720    109408    810-1023
          hp?g      342016    182112    668-1023
          hp?h      50176     291346    98-667

     FUJITSU 160M drive partitions:
          disk      start     length    cyl
          up?a      0         15884     0-49
          up?b      16000     33440     50-154
          up?c      0         263360    0-822
          up?d      49600     15884     155-204
          up?e      65600     55936     205-379
          up?f      121600    141600    380-822
          up?g      49600     213600    155-822



Printed 12/27/86          May 16, 1986                          2






UP(4)               UNIX Programmer's Manual                UP(4)



     FUJITSU Eagle partitions
          disk      start     length    cyls
          hp?a      0         15884     0-16
          hp?b      16320     66880     17-86
          hp?c      0         808320    0-841
          hp?d      375360    15884     391-407
          hp?e      391680    55936     408-727
          hp?f      698880    109248    728-841
          hp?g      375360    432768    391-841
          hp?h      83520     291346    87-390

     It is unwise for all of these files to be present in one
     installation, since there is overlap in addresses and pro-
     tection becomes a sticky matter.  The up?a partition is nor-
     mally 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 parti-
     tion 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
     hk(4), hp(4), uda(4)

DIAGNOSTICS
     up%d%c: hard error sn%d cs2=%b er1=%b er2=%b.  An unrecover-
     able 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



Printed 12/27/86          May 16, 1986                          3






UP(4)               UNIX Programmer's Manual                UP(4)



     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.

BUGS
     In raw I/O _r_e_a_d and _w_r_i_t_e(2) truncate file offsets to 512-
     byte block boundaries, and _w_r_i_t_e scribbles on the tail of
     incomplete blocks.  Thus, in programs that are likely to
     access raw devices, _r_e_a_d, _w_r_i_t_e and _l_s_e_e_k(2) should always
     deal in 512-byte multiples.

     A program to analyze the logged error information (even in
     its present reduced form) is needed.

     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.



























Printed 12/27/86          May 16, 1986                          4