HP(4)

NAME
hp - MASSBUS disk interface

SYNOPSIS
hp0 at mba0 drive 0
hp* at mba? drive ?

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(4).

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 recommended 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 program and a disk label containing geometry information and partition layouts (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-h]
    block files
/dev/rhp[0-7][a-h]
    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 transfer 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 octal 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 (including 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 cylinders on the pack, spots on the carriage of the drive or heads are indicated.

SEE ALSO
physio(4), up(4), disklabel(5), MAKEDEV(8), disklabel(8), mknod(8)

HISTORY
The hp driver appeared in 4.0BSD.

A new hp driver showed up in NetBSD 1.2.

BUGS
DEC-standard bad144(8) 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.