-.\" Copyright (c) 1980 Regents of the University of California.
-.\" All rights reserved. The Berkeley software License Agreement
-.\" specifies the terms and conditions for redistribution.
+.\" Copyright (c) 1980, 1991 Regents of the University of California.
+.\" All rights reserved.
.\"
-.\" @(#)hk.4 6.3 (Berkeley) 6/13/88
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
.\"
-.TH HK 4 "June 13, 1988"
-.UC 4
-.SH NAME
-hk \- RK6-11/RK06 and RK07 moving head disk
-.SH SYNOPSIS
-.B "controller hk0 at uba? csr 0177440 vector rkintr"
-.br
-.B "disk rk0 at hk0 drive 0"
-.SH DESCRIPTION
-Files with minor device numbers 0 through 7 refer to various portions
-of drive 0;
-minor devices 8 through 15 refer to drive 1, etc.
-The standard device names begin with ``hk'' followed by
-the drive number and then a letter a-h for partitions 0-7 respectively.
-The character ? stands here for a drive number in the range 0-7.
-.PP
-The block files access the disk via the system's normal
-buffering mechanism and may be read and written without regard to
-physical disk records. There is also a `raw' interface
-which provides for direct transmission between the disk
-and the user's read or write buffer.
-A single read or write call results in exactly one I/O operation
-and therefore raw I/O is considerably more efficient when
-many words are transmitted. The names of the raw files
-conventionally begin with an extra `r.'
-.PP
-In raw I/O counts should be a multiple of 512 bytes (a disk sector).
-Likewise
-.I seek
-calls should specify a multiple of 512 bytes.
-.SH "DISK SUPPORT"
-The origin and size (in sectors) of the
-pseudo-disks on each drive are as follows:
-.PP
-.nf
-.ta .5i +\w'000000 'u +\w'000000 'u +\w'000000 'u
-RK07 partitions:
- disk start length cyl
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)hk.4 6.4 (Berkeley) 3/27/91
+.\"
+.Dd March 27, 1991
+.Dt HK 4
+.Os BSD 4
+.Sh NAME
+.Nm hk
+.Nd
+.Tn RK6-11 Ns / Tn RK06
+and
+.Tn RK07
+disk interface
+.Sh SYNOPSIS
+.Cd "controller hk0 at uba? csr 0177440 vector rkintr"
+.Cd "disk rk0 at hk0 drive 0"
+.Sh DESCRIPTION
+The
+.Nm hk
+driver
+is a typical block-device disk driver; block device
+.Tn I/O
+is
+described in
+.Xr physio 4 .
+.Pp
+The script
+.Xr MAKEDEV 8
+should be used to create the special files; if a special file
+needs to be created by hand consult
+.Xr mknod 8 .
+.Sh DISK SUPPORT
+Special file names begin with
+.Sq Li hk
+and
+.Sq Li rhk
+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
+.Sq Li ?
+in the disk layouts below. The last component is the file system partition
+which is designated
+by a letter from
+.Sq Li a
+to
+.Sq Li h .
+and
+corresponds to a minor device number set: zero to seven,
+eight to 15, 16 to 23 and so forth for drive zero, drive two and drive
+three respectively.
+The location and size (in sectors) of the
+partitions for the
+.Tn RK06
+and
+.Tn RK07
+drives are as follows:
+.Bl -column header diskx undefined length
+.Tn RK07 No partitions:
+.Sy disk start length cyl
hk?a 0 15884 0-240
hk?b 15906 10032 241-392
hk?c 0 53790 0-814
hk?d 25938 15884 393-633
hk?f 41844 11792 634-814
hk?g 25938 27786 393-813
-.PP
-RK06 partitions
- disk start length cyl
+
+.Tn RK06 No partitions
+.Sy disk start length cyl
hk?a 0 15884 0-240
hk?b 15906 11154 241-409
hk?c 0 27126 0-410
-.DT
-.fi
-.PP
-On a dual RK-07 system
+.El
+.Pp
+On a dual
+.Tn RK-07
+system
partition hk?a is used
for the root for one drive
and partition hk?g for the /usr file system.
Otherwise
partition hk?c on the other drive
is used as a single large file system.
-.SH FILES
-/dev/hk[0-7][a-h] block files
-.br
-/dev/rhk[0-7][a-h] raw files
-.SH SEE ALSO
-hp(4),
-uda(4),
-up(4),
-syslogd(8)
-.SH DIAGNOSTICS
-\fBhk%d%c: hard error %sing fsbn %d[-%d] cs2=%b ds=%b er=%b\fR.
+.Sh FILES
+.Bl -tag -width /dev/rhk[0-7][a-h] -compact
+.It Pa /dev/hk[0-7][a-h]
+block files
+.It Pa /dev/rhk[0-7][a-h]
+raw files
+.El
+.Sh DIAGNOSTICS
+.Bl -diag
+.It "hk%d%c: hard error %sing fsbn %d[-%d] cs2=%b ds=%b er=%b."
An unrecoverable error occurred during transfer of the specified
filesystem block number(s),
which are logical block numbers on the indicated partition.
The error was either unrecoverable, or a large number of retry attempts
(including offset positioning and drive recalibration) could not
recover the error.
-.PP
-\fBrk%d: write locked\fR. The write protect switch was set on the drive
+.Pp
+.It rk%d: write locked.
+The write protect switch was set on the drive
when a write was attempted. The write operation is not recoverable.
-.PP
-\fBrk%d: not ready\fR. The drive was spun down or off line when it was
+.Pp
+.It rk%d: not ready.
+The drive was spun down or off line when it was
accessed. The i/o operation is not recoverable.
-.PP
-\fBrk%d: not ready (came back!)\fR. The drive was not ready, but after
+.Pp
+.It rk%d: not ready (came back!).
+The drive was not ready, but after
printing the message about being not ready (which takes a fraction
of a second) was ready. The operation is recovered if no further
errors occur.
-.PP
-\fBup%d%c: soft ecc reading fsbn %d[-%d]\fP.
-A recoverable ECC error occurred on the
+.Pp
+.It rk%d%c: soft ecc reading fsbn %d[-%d].
+A recoverable
+.Tn ECC
+error occurred on the
specified sector(s) in the specified disk partition.
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.
-.PP
-\fBhk%d: lost interrupt\fR. A timer watching the controller detected
+.Pp
+.It hk%d: lost interrupt.
+A timer watching the controller detected
no interrupt for an extended period while an operation was outstanding.
This indicates a hardware or software failure. There is currently a
hardware/software problem with spinning down drives while they are
being accessed which causes this error to occur.
-The error causes a UNIBUS reset, and retry of the pending operations.
+The error causes a
+.Tn UNIBUS
+reset, and retry of the pending operations.
If the controller continues to lose interrupts, this error will recur
a few seconds later.
-.SH BUGS
-In raw I/O
-.I read
-and
-.IR write (2)
-truncate file offsets to 512-byte block boundaries,
-and
-.I write
+.El
+.Sh SEE ALSO
+.Xr hp 4 ,
+.Xr uda 4 ,
+.Xr up 4 ,
+.Xr syslogd 8
+.Sh HISTORY
+The
+.Nm
+driver appeared in
+.Bx 4.1 .
+.Sh BUGS
+The
+.Xr write
+function
scribbles on the tail of incomplete blocks.
-Thus,
-in programs that are likely to access raw devices,
-.I read, write
-and
-.IR lseek (2)
-should always deal in 512-byte multiples.
-.PP
-DEC-standard error logging should be supported.
-.PP
+.Pp
+.Tn DEC Ns -standard
+error logging should be supported.
+.Pp
A program to analyze the logged error information (even in its
present reduced form) is needed.
-.PP
+.Pp
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.
-.PP
-The rk07 g partition size in rk.c disagrees with that in /etc/disktab.
+.Pp
+The
+.Tn RK07
+g partition size in rk.c disagrees with that in
+.Pa /etc/disktab.