Commit | Line | Data |
---|---|---|
6d5259d5 KM |
1 | .\" Copyright (c) 1980 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 | .\" @(#)uda.4 4.1 (Berkeley) %G% | |
6 | .\" | |
7 | .TH RA 4 10/8/81 | |
8 | .UC 4 | |
9 | .SH NAME | |
10 | ra \- UDA50/RA80 Unibus disk controller and drives | |
11 | .SH SYNOPSIS | |
12 | controller uda0 at uba? csr 0177550 vector udaintr | |
13 | .br | |
14 | disk ra0 at uda0 drive 0 | |
15 | .SH DESCRIPTION | |
16 | The UDA50 is an intelligent disk controller for the UNIBUS. | |
17 | It supports the RA80 124MB disk drive. | |
18 | .PP | |
19 | Files with minor device numbers 0 through 7 refer to various portions | |
20 | of drive 0; | |
21 | minor devices 8 through 15 refer to drive 1, etc. | |
22 | The standard device names begin with ``ra'' followed by | |
23 | the drive number and then a letter a-h for partitions 0-7 respectively. | |
24 | The character ? stands here for a drive number in the range 0-7. | |
25 | .PP | |
26 | The origin and size of the pseudo-disks on each drive are | |
27 | as follows: | |
28 | .PP | |
29 | .nf | |
30 | .ta .5i +\w'000000 'u +\w'000000 'u | |
31 | RA80 124M drive partitions: | |
32 | disk start length | |
33 | ra?a 0 15884 | |
34 | ra?b 15884 33440 | |
35 | ra?c 0 237298 | |
36 | ra?d 0 0 | |
37 | ra?e 0 0 | |
38 | ra?f 0 0 | |
39 | ra?g 49324 82080 | |
40 | ra?h 131404 105994 | |
41 | .DT | |
42 | .fi | |
43 | .PP | |
44 | It is unwise for all of these files to be present in one installation, | |
45 | since there is overlap in addresses and protection becomes | |
46 | a sticky matter. | |
47 | The ra?a partition is normally used for the root file system, | |
48 | the ra?b partition as a paging area, | |
49 | and the ra?c partition for pack-pack copying (it maps the entire disk). | |
50 | Both ra?g and ra?h are used to map the | |
51 | remaining cylinders. | |
52 | .PP | |
53 | The block files access the disk via the system's normal | |
54 | buffering mechanism and may be read and written without regard to | |
55 | physical disk records. There is also a `raw' interface | |
56 | which provides for direct transmission between the disk | |
57 | and the user's read or write buffer. | |
58 | A single read or write call results in exactly one I/O operation | |
59 | and therefore raw I/O is considerably more efficient when | |
60 | many words are transmitted. The names of the raw files | |
61 | conventionally begin with an extra `r.' | |
62 | .PP | |
63 | In raw I/O counts should be a multiple of 512 bytes (a disk sector). | |
64 | Likewise | |
65 | .I seek | |
66 | calls should specify a multiple of 512 bytes. | |
67 | .SH FILES | |
68 | /dev/ra[0-7][a-h] block files | |
69 | .br | |
70 | /dev/rra[0-7][a-h] raw files | |
71 | .SH SEE ALSO | |
72 | hk(4), hp(4), up(4) | |
73 | .SH DIAGNOSTICS | |
74 | \fBra%d%c: hard error sn%d udasa %o, state %d\fR. | |
75 | .br | |
76 | \fBra%d%c: hard error sn%d status %o\fR. | |
77 | An unrecoverable | |
78 | error occured during transfer of the specified sector of the specified | |
79 | disk partition. The contents of the udasa register are printed | |
80 | in octal and symbolically with bits decoded. The internal state is also | |
81 | printed. In the second form, the MSCP status is printed. | |
82 | The error was either unrecoverable, or a large number of retry attempts | |
83 | (including offset positioning and drive recalibration) could not | |
84 | recover the error. | |
85 | .PP | |
86 | \fBra%d%c: hard error sn%d OFFLINE\fR. The drive was spun down or off | |
87 | line when it was accessed. The i/o operation is not recoverable. | |
88 | .PP | |
89 | \fBuda%d: random interrupt ignored\fR. The UDA received an interrupt | |
90 | before it was initialized. | |
91 | .PP | |
92 | \fBuda%d: fatal error (%o)\fR. A fatal error was noticed in the UDA | |
93 | interrupt routine. The contents of udasa are printed. The controller | |
94 | will be reinitialized. | |
95 | .PP | |
96 | \fBuda%d: [soft|hard] error, controller error, event 0%o\fR. | |
97 | .br | |
98 | \fBuda%d: [soft|hard] error, host memory access error, event 0%o, addr 0%o\fR. | |
99 | .br | |
100 | \fBuda%d: [soft|hard] error, disk transfer error, unit %d, grp %d, cyl %d, | |
101 | sec %d, trk %d, lbn %d, retry %d, level %d\fR. | |
102 | .br | |
103 | \fBuda%d: [soft|hard] error, SDI error, unit %d, event 0%o, cyl %d\fR. | |
104 | .br | |
105 | \fBuda%d: [soft|hard] error, small disk error, unit %d, event 0%o, cyl %d\fR. | |
106 | .br | |
107 | \fBuda%d: [soft|hard] error, unknown error, unit %d, format 0%o, event 0%o\fR. | |
108 | .br | |
109 | See the driver and the UDA and MSCP manuals. | |
110 | .SH BUGS | |
111 | In raw I/O | |
112 | .I read | |
113 | and | |
114 | .IR write (2) | |
115 | truncate file offsets to 512-byte block boundaries, | |
116 | and | |
117 | .I write | |
118 | scribbles on the tail of incomplete blocks. | |
119 | Thus, | |
120 | in programs that are likely to access raw devices, | |
121 | .I read, write | |
122 | and | |
123 | .IR lseek (2) | |
124 | should always deal in 512-byte multiples. | |
125 | .PP | |
126 | A program to analyze the logged error information (even in its | |
127 | present reduced form) is needed. Error messages should be more | |
128 | consistent. | |
129 | .PP | |
130 | The partition tables for the file systems should be read off of each | |
131 | pack, as they are never quite what any single installation would prefer, | |
132 | and this would make packs more portable. | |
133 | .PP | |
134 | Dumps to the swap area on system crashes are not implemented. | |
135 | .PP | |
136 | Booting via block zero is not (and will not be) supported. The ``boot'' | |
137 | program must be loaded from the console storage device. | |
138 | .PP | |
139 | Although the device supports unit numbers up to 255, the driver only | |
140 | supports unit numbers up to 7. |