date and time created 86/02/17 17:59:27 by sklower
[unix-history] / usr / src / share / man / man4 / man4.vax / uda.4
CommitLineData
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 10uda \- 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
16This is a driver for the DEC UDA-50 disk controller.
17The UDA-50 communicates with the host through a packet
18oriented protocol termed the Mass Storage Control Protocol (MSCP).
19Consult the file
20.RI < vax/mscp.h >
21for a detailed description of this protocol.
6d5259d5
KM
22.PP
23Files with minor device numbers 0 through 7 refer to various portions
24of drive 0;
25minor devices 8 through 15 refer to drive 1, etc.
26The standard device names begin with ``ra'' followed by
27the drive number and then a letter a-h for partitions 0-7 respectively.
28The character ? stands here for a drive number in the range 0-7.
29.PP
6d5259d5
KM
30The block files access the disk via the system's normal
31buffering mechanism and may be read and written without regard to
32physical disk records. There is also a `raw' interface
33which provides for direct transmission between the disk
34and the user's read or write buffer.
35A single read or write call results in exactly one I/O operation
36and therefore raw I/O is considerably more efficient when
37many words are transmitted. The names of the raw files
38conventionally begin with an extra `r.'
39.PP
40In raw I/O counts should be a multiple of 512 bytes (a disk sector).
41Likewise
42.I seek
43calls should specify a multiple of 512 bytes.
7e487c18
KM
44.SH "DISK SUPPORT"
45This driver handles all drives which may be connected to the
46UDA-50. Drive types per se are not recognized, but rather
47the variable length partitions are defined as having an
48``infinite'' length and the controller is relied on to return
49an error when an inaccessible block is requested. For
50constructing file systems, however the partitions sizes are
51required.
52The origin and size (in sectors) of the pseudo-disks
53on each drive are shown below. Partitions are not rounded
54to cylinder boundaries, as on other drives, because the type
55of drive attached to the controller is discovered too late
56in the autoconfiguration process to maintain separate partition
57tables for each drive. (The lack of proper drive
58type recognition would be more easily dealt with if the partition
59tables 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
64RA60 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
72RA80 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
80RA81 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
93The ra?a partition is normally used for the root file system,
94the ra?b partition as a paging area,
95and 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.)
103When allocating UNIBUS resources, the driver found it already
104had resources previously allocated. This indicates a bug in
105the driver.
106.PP
107.BR "udasa %o, state %d" .
108(Additional status information given after a hard i/o error.)
109The values of the UDA-50 status register and the internal
110driver state are printed.
111.PP
112.BR "uda%d: random interrupt ignored" .
113An unexpected interrupt was received (e.g. when no i/o was
114pending). The interrupt is ignored.
115.PP
116.BR "uda%d: interrupt in unknown state %d ignored" .
117An interrupt was received when the driver was in an unknown
118internal state. Indicates a hardware problem or a driver bug.
119.PP
120.BR "uda%d: fatal error (%o)" .
121The UDA-50 indicated a ``fatal error'' in the status returned
122to 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.)
126A 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.)
130The status information returned from the UDA-50 is tacked onto
131the end of the hard error message printed on the console.
132.PP
133.BR "uda: unknown packet" .
134An MSCP packet of unknown type was received from the UDA-50.
135Check the cabling to the controller.
136.PP
137The following errors are interpretations of MSCP error messages
138returned 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
152The partition tables are so poorly laid out that they almost
153certainly force each site to tailor them to their individual
154needs. The problem is even worse when a site has a mixed collection
155of drives. The best solution would be to read the partition tables
156off the drive.