HP(4)                  OpenBSD Programmer's Manual (VAX)                 HP(4)

NAME
     hp - MASSBUS disk interface

SYNOPSIS
     hp* at mba?

DESCRIPTION
     The hp driver is a generic MASSBUS disk driver which handles the standard
     DEC controllers.  It is typical of a block-device disk driver; block I/O
     is described in physio(9).

     The script MAKEDEV(8) should be used to create the special files; if a
     special file needs to be created by hand, consult mknod(8).  It is recom-
     mended as a security precaution to not create special files for devices
     which may never be installed.

     The first sector of each disk contains both a first-stage bootstrap pro-
     gram and a disk label containing geometry information and partition lay-
     outs (see disklabel(5)).  This sector is normally write-protected, and
     disk-to-disk copies should avoid copying this sector.  The label may be
     updated with disklabel(8), which can also be used to write-enable and
     write-disable the sector.  The next 15 sectors contain a second-stage
     bootstrap program.

DISK SUPPORT
     During autoconfiguration or whenever a drive comes on line for the first
     time, or when a drive is opened after all partitions are closed, the
     first sector of the drive is examined for a disk label.  If a label is
     found, the geometry of the drive and the partition tables are taken from
     it.  If no label is found, a fake label is created by the driver, enough
     so that a real label can be written.

     The hp?a partition is normally used for the root file system, the hp?b
     partition as a paging area, and the hp?c partition for pack-pack copying
     (it maps the entire disk).  On disks larger than about 205 Megabytes, the
     hp?h partition is inserted prior to the hp?d or hp?g partition; the hp?g
     partition then maps the remainder of the pack.

FILES
     /dev/hp[0-7][a-p]   block files
     /dev/rhp[0-7][a-p]  raw files

DIAGNOSTICS
     hp%d%c: hard error %sing fsbn %d [of %d-%d] (hp%d bn %d cn %d tn %d sn
     %d) mbsr=%b er1=%b er2=%b.  An unrecoverable error occurred during trans-
     fer of the specified filesystem block number, which is a logical block
     number on the indicated partition.  If the transfer involved multiple
     blocks, the block range is printed as well.  The parenthesized fields
     list the actual disk sector number relative to the beginning of the
     drive, as well as the cylinder, track and sector number of the block.
     The MASSBUS status register is printed in hexadecimal and with the error
     bits decoded if any error bits other than MBEXC and DTABT are set.  In
     any case the contents of the two error registers are also printed in oc-
     tal and symbolically with bits decoded.  (Note that er2 is what old RP06
     manuals would call RPER3; the terminology is that of the RM disks).  The
     error was either unrecoverable, or a large number of retry attempts (in-
     cluding offset positioning and drive recalibration) could not recover the
     error.

     hp%d%c: soft ecc reading fsbn %d [of %d-%d] (hp%d bn %d cn %d tn %d sn
     %d).  A recoverable ECC error occurred on the specified sector of the
     specified disk partition.  If the transfer involved multiple blocks, the
     block range is printed as well.  The parenthesized fields list the actual
     disk sector number relative to the beginning of the drive, as well as the
     cylinder, track and sector number of the block.  This happens normally a
     few times a week.  If it happens more frequently than this the sectors
     where the errors are occurring should be checked to see if certain cylin-
     ders on the pack, spots on the carriage of the drive or heads are indi-
     cated.

SEE ALSO
     intro(4), disklabel(5), disklabel(8)

HISTORY
     The hp driver appeared in 4.0BSD.  A new hp driver showed up in
     NetBSD 1.1A.

BUGS
     DEC-standard bad144 bad-block handling should be used.

     DEC-standard error logging should be supported.

     A program to analyze the logged error information (even in its present
     reduced form) is needed.

OpenBSD 4.7                      May 31, 2007                                2
