|
|
1.1 ! root 1: .\" Copyright (c) 1980,1988 Regents of the University of California. ! 2: .\" All rights reserved. The Berkeley software License Agreement ! 3: .\" specifies the terms and conditions for redistribution. ! 4: .\" ! 5: .\" @(#)up.4 6.3 (Berkeley) 6/13/88 ! 6: .\" ! 7: .TH UP 4 "June 13, 1988" ! 8: .UC 4 ! 9: .SH NAME ! 10: up \- unibus storage module controller/drives ! 11: .SH SYNOPSIS ! 12: .B "controller sc0 at uba? csr 0176700 vector upintr ! 13: .br ! 14: .B "disk up0 at sc0 drive 0" ! 15: .SH DESCRIPTION ! 16: This is a generic UNIBUS storage module disk driver. ! 17: It is specifically designed to work with the ! 18: Emulex SC-21 and SC-31 controllers. ! 19: It can be easily ! 20: adapted to other controllers (although bootstrapping will ! 21: not necessarily be directly possible.) ! 22: .PP ! 23: Files with minor device numbers 0 through 7 refer to various portions ! 24: of drive 0; ! 25: minor devices 8 through 15 refer to drive 1, etc. ! 26: The standard device names begin with ``up'' followed by ! 27: the drive number and then a letter a-h for partitions 0-7 respectively. ! 28: The character ? stands here for a drive number in the range 0-7. ! 29: .PP ! 30: The block files access the disk via the system's normal ! 31: buffering mechanism and may be read and written without regard to ! 32: physical disk records. There is also a `raw' interface ! 33: which provides for direct transmission between the disk ! 34: and the user's read or write buffer. ! 35: A single read or write call results in exactly one I/O operation ! 36: and therefore raw I/O is considerably more efficient when ! 37: many words are transmitted. The names of the raw files ! 38: conventionally begin with an extra `r.' ! 39: .PP ! 40: In raw I/O counts should be a multiple of 512 bytes (a disk sector). ! 41: Likewise ! 42: .I seek ! 43: calls should specify a multiple of 512 bytes. ! 44: .SH "DISK SUPPORT" ! 45: The driver interrogates the controller's holding register ! 46: to determine the type of drive attached. The driver recognizes ! 47: seven different drives: ! 48: CDC 9762, CDC 9766, ! 49: AMPEX DM980, AMPEX 9300, AMPEX Capricorn, ! 50: FUJITSU 160, and FUJITSU Eagle ! 51: (the Eagle is not supported by the SC-21). ! 52: The origin and size of the pseudo-disks on each drive are ! 53: as follows: ! 54: .PP ! 55: .nf ! 56: .ta .5i +\w'000000 'u +\w'000000 'u +\w'000000 'u ! 57: CDC 9762 partitions ! 58: disk start length cyls ! 59: hp?a 0 15884 0-99 ! 60: hp?b 16000 33440 100-309 ! 61: hp?c 0 131680 0-822 ! 62: hp?d 49600 15884 309-408 ! 63: hp?e 65440 55936 409-758 ! 64: hp?f 121440 10080 759-822 ! 65: hp?g 49600 82080 309-822 ! 66: .PP ! 67: CDC 9766 300M drive partitions: ! 68: disk start length cyl ! 69: up?a 0 15884 0-26 ! 70: up?b 16416 33440 27-81 ! 71: up?c 0 500384 0-822 ! 72: up?d 341696 15884 562-588 ! 73: up?e 358112 55936 589-680 ! 74: up?f 414048 861760 681-822 ! 75: up?g 341696 158528 562-822 ! 76: up?h 49856 291346 82-561 ! 77: .PP ! 78: AMPEX DM980 partitions ! 79: disk start length cyls ! 80: hp?a 0 15884 0-99 ! 81: hp?b 16000 33440 100-309 ! 82: hp?c 0 131680 0-822 ! 83: hp?d 49600 15884 309-408 ! 84: hp?e 65440 55936 409-758 ! 85: hp?f 121440 10080 759-822 ! 86: hp?g 49600 82080 309-822 ! 87: .PP ! 88: AMPEX 9300 300M drive partitions: ! 89: disk start length cyl ! 90: up?a 0 15884 0-26 ! 91: up?b 16416 33440 27-81 ! 92: up?c 0 495520 0-814 ! 93: up?d 341696 15884 562-588 ! 94: up?e 358112 55936 589-680 ! 95: up?f 414048 81312 681-814 ! 96: up?g 341696 153664 562-814 ! 97: up?h 49856 291346 82-561 ! 98: .PP ! 99: AMPEX Capricorn 330M drive partitions: ! 100: disk start length cyl ! 101: hp?a 0 15884 0-31 ! 102: hp?b 16384 33440 32-97 ! 103: hp?c 0 524288 0-1023 ! 104: hp?d 342016 15884 668-699 ! 105: hp?e 358400 55936 700-809 ! 106: hp?f 414720 109408 810-1023 ! 107: hp?g 342016 182112 668-1023 ! 108: hp?h 50176 291346 98-667 ! 109: .PP ! 110: FUJITSU 160M drive partitions: ! 111: disk start length cyl ! 112: up?a 0 15884 0-49 ! 113: up?b 16000 33440 50-154 ! 114: up?c 0 263360 0-822 ! 115: up?d 49600 15884 155-204 ! 116: up?e 65600 55936 205-379 ! 117: up?f 121600 141600 380-822 ! 118: up?g 49600 213600 155-822 ! 119: .PP ! 120: FUJITSU Eagle partitions ! 121: disk start length cyls ! 122: hp?a 0 15884 0-16 ! 123: hp?b 16320 66880 17-86 ! 124: hp?c 0 808320 0-841 ! 125: hp?d 375360 15884 391-407 ! 126: hp?e 391680 55936 408-727 ! 127: hp?f 698880 109248 728-841 ! 128: hp?g 375360 432768 391-841 ! 129: hp?h 83520 291346 87-390 ! 130: .DT ! 131: .fi ! 132: .PP ! 133: It is unwise for all of these files to be present in one installation, ! 134: since there is overlap in addresses and protection becomes ! 135: a sticky matter. ! 136: The up?a partition is normally used for the root file system, ! 137: the up?b partition as a paging area, ! 138: and the up?c partition for pack-pack copying (it maps the entire disk). ! 139: On 160M drives the up?g partition maps the rest of the pack. ! 140: On other drives both up?g and up?h are used to map the ! 141: remaining cylinders. ! 142: .SH FILES ! 143: /dev/up[0-7][a-h] block files ! 144: .br ! 145: /dev/rup[0-7][a-h] raw files ! 146: .SH SEE ALSO ! 147: hk(4), hp(4), uda(4) ! 148: .SH DIAGNOSTICS ! 149: \fBup%d%c: hard error %sing fsbn %d[-%d] cs2=%b er1=%b er2=%b\fR. ! 150: An unrecoverable error occurred during transfer of the specified ! 151: filesystem block number(s), ! 152: which are logical block numbers on the indicated partition. ! 153: The contents of the cs2, er1 and er2 registers are printed ! 154: in octal and symbolically with bits decoded. ! 155: The error was either unrecoverable, or a large number of retry attempts ! 156: (including offset positioning and drive recalibration) could not ! 157: recover the error. ! 158: .PP ! 159: \fBup%d: write locked\fR. The write protect switch was set on the drive ! 160: when a write was attempted. The write operation is not recoverable. ! 161: .PP ! 162: \fBup%d: not ready\fR. The drive was spun down or off line when it was ! 163: accessed. The i/o operation is not recoverable. ! 164: .PP ! 165: \fBup%d: not ready (flakey)\fR. The drive was not ready, but after ! 166: printing the message about being not ready (which takes a fraction ! 167: of a second) was ready. The operation is recovered if no further ! 168: errors occur. ! 169: .PP ! 170: \fBup%d%c: soft ecc reading fsbn %d[-%d]\fP. ! 171: A recoverable ECC error occurred on the ! 172: specified sector of the specified disk partition. ! 173: This happens normally ! 174: a few times a week. If it happens more frequently than ! 175: this the sectors where the errors are occurring should be checked to see ! 176: if certain cylinders on the pack, spots on the carriage of the drive ! 177: or heads are indicated. ! 178: .PP ! 179: \fBsc%d: lost interrupt\fR. A timer watching the controller detecting ! 180: no interrupt for an extended period while an operation was outstanding. ! 181: This indicates a hardware or software failure. There is currently a ! 182: hardware/software problem with spinning down drives while they are ! 183: being accessed which causes this error to occur. ! 184: The error causes a UNIBUS reset, and retry of the pending operations. ! 185: If the controller continues to lose interrupts, this error will recur ! 186: a few seconds later. ! 187: .SH BUGS ! 188: In raw I/O ! 189: .I read ! 190: and ! 191: .IR write (2) ! 192: truncate file offsets to 512-byte block boundaries, ! 193: and ! 194: .I write ! 195: scribbles on the tail of incomplete blocks. ! 196: Thus, ! 197: in programs that are likely to access raw devices, ! 198: .I read, write ! 199: and ! 200: .IR lseek (2) ! 201: should always deal in 512-byte multiples. ! 202: .PP ! 203: A program to analyze the logged error information (even in its ! 204: present reduced form) is needed. ! 205: .PP ! 206: The partition tables for the file systems should be read off of each ! 207: pack, as they are never quite what any single installation would prefer, ! 208: and this would make packs more portable.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.