UP(4) | Device Drivers Manual (vax) | UP(4) |
up
— UNIBUS
storage module controller/disk drives
sc0 at uba? csr 0176700 vector upintr
up0 at sc0 drive 0
NOTE: This driver has not been ported from 4.4BSD yet.
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 controllers (although bootstrapping will not necessarily be directly possible.)
The script
MAKEDEV(8) should be used
to create the up
special files; consult
mknod(8) if a special file
needs to be made manually. It is recommended as a security precaution to not
create special files for devices which may never be installed.
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).
Special file names begin with
‘up
’ and
‘rup
’ for the block and character
files respectively. The second component of the name, a drive unit number in
the range of zero to seven, is represented by a
‘?
’ in the disk layouts below. The
last component of the name, the file system partition, is designated by a
letter from ‘a
’ to
‘h
’ which also corresponds to a minor
device number set: zero to seven, eight to 15, 16 to 23 and so forth for
drive zero, drive two and drive three respectively (see
physio(4)). The location
and size (in 512 byte sectors) of the partitions for the above drives:
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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.
The up
driver appeared in
4.0BSD.
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.
February 17, 2017 | NetBSD 10.99 |