NAME
rd —
CS/80 disk interface
SYNOPSIS
rd* at hpibbus? slave?
DESCRIPTION
This is a generic CS/80 disk driver. Only a small number of possible CS/80
drives are supported, but others can easily be added by adding tables to the
driver. It is a typical block-device driver; see
physio(4).
The script
MAKEDEV(8) should
be used to create the
rd special files; consult
mknod(8) if a special file
needs to be made manually.
DISK SUPPORT
The driver interrogates the controller to determine the type of drive attached.
The driver recognizes the following drives: 7912, 7914, 7933, 7936, 7937,
7945, 757A/B, 7958A/B, 7959B, 7962, 7963, 9122, 9134, 7912, 7936, and 9122,
not all of which have been tested. Special file names begin with
‘
rd
’ and
‘
rrd
’ 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 is the file system partition and is designated by a
letter from ‘
a
’ to
‘
h
’ which also corresponds to a minor
device number sets: 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 sectors) of the partitions for these drives:
- 7945/7946 partitions:
-
disk |
start |
length |
cyls |
rd?a |
112 |
15904 |
1-142 |
rd?b |
16016 |
20160 |
143-322 |
rd?c |
0 |
108416 |
0-967 |
rd?d |
16016 |
40320 |
143-502 |
rd?e |
undefined |
|
|
rd?f |
undefined |
|
|
rd?g |
36176 |
72240 |
323-967 |
rd?h |
56336 |
52080 |
503-967 |
- 9134D partitions:
-
disk |
start |
length |
cyls |
rd?a |
96 |
15936 |
1-166 |
rd?b |
16032 |
13056 |
167-302 |
rd?c |
0 |
29088 |
0-302 |
rd?d |
undefined |
|
|
rd?e |
undefined |
|
|
rd?f |
undefined |
|
|
rd?g |
undefined |
|
|
rd?h |
undefined |
|
|
- 9122S partitions:
-
disk |
start |
length |
cyls |
rd?a |
undefined |
|
|
rd?b |
undefined |
|
|
rd?c |
0 |
1232 |
0-76 |
rd?d |
undefined |
|
|
rd?e |
undefined |
|
|
rd?f |
undefined |
|
|
rd?g |
undefined |
|
|
rd?h |
undefined |
|
|
- 7912P partitions:
-
disk |
start |
length |
cyls |
rd?a |
0 |
15904 |
0-70 |
rd?b |
16128 |
22400 |
72-171 |
rd?c |
0 |
128128 |
0-571 |
rd?d |
16128 |
42560 |
72-261 |
rd?e |
undefined |
|
|
rd?f |
undefined |
|
|
rd?g |
38528 |
89600 |
172-571 |
rd?h |
58688 |
69440 |
262-571 |
- 7914CT/P partitions:
-
disk |
start |
length |
cyls |
rd?a |
224 |
15904 |
1-71 |
rd?b |
16128 |
40320 |
72-251 |
rd?c |
0 |
258048 |
0-1151 |
rd?d |
16128 |
64960 |
72-361 |
rd?e |
81088 |
98560 |
362-801 |
rd?f |
179648 |
78400 |
802-1151 |
rd?g |
56448 |
201600 |
252-1151 |
rd?h |
81088 |
176960 |
362-1151 |
- 7958A partitions:
-
disk |
start |
length |
cyls |
rd?a |
252 |
16128 |
1-64 |
rd?b |
16380 |
32256 |
65-192 |
rd?c |
0 |
255276 |
0-1012 |
rd?d |
16380 |
48384 |
65-256 |
rd?e |
64764 |
100800 |
257-656 |
rd?f |
165564 |
89712 |
657-1012 |
rd?g |
48636 |
206640 |
193-1012 |
rd?h |
64764 |
190512 |
257-1012 |
- 7957A partitions:
-
disk |
start |
length |
cyls |
rd?a |
154 |
16016 |
1-104 |
rd?b |
16170 |
24640 |
105-264 |
rd?c |
0 |
159544 |
0-1035 |
rd?d |
16170 |
42350 |
105-379 |
rd?e |
58520 |
54824 |
380-735 |
rd?f |
113344 |
46200 |
736-1035 |
rd?g |
40810 |
118734 |
265-1035 |
rd?h |
58520 |
101024 |
380-1035 |
- 7933H partitions:
-
disk |
start |
length |
cyls |
rd?a |
598 |
16146 |
1-27 |
rd?b |
16744 |
66976 |
28-139 |
rd?c |
0 |
789958 |
0-1320 |
rd?d |
83720 |
16146 |
140-166 |
rd?e |
99866 |
165646 |
167-443 |
rd?f |
265512 |
165646 |
444-720 |
rd?g |
83720 |
706238 |
140-1320 |
rd?h |
431158 |
358800 |
721-1320 |
- 9134L partitions:
-
disk |
start |
length |
cyls |
rd?a |
80 |
15920 |
1-199 |
rd?b |
16000 |
20000 |
200-449 |
rd?c |
0 |
77840 |
0-972 |
rd?d |
16000 |
32000 |
200-599 |
rd?e |
undefined |
|
|
rd?f |
undefined |
|
|
rd?g |
36000 |
41840 |
450-972 |
rd?h |
48000 |
29840 |
600-972 |
- 7936H partitions:
-
disk |
start |
length |
cyls |
rd?a |
861 |
16359 |
1-19 |
rd?b |
17220 |
67158 |
20-97 |
rd?c |
0 |
600978 |
0-697 |
rd?d |
84378 |
16359 |
98-116 |
rd?e |
100737 |
120540 |
117-256 |
rd?f |
220416 |
120540 |
256-395 |
rd?g |
84378 |
516600 |
98-697 |
rd?h |
341817 |
259161 |
397-697 |
- 7937H partitions:
-
disk |
start |
length |
cyls |
rd?a |
1599 |
15990 |
1-10 |
rd?b |
17589 |
67158 |
11-52 |
rd?c |
0 |
1116102 |
0-697 |
rd?d |
84747 |
15990 |
53-62 |
rd?e |
100737 |
246246 |
63-216 |
rd?f |
346983 |
246246 |
217-370 |
rd?g |
84747 |
1031355 |
53-697 |
rd?h |
593229 |
522873 |
371-697 |
- 7957B/7961B partitions:
-
disk |
start |
length |
cyls |
rd?a |
126 |
16002 |
1-127 |
rd?b |
16128 |
32760 |
128-387 |
rd?c |
0 |
159894 |
0-1268 |
rd?d |
16128 |
49140 |
128-517 |
rd?e |
65268 |
50400 |
518-917 |
rd?f |
115668 |
44226 |
918-1268 |
rd?g |
48888 |
111006 |
388-1268 |
rd?h |
65268 |
94626 |
518-1268 |
- 7958B/7962B partitions:
-
disk |
start |
length |
cyls |
rd?a |
378 |
16254 |
1-43 |
rd?b |
16632 |
32886 |
44-130 |
rd?c |
0 |
297108 |
0-785 |
rd?d |
16632 |
49140 |
44-173 |
rd?e |
65772 |
121716 |
174-495 |
rd?f |
187488 |
109620 |
496-785 |
rd?g |
49518 |
247590 |
131-785 |
rd?h |
65772 |
231336 |
174-785 |
- 7959B/7963B partitions:
-
disk |
start |
length |
cyls |
rd?a |
378 |
16254 |
1-43 |
rd?b |
16632 |
49140 |
44-173 |
rd?c |
0 |
594216 |
0-1571 |
rd?d |
16632 |
65772 |
44-217 |
rd?e |
82404 |
303912 |
218-1021 |
rd?f |
386316 |
207900 |
1022-1571 |
rd?g |
65772 |
528444 |
174-1571 |
rd?h |
82404 |
511812 |
218-1571 |
The eight partitions as given support four basic, non-overlapping layouts,
though not all partitions exist on all drive types.
In the first layout there are three partitions and a ``bootblock'' area. The
bootblock area is at the beginning of the disk and holds the standalone disk
boot program. The
rd?a partition is for the root file
system,
rd?b is a paging/swapping area, and
rd?g is for everything else.
The second layout is the same idea, but has a larger paging/swapping partition
(
rd?d) and a smaller ``everything else'' partition
(
rd?h). This layout is better for environments which run
many large processes.
The third layout is a variation of the second, but breaks the
rd?h partition into two partitions,
rd?e
and
rd?f.
The final layout is intended for a large, single file system second disk. It is
also used when writing out the boot program since it is the only partition
mapping the bootblock area.
FILES
- /dev/rd[0-7][a-h]
- block files
- /dev/rrd[0-7][a-h]
- raw files
DIAGNOSTICS
- rd%d err: v%d u%d, R0x%x F0x%x A0x%x
I0x%x, block %d
- An unrecoverable data error occurred during transfer of
the specified block on the specified disk.
BUGS
The current disk partitioning is totally bogus. CS/80 drives have 256 byte
sectors which are mapped to 512 byte ``sectors'' by the driver. Since some
CS/80 drives have an odd number of sectors per cylinder, the disk geometry
used is not always accurate.
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.
A program to analyze the logged error information (even in its present reduced
form) is needed.