RD(4)                 OpenBSD Programmer's Manual (HP300)                RD(4)

NAME
     hd - CS/80 disk interface

SYNOPSIS
     hd* at hpibbus? slave ? punit ?

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 ta-
     bles to the driver.  It is a typical block-device driver; see physio(4).

     The script MAKEDEV(8) should be used to create the hd special files; con-
     sult mknod(8) if a special file needs to be made manually.

DISK SUPPORT
     The driver interrogates the controller to determine the type of drive at-
     tached.  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 `hd' and `rhd' for the block and character files respectively.
     The second component of the name, a drive unit number in the range of ze-
     ro 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
               hd?a     112          15904     1-142
               hd?b     16016        20160     143-322
               hd?c     0            108416    0-967
               hd?d     16016        40320     143-502
               hd?e     undefined
               hd?f     undefined
               hd?g     36176        72240     323-967
               hd?h     56336        52080     503-967

     9134D partitions:
     disk      start    length       cyls
               hd?a     96           15936     1-166
               hd?b     16032        13056     167-302
               hd?c     0            29088     0-302
               hd?d     undefined
               hd?e     undefined
               hd?f     undefined
               hd?g     undefined
               hd?h     undefined

     9122S partitions:
     disk      start    length       cyls
               hd?a     undefined
               hd?b     undefined
               hd?c     0            1232      0-76
               hd?d     undefined
               hd?e     undefined
               hd?f     undefined
               hd?g     undefined
               hd?h     undefined

     7912P partitions:
     disk      start    length       cyls
               hd?a     0            15904     0-70
               hd?b     16128        22400     72-171
               hd?c     0            128128    0-571
               hd?d     16128        42560     72-261
               hd?e     undefined
               hd?f     undefined
               hd?g     38528        89600     172-571
               hd?h     58688        69440     262-571

     7914CT/P partitions:
     disk      start    length       cyls
               hd?a     224          15904     1-71
               hd?b     16128        40320     72-251
               hd?c     0            258048    0-1151
               hd?d     16128        64960     72-361
               hd?e     81088        98560     362-801
               hd?f     179648       78400     802-1151
               hd?g     56448        201600    252-1151
               hd?h     81088        176960    362-1151

     7958A partitions:
     disk      start    length       cyls
               hd?a     252          16128     1-64
               hd?b     16380        32256     65-192
               hd?c     0            255276    0-1012
               hd?d     16380        48384     65-256
               hd?e     64764        100800    257-656
               hd?f     165564       89712     657-1012
               hd?g     48636        206640    193-1012
               hd?h     64764        190512    257-1012

     7957A partitions:
     disk      start    length       cyls
               hd?a     154          16016     1-104
               hd?b     16170        24640     105-264
               hd?c     0            159544    0-1035
               hd?d     16170        42350     105-379
               hd?e     58520        54824     380-735
               hd?f     113344       46200     736-1035
               hd?g     40810        118734    265-1035
               hd?h     58520        101024    380-1035

     7933H partitions:
     disk      start    length       cyls
               hd?a     598          16146     1-27
               hd?b     16744        66976     28-139
               hd?c     0            789958    0-1320
               hd?d     83720        16146     140-166
               hd?e     99866        165646    167-443
               hd?f     265512       165646    444-720
               hd?g     83720        706238    140-1320
               hd?h     431158       358800    721-1320

     9134L partitions:
     disk      start    length       cyls
               hd?a     80           15920     1-199
               hd?b     16000        20000     200-449
               hd?c     0            77840     0-972
               hd?d     16000        32000     200-599
               hd?e     undefined
               hd?f     undefined
               hd?g     36000        41840     450-972
               hd?h     48000        29840     600-972

     7936H partitions:
     disk      start    length       cyls
               hd?a     861          16359     1-19
               hd?b     17220        67158     20-97
               hd?c     0            600978    0-697
               hd?d     84378        16359     98-116
               hd?e     100737       120540    117-256
               hd?f     220416       120540    256-395
               hd?g     84378        516600    98-697
               hd?h     341817       259161    397-697

     7937H partitions:
     disk      start    length       cyls
               hd?a     1599         15990     1-10
               hd?b     17589        67158     11-52
               hd?c     0            1116102   0-697
               hd?d     84747        15990     53-62
               hd?e     100737       246246    63-216
               hd?f     346983       246246    217-370
               hd?g     84747        1031355   53-697
               hd?h     593229       522873    371-697

     7957B/7961B partitions:
     disk      start    length       cyls
               hd?a     126          16002     1-127
               hd?b     16128        32760     128-387
               hd?c     0            159894    0-1268
               hd?d     16128        49140     128-517
               hd?e     65268        50400     518-917
               hd?f     115668       44226     918-1268
               hd?g     48888        111006    388-1268
               hd?h     65268        94626     518-1268

     7958B/7962B partitions:
     disk      start    length       cyls
               hd?a     378          16254     1-43
               hd?b     16632        32886     44-130
               hd?c     0            297108    0-785
               hd?d     16632        49140     44-173
               hd?e     65772        121716    174-495
               hd?f     187488       109620    496-785
               hd?g     49518        247590    131-785
               hd?h     65772        231336    174-785

     7959B/7963B partitions:
     disk      start    length       cyls
               hd?a     378          16254     1-43
               hd?b     16632        49140     44-173
               hd?c     0            594216    0-1571
               hd?d     16632        65772     44-217
               hd?e     82404        303912    218-1021
               hd?f     386316       207900    1022-1571
               hd?g     65772        528444    174-1571
               hd?h     82404        511812    218-1571

     The eight partitions as given support four basic, non-overlapping lay-
     outs, 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 stan-
     dalone disk boot program.  The hd?a partition is for the root file sys-
     tem, hd?b is a paging/swapping area, and hd?g is for everything else.

     The second layout is the same idea, but has a larger paging/swapping par-
     tition (hd?d) and a smaller ``everything else'' partition (hd?h). This
     layout is better for environments which run many large processes.

     The third layout is a variation of the second, but breaks the hd?h parti-
     tion into two partitions, hd?e and hd?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/hd[0-7][a-h]   block files
     /dev/rhd[0-7][a-h]  raw files

DIAGNOSTICS
     hd%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 speci-
     fied 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 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.

OpenBSD 2.9                      June 9, 1993                                4
