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 | .\" | |
8cd3c400 | 5 | .\" @(#)uda.4 6.1 (Berkeley) %G% |
6d5259d5 | 6 | .\" |
8cd3c400 | 7 | .TH UDA 4 "" |
6d5259d5 KM |
8 | .UC 4 |
9 | .SH NAME | |
7e487c18 | 10 | uda \- UDA-50 disk controller interface |
6d5259d5 | 11 | .SH SYNOPSIS |
7e487c18 | 12 | .B "controller uda0 at uba0 csr 0172150 vector udaintr" |
6d5259d5 | 13 | .br |
7e487c18 | 14 | .B "disk ra0 at uda0 drive 0" |
6d5259d5 | 15 | .SH DESCRIPTION |
7e487c18 KM |
16 | This is a driver for the DEC UDA-50 disk controller. |
17 | The UDA-50 communicates with the host through a packet | |
18 | oriented protocol termed the Mass Storage Control Protocol (MSCP). | |
19 | Consult the file | |
20 | .RI < vax/mscp.h > | |
21 | for a detailed description of this protocol. | |
6d5259d5 KM |
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 ``ra'' 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 | |
6d5259d5 KM |
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. | |
7e487c18 KM |
44 | .SH "DISK SUPPORT" |
45 | This driver handles all drives which may be connected to the | |
46 | UDA-50. Drive types per se are not recognized, but rather | |
47 | the variable length partitions are defined as having an | |
48 | ``infinite'' length and the controller is relied on to return | |
49 | an error when an inaccessible block is requested. For | |
50 | constructing file systems, however the partitions sizes are | |
51 | required. | |
52 | The origin and size (in sectors) of the pseudo-disks | |
53 | on each drive are shown below. Partitions are not rounded | |
54 | to cylinder boundaries, as on other drives, because the type | |
55 | of drive attached to the controller is discovered too late | |
56 | in the autoconfiguration process to maintain separate partition | |
57 | tables for each drive. (The lack of proper drive | |
58 | type recognition would be more easily dealt with if the partition | |
59 | tables were read off the drive.) | |
60 | .PP | |
61 | .nf | |
62 | .ta .5i +\w'000000 'u +\w'000000 'u +\w'000000 'u +\w'000000 'u | |
63 | .PP | |
64 | RA60 partitions | |
65 | disk start length | |
66 | ra?a 0 15884 | |
67 | ra?b 15884 33440 | |
68 | ra?c 0 400176 | |
69 | ra?g 49324 82080 | |
70 | ra?h 131404 268772 | |
71 | .PP | |
72 | RA80 partitions | |
73 | disk start length | |
74 | ra?a 0 15884 | |
75 | ra?b 15884 33440 | |
76 | ra?c 0 242606 | |
77 | ra?g 49324 82080 | |
78 | ra?h 131404 111202 | |
79 | .PP | |
80 | RA81 partitions | |
81 | disk start length | |
82 | ra?a 0 15884 | |
83 | ra?b 15884 33440 | |
84 | ra?c 0 891072 | |
85 | ra?d 340670 15884 | |
86 | ra?e 356554 55936 | |
87 | ra?f 412490 478582 | |
88 | ra?g 49324 82080 | |
89 | ra?h 131404 759668 | |
90 | .DT | |
91 | .fi | |
92 | .PP | |
93 | The ra?a partition is normally used for the root file system, | |
94 | the ra?b partition as a paging area, | |
95 | and the ra?c partition for pack-pack copying (it maps the entire disk). | |
6d5259d5 | 96 | .SH FILES |
7e487c18 | 97 | /dev/ra[0-9][a-f] |
6d5259d5 | 98 | .br |
7e487c18 | 99 | /dev/rra[0-9][a-f] |
6d5259d5 | 100 | .SH DIAGNOSTICS |
7e487c18 KM |
101 | .BR "uda: ubinfo %x" . |
102 | (VAX 11/750 only.) | |
103 | When allocating UNIBUS resources, the driver found it already | |
104 | had resources previously allocated. This indicates a bug in | |
105 | the driver. | |
106 | .PP | |
107 | .BR "udasa %o, state %d" . | |
108 | (Additional status information given after a hard i/o error.) | |
109 | The values of the UDA-50 status register and the internal | |
110 | driver state are printed. | |
111 | .PP | |
112 | .BR "uda%d: random interrupt ignored" . | |
113 | An unexpected interrupt was received (e.g. when no i/o was | |
114 | pending). The interrupt is ignored. | |
115 | .PP | |
116 | .BR "uda%d: interrupt in unknown state %d ignored" . | |
117 | An interrupt was received when the driver was in an unknown | |
118 | internal state. Indicates a hardware problem or a driver bug. | |
119 | .PP | |
120 | .BR "uda%d: fatal error (%o)" . | |
121 | The UDA-50 indicated a ``fatal error'' in the status returned | |
122 | to the host. The contents of the status register are displayed. | |
123 | .PP | |
124 | .BR OFFLINE . | |
125 | (Additional status information given after a hard i/o error.) | |
126 | A hard i/o error occurred because the drive was not on-line. | |
127 | .PP | |
128 | .BR "status %o" . | |
129 | (Additional status information given after a hard i/o error.) | |
130 | The status information returned from the UDA-50 is tacked onto | |
131 | the end of the hard error message printed on the console. | |
132 | .PP | |
133 | .BR "uda: unknown packet" . | |
134 | An MSCP packet of unknown type was received from the UDA-50. | |
135 | Check the cabling to the controller. | |
136 | .PP | |
137 | The following errors are interpretations of MSCP error messages | |
138 | returned by the UDA-50 to the host. | |
139 | .PP | |
140 | .BR "uda%d: %s error, controller error, event 0%o" . | |
141 | .PP | |
142 | .BR "uda%d: %s error, host memory access error, event 0%o, addr 0%o" . | |
143 | .PP | |
144 | .BR "uda%d: %s error, disk transfer error, unit %d" . | |
145 | .PP | |
146 | .BR "uda%d: %s error, SDI error, unit %d, event 0%o" . | |
147 | .PP | |
148 | .BR "uda%d: %s error, small disk error, unit %d, event 0%o, cyl %d" . | |
149 | .PP | |
150 | .BR "uda%d: %s error, unknown error, unit %d, format 0%o, event 0%o" . | |
6d5259d5 | 151 | .SH BUGS |
7e487c18 KM |
152 | The partition tables are so poorly laid out that they almost |
153 | certainly force each site to tailor them to their individual | |
154 | needs. The problem is even worse when a site has a mixed collection | |
155 | of drives. The best solution would be to read the partition tables | |
156 | off the drive. |