hp
—
MASSBUS disk interface
hp0 at mba0 drive 0
hp* at mba? drive ?
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.
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.
- /dev/hp[0-7][a-h]
- block files
- /dev/rhp[0-7][a-h]
- raw files
- 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.
The hp
driver appeared in
4.0BSD.
A new hp
driver showed up in
NetBSD 1.2.
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.