RD(4) Kernel Interfaces Manual (HP300) RD(4)
NAME
rdCS/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.