summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordg <dg@FreeBSD.org>1995-01-25 09:18:56 +0000
committerdg <dg@FreeBSD.org>1995-01-25 09:18:56 +0000
commit2871de848d7f8b3dcc6fbba6a080a04e86479e02 (patch)
tree3e44c2eda318f56905393229154d72bc013e0ed5
parent2c76088f4621ddf401de9d8cecde525a86de9fbc (diff)
downloadFreeBSD-src-2871de848d7f8b3dcc6fbba6a080a04e86479e02.zip
FreeBSD-src-2871de848d7f8b3dcc6fbba6a080a04e86479e02.tar.gz
Added more missing manual pages from 1.1.5.
-rw-r--r--share/man/man4/Makefile7
-rw-r--r--share/man/man4/cd.4179
-rw-r--r--share/man/man4/ch.480
-rw-r--r--share/man/man4/da.4216
-rw-r--r--share/man/man4/ddb.4402
-rw-r--r--share/man/man4/sa.4308
-rw-r--r--share/man/man4/scsi.4117
-rw-r--r--share/man/man4/sd.4216
-rw-r--r--share/man/man4/st.4308
-rw-r--r--share/man/man4/su.457
-rw-r--r--share/man/man4/uk.460
11 files changed, 1947 insertions, 3 deletions
diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile
index b25a80d..010bfff 100644
--- a/share/man/man4/Makefile
+++ b/share/man/man4/Makefile
@@ -1,8 +1,9 @@
# @(#)Makefile 8.1 (Berkeley) 6/18/93
-MAN4= apm.4 bpf.4 clnp.4 cltp.4 drum.4 esis.4 fd.4 icmp.4 idp.4 inet.4 ip.4 \
- iso.4 lkm.4 lo.4 netintro.4 ns.4 nsip.4 null.4 pty.4 route.4 \
- spp.4 tcp.4 termios.4 tp.4 tty.4 udp.4 unix.4 yp.4
+MAN4= apm.4 bpf.4 cd.4 ch.4 clnp.4 cltp.4 ddb.4 drum.4 esis.4 fd.4 \
+ icmp.4 idp.4 inet.4 ip.4 iso.4 lkm.4 lo.4 netintro.4 ns.4 nsip.4 \
+ null.4 pty.4 route.4 scsi.4 sd.4 spp.4 st.4 su.4 tcp.4 termios.4 \
+ tp.4 tty.4 udp.4 uk.4 unix.4 yp.4
MLINKS+=fd.4 stderr.4 fd.4 stdin.4 fd.4 stdout.4
MLINKS+=netintro.4 networking.4
# XXX NOT IMPORTED: man4.hp300 man4.sparc man4.tahoe man4.vax
diff --git a/share/man/man4/cd.4 b/share/man/man4/cd.4
new file mode 100644
index 0000000..9b2bc71
--- /dev/null
+++ b/share/man/man4/cd.4
@@ -0,0 +1,179 @@
+.Dd August 27, 1993
+.Dt CD 4
+.Os FreeBSD
+.Sh NAME
+.Nm cd
+.Nd scsi cdrom driver
+.Sh SYNOPSIS
+.Nm device-driver cd
+.Op Ar count
+.Sh DESCRIPTION
+The
+.Xr cd
+driver provides support for a
+.Em scsi
+cdrom. It allows the cdrom
+to be divided up into a set of pseudo devices called
+.Em partitions.
+In an attempt to look like regular disks the
+.Nm
+driver synthesises a partition table, with one partition covering the entire
+cdrom. A user might (for some amazing reason) add another partition to the
+cdrom by using disklabel, but it will last only until the cdrom is unmounted.
+A Partition can have both a
+.Em raw
+interface
+and a
+.Em Block mode
+interface.
+In general the interfaces are similar to those described by
+.Xr wd 4
+or
+.Xr sd 4 .
+
+.Pp
+Where the
+.Xr wd 4
+device has a fairly low level interface to the system,
+.Em SCSI
+devices have a much higher level interface and talk to the system via
+a
+.Em SCSI Adapter
+and a
+.Em Scsi Adapter driver
+e.g.
+.Xr AHA1542 .
+A scsi adapter must also be separatly configured into the system
+before a scsi cdrom can be configured.
+.Pp
+As the scsi adapter is probed during boot, the
+.Em SCSI
+bus is scanned for devices. Any devices found which answer as 'Readonly'
+type devices will be 'attached' to the
+.Nm
+driver. The first found will be attached as
+.Em cd0
+and the next,
+.Em cd1
+etc.
+.Pp
+The system utility
+.Xr disklabel 1
+may be used to read the synthesized
+.Xr disklabel 5
+structure, which will contain correct figures for the size of the cdrom
+should that information be required.
+.Pp
+.Sh KERNEL CONFIGURATION
+Any number of cdroms may be attached to the system regardless of system
+configuration as all resources are dynamically allocated.
+
+.Pp
+.Sh IOCTLS
+The following
+.Xr ioctl 2
+calls apply to scsi cdroms
+in the header files
+.Em sys/cdio.h.
+and
+.Em sys/disklabel.h
+
+.Bl -tag -width CDIOCPLAYAUDIO____
+
+.It Dv DIOCGDINFO
+Read, from the kernel, the in-core copy of the disklabel for the
+drive. This will be a ficticious disklabel it will contain information
+read from the scsi inquiry commands, and should be the same as
+the information printed at boot.
+.It Dv DIOCSDINFO
+Give the driver a new disklabel to use. The driver will NOT try write the new
+disklabel to the disk. (ok?)
+.It CDIOCPLAYTRACKS
+Start Audio playback given a track address and length.
+.It CDIOCPLAYBLOCKS
+Start Audio playback given a block address and length.
+.It CDIOCPLAYMSF
+Start Audio playback given a 'Minutes/ seconds/ frames' address and length.
+.It CDIOCREADSUBCHANNEL
+Read information from the subchannel at the location specified.
+.It CDIOREADTOCHEADER
+Return summary information about the table of contents for the mounted cdrom.
+.It CDIOREADTOCENTRYS
+Return information from the table of contents entries mentionned.
+.It CDIOCSETPATCH
+Attach various audio channels to various output channels.
+.It CDIOCGETVOL
+Get information about the volume settings of the output channels.
+.It CDIOCSETVOL
+Change the volume settings of the output channels.
+.It CDIOCSETMONO
+Patch all out[put channels to all source channels.
+.It CDIOCSETSTERIO
+Patch left source channel to the left output channel and the right
+source channel to the right output channel.
+.It CDIOCSETMUTE
+Mute output without changing the volume settings.
+.It CDIOCSETLEFT
+Attach both output channels to the left source channel.
+.It CDIOCSETRIGHT
+Attach both output channels to the right source channel.
+.It CDIOCSETDEBUG
+Turn on debugging for the appropriate device.
+.It CDIOCCLRDEBUG
+Turn off debugging for the appropriate device.
+.It CDIOCPAUSE
+Pause audio play, do not reset the location of the read-head.
+.It CDIOCRESUME
+Resume audio play, Start at the location of the pause.
+.It CDIOCRESET
+Reset the drive.
+.It CDIOCSTART
+Tell the drive to spin-up the cdrom.
+.It CDIOCSTOP
+Tell the drive to spin-down the cdrom.
+.It CDIOCEJECT
+Eject the cdrom.
+.El
+.Pp
+In addition the general
+.Xr scsi 4
+ioctls may be used with the
+.Nm
+driver, if used against the fourth (raw/whole disk) partiton. (e.g. rcd0d)
+.Sh NOTES
+When a cdrom is changed in a drive controlled by the
+.Nm
+driver, then the act of changing the media will invalidate the
+disklabel and information held within the kernel. To stop corruption,
+All accesses to the device will be discarded until there are no more
+open file descriptors referencing the device. During this period, all
+new open attempts will be rejected. When No more open file descriptors
+reference the device, the first next open will load a new set of
+figures (including disklabel) for the drive.
+
+The Audio code in the
+.Nm
+driver only support SCSI2 standard audio commands. As there are many cdrom
+manufacturers who have not followed the standard well, there are many
+cdroms for which audio will not work. Some work is planned to support
+some of the more common 'broken' cdrom drives however this is not yet
+under way.
+
+.Sh FILES
+.Bl -tag -width /dev/rcd[0-9][a-h] -compact
+.It Pa /dev/cd[0-9][a-h]
+block mode scsi disks
+.It Pa /dev/rcd[0-9][a-h]
+raw scsi disks
+.El
+.Sh DIAGNOSTICS
+None.
+.Sh SEE ALSO
+.Xr disklabel 1
+.Xr disklabel 5
+.Xr wd 4
+.Xr sd 4
+.Sh HISTORY
+This
+.Nm
+driver appeared in 386BSD 0.1.
diff --git a/share/man/man4/ch.4 b/share/man/man4/ch.4
new file mode 100644
index 0000000..472c68b
--- /dev/null
+++ b/share/man/man4/ch.4
@@ -0,0 +1,80 @@
+.Dd August 27, 1993
+.Dt CH 4
+.Os FreeBSD
+.Sh NAME
+.Nm ch
+.Nd scsi media-changer (juke box) driver
+.Sh SYNOPSIS
+.Nm device-driver ch
+.Op Ar count
+.Sh DESCRIPTION
+The
+.Xr ch
+driver provides support for a
+.Em scsi
+juke box. It allows many slots of media to be multiplexed between a number
+of drives.
+.Pp
+A scsi adapter must also be separatly configured into the system
+before a scsi changer can be configured.
+.Pp
+As the scsi adapter is probed during boot, the
+.Em SCSI
+bus is scanned for devices. Any devices found which answer as 'Changer'
+type devices will be 'attached' to the
+.Nm
+driver. The first found will be attached as
+.Em ch0
+and the next,
+.Em ch1
+etc.
+.Pp
+
+.Sh KERNEL CONFIGURATION
+In configuring, if an optional
+.Ar count
+is given in the specification, that number of scsi media changers
+are configured; Most storage for them is allocated only when found
+so a large number of configured devices is cheap. (once the first
+has included the driver).
+
+.Pp
+.Sh IOCTLS
+The following
+.Xr ioctl 2
+call applies to the changer. It is defined in
+in the header file
+.Em sys/chio.h.
+
+.Bl -tag -width DIOCSDINFO
+CHIOOP
+This appears to be a 'do-everything' call.
+.El
+.Sh NOTES
+The
+.Nm
+driver was added to the system by
+ Stefan Grefen (grefen@goofy.zdv.uni-mainz.de)
+who apparently had such a device
+however It appears as though no-one I have heard of has ever used this
+driver. If you use it please let me know so I can test changes.
+Stefan appears to have suffered net.death (or at least net.disconnection).
+I (julian) have never used this device. If you do please re-write this
+man page and send it to me..
+
+.Sh FILES
+.Bl -tag -width /dev/ch[0-9] -compact
+.It Pa /dev/ch[0-9]
+device entries
+.El
+.Sh DIAGNOSTICS
+None.
+.Sh SEE ALSO
+.Xr sd 4
+.Xr st 4
+.Xr cd 4
+.Sh HISTORY
+The
+.Nm
+driver appeared in 386BSD 0.1
+
diff --git a/share/man/man4/da.4 b/share/man/man4/da.4
new file mode 100644
index 0000000..a3face5
--- /dev/null
+++ b/share/man/man4/da.4
@@ -0,0 +1,216 @@
+.Dd August 27, 1993
+.Dt SD 4
+.Os FreeBSD
+.Sh NAME
+.Nm sd
+.Nd scsi disk driver
+.Sh SYNOPSIS
+.Nm device-driver sd
+.Op Ar count
+.Sh DESCRIPTION
+The
+.Xr sd
+driver provides support for a
+.Em scsi
+disk. It allows the disk
+to be divided up into a set of pseudo devices called
+.Em partitions.
+A Partition can have both a
+.Em raw
+interface
+and a
+.Em Block mode
+interface.
+In general the interfaces are similar to those described by
+.Xr wd 4
+or
+.Xr dk 4 .
+
+.Pp
+Where the
+.Xr wd 4
+device has a fairly low level interface to the system,
+.Em SCSI
+devices have a much higher level interface and talk to the system via
+a
+.Em SCSI Adapter
+and a
+.Em Scsi Adapter driver
+e.g.
+.Xr AHA1542 .
+A scsi adapter must also be separatly configured into the system
+before a scsi disk can be configured.
+.Pp
+As the scsi adapter is probed during boot, the
+.Em SCSI
+bus is scanned for devices. Any devices found which answer as 'Direct'
+type devices will be 'attached' to the
+.Nm
+driver. The first found will be attached as
+.Em sd0
+and the next,
+.Em sd1
+etc.
+.Pp
+.Sh PARTITIONING
+The
+.Nm
+driver allows the disk to have two levels of partitioning.
+One which allows it to have
+partitions for different Operating systems, (one of which is BSD unix),
+(see also for the 386 port,
+.Xr fdisk 1
+), and within a BSD partition, further partitions which are individually
+addressable as separate entries in the
+.Em /dev
+directory. The second level of partitioning is controlled by the program
+.Xr disklabel 1
+and is common in format across most BSD operating systems. In most of
+the original BSD ports, what is the
+BSD part here, is the entire disk, and the outer layer of partitionning
+does not exist.
+.Nm
+will also run in this manner if
+.Xr disklabel 1
+is run with a blank disk, without first partitioning it
+with
+.Xr fdisk 1
+(or similar).
+
+.Pp
+Apologies for the two conflicting usages of the word Partition, but
+it's a historical artifact, and the meaning must be judged from context
+in each case. The next paragraph will discuss partitions exclusively
+in the context of WITHIN a BSD partition on the disk.
+.Pp
+The first few blocks of the BSD section (maybe all) of the disk contain
+some boot code, and a structure, known as the
+.Xr disklabel 5
+which describes the disk's characteristics and partitioning for BSD.
+It is set up by the
+.Xr disklabel 1
+program, and read in by the kernel when the device is first initialised
+during boot. It describes how the drive is further divided. The
+.Xr disklabel 5
+structure contains room for 8 (usually) partitions. Usually these
+partitions are calculated so as to fall evenly on cylinder boundaries,
+however on a
+.Em SCSI
+disk this is sometimes not possible. The reason for doing this is historically
+to get better performance, however modern
+.Em SCSI
+disks often have a variable format, so that it is hard to know at any point
+in the disk, where the cylinder or track boundaries are. Added to this, the
+fact that
+.Em SCSI
+disk blocks are addressed soley by their 'block number' and not by
+any geometry, leads to the common occurance on
+.Em SCSI
+disks, of laying out partitions on arbitrary boundaries. Because
+modern disks often have large track caches, this often leads to only small
+degadations of performance, and is in fact sometimes unavoidable. The
+boot messages will suggest a geometry similar in heads and cylinders
+to the real geometry, but the disklable need not agree with this for the
+system to be able to successfully work with the disk.
+.Pp
+During booting
+with an uninitialised disk, the
+.Nm
+driver will initialise the 'in-core' copy of the disklabel to the suggested
+values, however they are not written to the disk.
+.Pp
+The fourth partition is special. No matter what the disklabel
+says, the fourth partition (partition d) reflectls the entire disk, including
+those areas OUTSIDE the BSD partitions. At some times it is suggested that
+the c partition might be used to represent the entire BSD partition, so these
+two partitions should be avoided when laying out filesystems. The fourth
+partition must be used for general
+.Xr scsi 4
+ioctls.
+.Pp
+While partitions are only theoretically valid within the BSD partition, they
+are specified in terms of absolute block numbers, so it is possible to
+specify a partition that lies outside of the BSD partition. This is useful
+if one wants to have a /dev entry that points to a partition belonging
+to another OS (e.g. DOS).
+.Pp
+.Sh KERNEL CONFIGURATION
+In configuring, if an optional
+.Ar count
+is given in
+the specification, that number of scsi disks are configured;
+Most storage for them is allocated only when found so a large number
+of configured devices is cheap. (once the first has included the driver).
+
+.Pp
+.Sh IOCTLS
+The following
+.Xr ioctl 2
+calls apply to scsi disks as well as to other disks. They are defined
+in the header file
+.Em disklabel.h.
+
+.Bl -tag -width DIOCSDINFO
+
+.It Dv DIOCSBAD
+Usually used to set up a bad-block mapping system on the disk. Scsi
+drive incorporate their own bad-block mapping so this is not implimented,
+however it MAY be implimented in the future as a 'kludged' interface to the
+scsi bad-block mapping.
+.It Dv DIOCGDINFO
+Read, from the kernel, the in-core copy of the disklabel for the
+drive. This may be a ficticious disklabel if the drive has never
+been initialised, in which case it will contain information read
+from the scsi inquiry commands, and should be the same as
+the information printed at boot.
+.It Dv DIOCSDINFO
+Give the driver a new disklabel to use. The driver will NOT try write the new
+disklabel to the disk.
+.It Dv DIOCWLABEL
+Enable or Disable the driver's software
+write protect of the disklabel on the disk.
+.It Dv DIOCWDINFO
+Give the driver a new disklabel to use. The driver WILL try write the new
+disklabel to the disk.
+.El
+.Pp
+In addition, the
+.Xr scsi 4
+general ioctls may be used with the
+.Nm
+driver, but only against the fourth (whole disk) partition.
+.Sh NOTES
+If a removable device is attached to the
+.Nm
+driver, then the act of changing the media will invalidate the
+disklabel and information held within the kernel. To stop corruption,
+All accesses to the device will be discarded until there are no more
+open file descriptors referencing the device. During this period, all
+new open attempts will be rejected. When No more open file descriptors
+reference the device, the first next open will load a new set of
+figures (including disklabel) for the drive.
+
+An ioctl to map out a bad block is planned. (the code is already present
+in the driver).
+
+.Sh FILES
+.Bl -tag -width /dev/rsd[0-9][a-h] -compact
+.It Pa /dev/sd[0-9][a-h]
+block mode scsi disks
+.It Pa /dev/rsd[0-9][a-h]
+raw scsi disks
+.El
+.Sh DIAGNOSTICS
+None.
+.Sh SEE ALSO
+.Xr disklabel 1
+.Xr disklabel 5
+.Xr fdisk 1
+.Xr wd 4
+.Xr dk 4
+(on other systems)
+.Sh HISTORY
+The
+.Nm
+driver appeared in MACH 2.5 .
+
diff --git a/share/man/man4/ddb.4 b/share/man/man4/ddb.4
new file mode 100644
index 0000000..9255c0d
--- /dev/null
+++ b/share/man/man4/ddb.4
@@ -0,0 +1,402 @@
+.\"
+.\" Mach Operating System
+.\" Copyright (c) 1991,1990 Carnegie Mellon University
+.\" All Rights Reserved.
+.\"
+.\" Permission to use, copy, modify and distribute this software and its
+.\" documentation is hereby granted, provided that both the copyright
+.\" notice and this permission notice appear in all copies of the
+.\" software, derivative works or modified versions, and any portions
+.\" thereof, and that both notices appear in supporting documentation.
+.\"
+.\" CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
+.\" CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
+.\" ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
+.\"
+.\" Carnegie Mellon requests users of this software to return to
+.\"
+.\" Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
+.\" School of Computer Science
+.\" Carnegie Mellon University
+.\" Pittsburgh PA 15213-3890
+.\"
+.\" any improvements or extensions that they make and grant Carnegie Mellon
+.\" the rights to redistribute these changes.
+.\"
+.\" changed a \# to #, since groff choked on it.
+.\"
+.\" HISTORY
+.\" ddb.4,v
+.\" Revision 1.1 1993/07/15 18:41:02 brezak
+.\" Man page for DDB
+.\"
+.\" Revision 2.6 92/04/08 08:52:57 rpd
+.\" Changes from OSF.
+.\" [92/01/17 14:19:22 jsb]
+.\" Changes for OSF debugger modifications.
+.\" [91/12/12 tak]
+.\"
+.\" Revision 2.5 91/06/25 13:50:22 rpd
+.\" Added some watchpoint explanation.
+.\" [91/06/25 rpd]
+.\"
+.\" Revision 2.4 91/06/17 15:47:31 jsb
+.\" Added documentation for continue/c, match, search, and watchpoints.
+.\" I've not actually explained what a watchpoint is; maybe Rich can
+.\" do that (hint, hint).
+.\" [91/06/17 10:58:08 jsb]
+.\"
+.\" Revision 2.3 91/05/14 17:04:23 mrt
+.\" Correcting copyright
+.\"
+.\" Revision 2.2 91/02/14 14:10:06 mrt
+.\" Changed to new Mach copyright
+.\" [91/02/12 18:10:12 mrt]
+.\"
+.\" Revision 2.2 90/08/30 14:23:15 dbg
+.\" Created.
+.\" [90/08/30 dbg]
+.\"
+.TH ddb 4
+.SH NAME
+ddb \- kernel debugger
+.de XX
+.sp
+.ti -4n
+\\$1
+.br
+.sp
+..
+.de XS
+.nr )R +\\$1
+..
+.de XE
+.nr )R -\\$1
+..
+.SH DESCRIPTION
+.br
+.sp
+The kernel debugger has most of the features of the old kdb,
+but with a more rational (gdb-like) syntax.
+.sp
+The current location is called 'dot'. The 'dot' is displayed with
+a hexadecimal format at a prompt.
+Examine and write commands update 'dot' to the address of the last line
+examined or the last location modified, and set 'next' to the address of
+the next location to be examined or changed.
+Other commands don't change 'dot', and set 'next' to be the same as 'dot'.
+.sp
+The general command syntax is:
+.sp
+.ti +4n
+\fIcommand[/modifier] address [,count]\fR
+.sp
+A blank line repeats from the address 'next' with count 1 and no modifiers.
+Specifying 'address' sets 'dot' to the address.
+Omitting 'address' uses 'dot'.
+A missing 'count' is taken to be 1 for printing commands or infinity
+for stack traces.
+.sp
+"\fBddb\fR" has a feature like a command "\fBmore\fR"
+for the output. If an output line exceeds the number set in the $lines
+variable, it displays "\fI--db_more--\fR"
+and waits for a response.
+The valid responses for it are:
+.XS 4n
+.IP \fI\<space>\fR 10n
+one more page
+.IP \fI\<return>\fR 10n
+one more line
+.IP \fB\q\fR 10n
+abort the current command, and return to the command input mode.
+.LP
+.sp
+.XE 4n
+.LP
+.B COMMANDS
+.sp
+.XS 4n
+.LP
+.XX "\fBexamine(x) \fI[/<modifier>] <addr>[,<count>]\fR"
+Display the addressed locations according to the formats in the modifier.
+Multiple modifier formats display multiple locations.
+If no format is specified, the last formats specified for this command
+is used.
+.br
+The format characters are
+.sp
+.LP
+.XS 2n
+.IP b 5n
+look at by bytes(8 bits)
+.IP h 5n
+look at by half words(16 bits)
+.IP l 5n
+look at by long words(32 bits)
+.IP a 5n
+print the location being displayed
+.IP A 5n
+print the location with a line number if possible
+.IP x 5n
+display in unsigned hex
+.IP z 5n
+display in signed hex
+.IP o 5n
+display in unsigned octal
+.IP d 5n
+display in signed decimal
+.IP u 5n
+display in unsigned decimal
+.IP r 5n
+display in current radix, signed
+.IP c 5n
+display low 8 bits as a character.
+Non-printing characters are displayed as an octal escape code (e.g. '\\000').
+.IP s 5n
+display the null-terminated string at the location.
+Non-printing characters are displayed as octal escapes.
+.IP m 5n
+display in unsigned hex with character dump at the end of each line.
+The location is also displayed in hex at the beginning of each line.
+.IP i 5n
+display as an instruction
+.IP I 5n
+display as an instruction with possible alternate formats depending on the
+machine:
+.XE 2n
+.LP
+.XS 5n
+.LP
+.IP vax 6n
+don't assume that each external label is a procedure entry mask
+.IP i386 6n
+don't round to the next long word boundary
+.IP mips 6n
+print register contents
+.LP
+.XE 5n
+.LP
+.XX xf
+Examine forward.
+It executes an examine command with the last specified parameters to it
+except that the next address displayed by it is used as the start address.
+.XX xb
+Examine backward.
+It executes an examine command with the last specified parameters to it
+except that the last start address subtracted by the size displayed by it
+is used as the start address.
+.XX "\fBprint[/axzodurc] \fI<addr1> [ <addr2> ... ]\fR"
+Print 'addr's according to the modifier character.
+Valid formats are: a x z o d u r c.
+If no modifier is specified, the last one specified to it is used. 'addr'
+can be a string, and it is printed as it is. For example,
+.br
+.sp
+.ti +4n
+print/x "eax = " $eax "\\necx = " $ecx "\\n"
+.br
+.sp
+will print like
+.sp
+.in +4n
+eax = xxxxxx
+.br
+ecx = yyyyyy
+.in -4n
+.sp
+.br
+.XX "\fBwrite[/bhl] \fI<addr> <expr1> [ <expr2> ... ]\fR"
+Write the expressions at succeeding locations.
+The write unit size can be specified in the modifier with a letter
+b (byte), h (half word) or l(long word) respectively. If omitted,
+long word is assumed.
+.br
+Warning: since there is no delimiter between expressions, strange
+things may happen.
+It's best to enclose each expression in parentheses.
+.XX "\fBset \fI$<variable> [=] <expr>\fR"
+Set the named variable or register with the value of 'expr'.
+Valid variable names are described below.
+.XX "\fBbreak[/u] \fI<addr>[,<count>]\fR"
+Set a break point at 'addr'.
+If count is supplied, continues (count-1) times before stopping at the
+break point. If the break point is set, a break point number is
+printed with '#'. This number can be used in deleting the break point
+or adding conditions to it.
+.LP
+.XS 2n
+.IP u 5n
+Set a break point in user space address. Without 'u' option,
+the address is considered in the kernel space, and wrong space address
+is rejected with an error message.
+This option can be used only if it is supported by machine dependent
+routines.
+.LP
+.XE 2n
+Warning: if a user text is shadowed by a normal user space debugger,
+user space break points may not work correctly. Setting a break
+point at the low-level code paths may also cause strange behavior.
+.XX "\fBdelete \fI<addr>|#<number>\fR"
+Delete the break point. The target break point can be specified by a
+break point number with '#', or by 'addr' like specified in 'break'
+command.
+.XX "\fBstep[/p] \fI[,<count>]\fR"
+Single step 'count' times.
+If 'p' option is specified, print each instruction at each step.
+Otherwise, only print the last instruction.
+.br
+.sp
+Warning: depending on machine type, it may not be possible to
+single-step through some low-level code paths or user space code.
+On machines with software-emulated single-stepping (e.g., pmax),
+stepping through code executed by interrupt handlers will probably
+do the wrong thing.
+.XX "\fBcontinue[/c]\fR"
+Continue execution until a breakpoint or watchpoint.
+If /c, count instructions while executing.
+Some machines (e.g., pmax) also count loads and stores.
+.br
+.sp
+Warning: when counting, the debugger is really silently single-stepping.
+This means that single-stepping on low-level code may cause strange
+behavior.
+.XX "\fBuntil[/p]\fR"
+Stop at the next call or return instruction.
+If 'p' option is specified, print the call nesting depth and the
+cumulative instruction count at each call or return. Otherwise,
+only print when the matching return is hit.
+.XX "\fBnext[/p]\fR"
+Stop at the matching return instruction.
+If 'p' option is specified, print the call nesting depth and the
+cumulative instruction count at each call or return. Otherwise,
+only print when the matching return is hit.
+.XX "\fBmatch[/p]\fR"
+A synonym for 'next'.
+.XX "\fBtrace[/u] \fI[ <frame_addr> ][,<count>]\fR"
+Stack trace. 'u' option traces user space; if omitted, only traces
+kernel space. 'count' is the number of frames to be traced.
+If the 'count' is omitted, all frames are printed.
+.br
+.sp
+Warning: User space stack trace is valid
+only if the machine dependent code supports it.
+.XX "\fBsearch[/bhl] \fI<addr> <value> [<mask>] [,<count>]\fR"
+Search memory for a value. This command might fail in interesting
+ways if it doesn't find the searched-for value. This is because
+ddb doesn't always recover from touching bad memory. The optional
+count argument limits the search.
+.XX "\fBshow all procs[/m]\fR"
+Display all process information.
+This version of "\fBddb\fR"
+prints more information than previous one.
+It shows process information like "ps".
+The process information may not be shown if it is not
+supported in the machine, or the bottom of the stack of the
+target process is not in the main memory at that time.
+The 'm' options will alter the 'ps' display to show vm_map
+addresses for the process and not show other info.
+.br
+.XX "\fBps[/m]\fR"
+A synonym for 'show all procs'.
+.XX "\fBshow registers\fR"
+Display the register set.
+If 'u' option is specified, it displays user registers instead of
+kernel or currently saved one.
+.br
+.sp
+Warning: The support of 'u' option depends on the machine. If
+not supported, incorrect information will be displayed.
+.XX "\fBshow map[/f] \fI<addr>\fR"
+Prints the vm_map at 'addr'. If the 'f' option is specified the
+complete map is printed.
+.XX "\fBshow object[/f] \fI<addr>\fR"
+Prints the vm_object at 'addr'. If the 'f' option is specified the
+complete object is printed.
+.XX "\fBshow watches\fR"
+Displays all watchpoints.
+.XX "\fBwatch \fI<addr>,<size>\fR"
+Set a watchpoint for a region. Execution stops
+when an attempt to modify the region occurs.
+The 'size' argument defaults to 4.
+.br
+If you specify a wrong space address, the request is rejected
+with an error message.
+.br
+.sp
+Warning: Attempts to watch wired kernel memory
+may cause unrecoverable error in some systems such as i386.
+Watchpoints on user addresses work best.
+.br
+.LP
+.XE 4n
+.LP
+.sp
+.B VARIABLES
+.sp
+The debugger accesses registers and variables as
+.I $<name>.
+Register names are as in the "\fBshow registers\fR"
+command.
+Some variables are suffixed with numbers, and may have some modifier
+following a colon immediately after the variable name.
+For example, register variables can have 'u' modifier to indicate
+user register (e.g. $eax:u).
+.br
+.sp
+Built-in variables currently supported are:
+.sp
+.IP radix 12n
+Input and output radix
+.IP maxoff 12n
+Addresses are printed as 'symbol'+offset unless offset is greater than maxoff.
+.IP maxwidth 12n
+The width of the displayed line.
+.IP lines 12n
+The number of lines. It is used by "more" feature.
+.IP tabstops 12n
+Tab stop width.
+.IP work\fIxx\fR
+Work variable.
+.I 'xx'
+can be 0 to 31.
+.LP
+.LP
+.sp
+.B EXPRESSIONS
+.sp
+Almost all expression operators in C are supported except '~', '^',
+and unary '&'.
+Special rules in "\fBddb\fR"
+are:
+.br
+.IP "<identifier>" 15n
+name of a symbol. It is translated to the address(or value) of it. '.'
+and ':' can be used in the identifier. If supported by an object format
+dependent routine,
+[\fI<file_name>\fR:]\fI<func>\fR[:\fI<line_number>\fR]
+[\fI<file_name>\fR:]\fI<variable>\fR, and
+\fI<file_name>\fR[:\fI<line_number>\fR]
+can be accepted as a symbol.
+The symbol may be prefixed with '\fI<symbol_table_name>\fR::'
+like 'emulator::mach_msg_trap' to specify other than kernel symbols.
+.IP "<number>" 15n
+radix is determined by the first two letters:
+0x: hex, 0o: octal, 0t: decimal, otherwise, follow current radix.
+.IP \. 15n
+\'dot'
+.IP \+ 15n
+\'next'
+.IP \.. 15n
+address of the start of the last line examined.
+Unlike 'dot' or 'next', this is only changed by "examine" or
+"write" command.
+.IP \' 15n
+last address explicitly specified.
+.IP "$<variable>" 15n
+register name or variable. It is translated to the value of it.
+It may be followed by a ':' and modifiers as described above.
+.IP # 15n
+a binary operator which rounds up the left hand side to the next
+multiple of right hand side.
+.IP "*<expr>" 15n
+indirection. It may be followed by a ':' and modifiers as described above.
diff --git a/share/man/man4/sa.4 b/share/man/man4/sa.4
new file mode 100644
index 0000000..28f232b
--- /dev/null
+++ b/share/man/man4/sa.4
@@ -0,0 +1,308 @@
+.Dd August 27, 1993
+.Dt ST 4
+.Os FreeBSD
+.Sh NAME
+.Nm st
+.Nd scsi tape driver
+.Sh SYNOPSIS
+.Nm device-driver st
+.Op Ar count
+.Sh DESCRIPTION
+The
+.Xr st
+driver provides support for a
+.Em scsi
+tape. It allows the tape
+to be run in upto four different modes depending on minor numbers
+and supports several different 'sub modes'.
+The device can have both a
+.Em raw
+interface
+and a
+.Em Block mode
+interface however only the raw interface is usually used (or recommended).
+In general the interfaces are similar to those described by
+.Xr wt 4
+or
+.Xr mt 4 .
+
+.Pp
+Where the
+.Xr wt 4
+device has a fairly low level interface to the system,
+.Em SCSI
+devices have a much higher level interface and talk to the system via
+a
+.Em SCSI Adapter
+and a
+.Em Scsi Adapter driver
+e.g.
+.Xr AHA1542 .
+A scsi adapter must also be separatly configured into the system
+before a scsi tape can be configured.
+.Pp
+As the scsi adapter is probed during boot, the
+.Em SCSI
+bus is scanned for devices. Any devices found which answer as 'Sequential'
+type devices will be attached to the
+.Nm
+driver. The first found will be attached as
+.Em st0
+and the next,
+.Em st1
+etc.
+.Pp
+.Sh MOUNT SESSIONS
+The
+.Nm
+driver is based around the concept of a
+.Em Mount Session
+, which is defined as the period between the time that a tape is mounted,
+and the time when it is unmounted. Any parameters set during a
+.Em Mount Session
+remain in effect for the remainder of the session or until replaced. The
+Tape can be unmounted, bringing the session to a close in several ways.
+These include:
+.Bl -tag -width ABOUT_THIS_BIG_BUT_REALLY_BIGGER
+.It Pa closing an 'unmount device'
+This is referred to as sub-mode 00 (see below). An example is /dev/rst0.
+.It Pa an MTOFFL ioctl
+Reachable throught the 'offline' command of
+.Xr st 1
+.It Pa Openning another mode.
+Openning a different mode will implicitly unmount the tape, thereby closing
+off the mode that was previously mounted. All parameters will be loaded
+freshly from the new mode. (see below for more on 'modes').
+.El
+.Pp
+Parameters that are required to last across the unmounting of a tape,
+should be set on the control device. This is submode 3 (see below) and is
+reached through a file with a name of the form /dev/st{y}ctl.{x}, where
+{y} is the drive number and {x} is the mode number.
+.Pp
+.Sh MODES AND SUB MODES
+There are four Operation modes. These are controlled by bits 2
+and 3 of the minor number and are designed to allow people to easily
+read and write different formats of tape on devices that allow
+multiple formats. The parameters for each mode can be set individually
+by hand with the
+.Xr st 1
+variant of the
+.Xr mt 1
+command. When a device corresponding to a particular mode is first mounted,
+The operating parameters for that
+.Em Mount Session
+Are copied from that mode. Further changes to the parameters during the
+session will change those in effect for the session but not those set
+in the Operating Mode. To change the parameters for an Operating Mode,
+One must either assign the parameters to the control device, or compile
+them into the 'Rogues Gallery' table within the driver.
+.Pp
+In addition to the four Operation Modes mentionned above,
+bits 0 and 1 of the minor number are interpretted as being 'sub-modes'.
+The following sub-modes are supported
+.Bl -tag -width ABOUT_THIS_BIG
+.It Pa 00
+A close will rewind the device. If the tape has been
+written, then a Filemark will be written before the rewind is requested.
+The device is UNMOUNTED.
+.It Pa 01
+A close will leave the tape MOUNTED.
+If the tape was written to a filemark will be written.
+No other head positioning takes place.
+Any further reads or writes will occur directly after the
+last read, or the written filemark.
+.It Pa 10
+A close will rewind the device. If the tape has been
+written, then a Filemark will be written before the rewind is requested.
+On completion of the rewind an UNLOAD command will be issued.
+The device is UNMOUNTED.
+.It Pa 11
+This is a special mode.
+It is known as the
+.Em CONTROL DEVICE
+for the mode. Parameters set for the mode while in this sub
+mode will be remembered from one mount to the next. This allows the
+system administrator to set different characteristics (e.g. density,
+blocksize, (and eventually compression)) on each mode, and have the
+different modes keep those parameters independent of any parameter
+changes a user may invoke during a single mount session. At the
+completion of the user's mount session, drive parameters will revert
+to those set by the administrator. IO operations cannot be performed
+on this device/submode. General
+.Xr scsi 4
+ioctls
+.Em MUST
+be performed against the control device.
+.El
+.Sh BLOCKING MODES
+Scsi Tapes may run in either 'variable' or 'fixed block' modes.
+Most QIC type devices run in Fixed block mode, where most 'reel to reel' tapes and
+many new cartridge formats, allow variable blocksize. The difference between
+the two is as follows:
+.Bl -tag -width variable-blocksize
+.It Pa Variable Blocksize
+Each write made to the device results in a single logical record
+written to the tape. You can never read or write PART of a record
+from tape, (though you may request a larger block and read a smaller
+record). You cannot read multiple blocks either. Data from a single
+write is therefore read by a single read. The block size used may
+be any value supported by the device, the scsi adapter and the
+system. (often variable between 1 byte and 64k (sometimes more)).
+.Pp
+When reading a variable record/block from the tape, the head is
+logically considered to be immediately after the last item read,
+and before the next item after that. If the next item is a Filemark,
+but you never read it because you have all the data, then the next
+process to read will immediately read the filemark and return EOF.
+(assuming you were in non-rewind mode).
+.It Pa fixed Blocksize
+Data written by the user is passed to the tape as a succession of
+fixed size blocks. It may be contiguouse in ram and read in a single
+DMA pass, however it is considered to be a series of independent
+blocks. You may never write an amount of data that is not an exact
+multiple of the blocksize. You may read and write the same data
+as a different set of records, In other words, blocks that were
+written together may be read separatly, and visa versa.
+.Pp
+If you ask for more blocks than there are left in the file, then
+the drive will encounter the filemark. Because there is some data
+to return to you (unless there were no records before the filemark)
+the driver will return the data to you (less than you requested),
+but hide from you the discovery of the Filemark. The NEXT read
+will be returned immediately with an EOF. If you never Make the next
+read, but close the device, the next process to read will immediately
+read the filemark and return EOF. (assuming you were in non-rewind
+mode).
+.El
+.Sh FILEMARK HANDLING
+The handling of filemarks on write is pretty much automatic. If you
+have written to the tape, and not done a read since, then a filemark will
+be written to the tape when you close the device. If a rewind is requested
+after a write, then the driver assumes that you have written the last file
+on the tape and ensures that there are two filemarks written to the tape.
+It takes into account any filemarks already written (whether by close
+or by explicit ioctl). The exception to this is that there seems to be
+a standard (which we follow, but don't understand why) that certain
+types of tape do not actually write two filemarks to tape,
+but when read, report a 'phantom' filemark when the last file is read.
+These devices include the QIC family of devices. It might be that this
+set of devices is the same set as that of fixed block devices. This has not
+been detirmined yet, and they are treated as separate behaviors by the
+driver at this time.
+.Pp
+.SH KERNEL CONFIGURATION
+In configuring, if an optional
+.Ar count
+is given in
+the specification, that number of scsi tapes are configured;
+Most storage for them is allocated only when found so a large number
+of configured devices is cheap. (once the first has included the driver).
+.Pp
+Because different tape drives behave differently, there is a mechanism
+within the source to st, to quickly and conveniently recognise and deal
+with brands and models of drive that have special requirements.
+.Pp
+There is a table (called the rogues gallery) in which the indentification
+strings of known errant drives can be stored. Along with each is
+a set of flags that allows the setting of densities and blocksizes for each
+of the 4 modes, along with a set of 'QUIRK' flags that can be
+used to enable or disable sections of code within the driver if a particular
+drive is recognised.
+.Pp
+.Sh IOCTLS
+The following
+.Xr ioctl 2
+calls apply to scsi tapes. Some also apply to other tapes. They are defined
+in the header file
+.Em /sys/mtio.h.
+
+.Bl -tag -width MTIOCEEOT
+.It Pa MTIOCGET
+Get the mt control structure filled out by the driver, showing
+all the present settings.
+.It Pa MTIOCTOP
+Perform one of the following operations. These operations all have a
+single argument, which is either a boolean, or a signed integer, depending
+on the operation.
+.Bl -tag -width MTSELDNSTY
+.It Pa MTWEOF
+Write N end of file marks at the present head position.
+.It Pa MTFSF
+Skip over N Filemarks. Leave the head on the EOM side of the last skipped
+Filemark.
+.It Pa MTBSF
+Skip BACKWARDS over N Filemarks. Leave the head on the BOM (beginning of media)
+side of the last skipped Filemark.
+.It Pa MTFSR
+Skip forwards over N records.
+.It Pa MTBSR
+Skip backwards over N records.
+.It Pa MTREW
+Rewind the device to the beginning of the media.
+.It Pa MTOFFL
+Rewind the media (and if possible eject). Even if the device cannot
+eject the media it will often no longer respond to normal requests.
+.It Pa MTNOP
+No Op, set status only..
+.It Pa MTCACHE
+Enable controller Buffering.
+.It Pa MTNOCACHE
+Disable controller Buffering.
+.It Pa MTSETBSIZ
+Set the blocksize to use for the device/mode. If the device is capable of
+variable blocksize operation, and the blocksize is set to 0, then the drive
+will be driven in variable mode. This parameter is in effect for the present
+mount session only, unless set on the control device.
+.It Pa MTSETDNSTY
+Set the Density value (see
+.Xr st 1
+) to use when running in the mode openned (minor bits 2,3).
+This parameter is in effect for the present
+mount session only, unless set on the control device.
+.El
+.It Pa MTIOCIEOT
+?Set END of TAPE processing... not yet supported.
+.It Pa MTIOCEEOT
+?Set END of TAPE processing... not yet supported.
+.El
+.Pp
+In addition, The
+.Nm
+driver will allow the use of any of the general
+.Xr scsi 4
+ioctls, as long as the control device is used.
+
+.Sh FILES
+.Bl -tag -width /dev/[n][e]rst[0-9].[0-3] -compact
+.It Pa /dev/[n][e]rst[0-9].[0-3]
+general form:
+.It Pa /dev/rst0.0
+Mode 0, rewind on close
+.It Pa /dev/nrst0.2
+Mode 2, No rewind on close
+.It Pa /dev/erst0.3
+Mode 3, Eject on close (if capable)
+.It Pa /dev/rst0
+Another name for rst0.0
+.It Pa /dev/nrst0
+Another name for nrst0.0
+.It Pa /dev/st0ctl.0
+Parameters set to this device become the default parameters for [en]rst0.0
+.It Pa /dev/st0ctl.1
+Parameters set to this device become the default parameters for [en]rst0.1
+.It Pa /dev/st0ctl.2
+Parameters set to this device become the default parameters for [en]rst0.2
+.It Pa /dev/st0ctl.3
+Parameters set to this device become the default parameters for [en]rst0.3
+.El
+.Sh DIAGNOSTICS
+None.
+.Sh SEE ALSO
+.Xr mt 1
+.Xr st 1
+.Sh HISTORY
+This
+.Nm
+driver appeared in MACH 2.5 .
+
diff --git a/share/man/man4/scsi.4 b/share/man/man4/scsi.4
new file mode 100644
index 0000000..b6d3995
--- /dev/null
+++ b/share/man/man4/scsi.4
@@ -0,0 +1,117 @@
+.Dd August 27, 1993
+.Dt SD 4
+.Os FreeBSD
+.Sh NAME
+.Nm scsi
+.Nd scsi system
+.Sh SYNOPSIS
+.Nm device-driver scbus
+.Sh DESCRIPTION
+The
+.Em scsi
+system provides a uniform and modular system for the implimentation
+of drivers to control various scsi devices, and to utilise different
+scsi adapters through adapter drivers. When the system probes the
+.Em SCSI
+busses, it attaches any devices it finds to the appropriate
+drivers. If no driver seems appropriate, then at attaches the device to the
+uk (unknown) driver (if configured), so that user level scsi ioctls may
+still be performed against the device.
+.Sh KERNEL CONFIGURATION
+Continuously changing. check your nearest bsd mailing list.
+The option SCSIDEBUG enables the debug ioctl.
+.Sh IOCTLS
+There are a number of ioctls that will (when the next stage is complete)
+work on any
+.Em SCSI
+device. They are defined in
+.Em sys/scsiio.h
+and can be applied against any scsi device that allows both read and write,
+though for devices such as tape, it must be applied against the control
+device. See the manual page for each device type for more information about
+how generic scsi ioctls may be applied to a specific device.
+.Bl -tag -width DIOCSDINFO____
+.It Dv SCIOCRESET*
+reset a device.
+.It Dv SCIOCDEBUG
+Turn on debugging.. All scsi operations originating from this device's driver
+will be traced to the console, along with other information. Debugging is
+controlled by four bits, described in the header file. If no debugging is
+configured into the kernel, debugging will have no effect.
+.Em SCSI
+debugging is controlled by the configuration option
+.Em SCSIDEBUG.
+.It Dv SCIOCCOMMAND
+Take a scsi command and data from a user process and apply them to the scsi
+device. Return all status information and return data to the process. The
+ioctl will return a successful status even if the device rejected the
+command. As all status is returned to the user, it is up to the user
+process to examine this information to decide the success of the command.
+.It Dv SCIOCREPROBE
+Ask the system to probe the scsi busses for any new devices. If it finds
+any, they will be attached to the appropriate drivers. The search can be
+narrowed to a specific bus, target or lun. The new device may or may not
+be related to the device on which the ioctl was performed.
+.It Dv SCIOCIDENTIFY
+Ask the driver what it's bus, target and lun are.
+.It Dv SCIOCDECONFIG
+Ask the device to dissappear. This may not happen if the device is in use.
+.El
+.Sh NOTES
+the generic scsi part of the system is still being mapped out.
+Watch this space for changes.
+.Pp
+ A device by the name of su (scsi_user)
+(e.g su0-0-0) will map bus, target and lun to minor numbers. I have not
+yet decided yet whether this device will be able to open a device that is
+already controlled by an explicit driver.
+.Sh ADAPTERS
+The system allows common device drivers to work through many different
+types of adapters. The adapters take requests from the upper layers and do
+all IO between the
+.Em SCSI
+bus and the system. The maximum size of a transfer is governed by the
+adapter. Most adapters can transfer 64KB in a single operation, however
+many can transfer larger amounts.
+.Sh TARGET MODE
+Some adapters support
+.Em Target mode
+in which the system is capable of operating as a device, responding to
+operations initioated by another system. Target mode will be supported for
+some adapters, but is not yet complete for this version of the scsi system.
+.Sh FILES
+see other scsi device entries.
+.Sh DIAGNOSTICS
+When the kernel is compiled with option SCSIDEBUG, the SCIOCDEBUG ioctl
+can be used to enable various amounts of tracing information on any
+specific device. Devices not being traced will not produce trace information.
+The four bits that make up the debug level, each control certain types
+of debugging information.
+.Bl -tag -width THIS_WIDE_PLEASE
+.It Dv Bit 0
+Bit 0 shows all scsi bus operations including scsi commands,
+error information and the first 48 bytes of any data transferred.
+.It Dv Bit 1
+Bit 1 shows routines called.
+.It Dv Bit 2
+Bit 2 shows information about what branches are taken and often some
+of the return values of functions.
+.It Dv Bit 3
+Bit 3 shows more detailed information including DMA scatter-gather logs.
+.El
+.Sh SEE ALSO
+.Xr ch 4
+.Xr cd 4
+.Xr sd 4
+.Xr st 4
+.Xr uk 4
+.Xr su 4
+.Xr aha 4
+.Xr ahb 4
+.Xr bt 4
+.Xr uha 4
+.Sh HISTORY
+This
+.Nm
+system appeared in MACH 2.5 at TRW.
+
diff --git a/share/man/man4/sd.4 b/share/man/man4/sd.4
new file mode 100644
index 0000000..a3face5
--- /dev/null
+++ b/share/man/man4/sd.4
@@ -0,0 +1,216 @@
+.Dd August 27, 1993
+.Dt SD 4
+.Os FreeBSD
+.Sh NAME
+.Nm sd
+.Nd scsi disk driver
+.Sh SYNOPSIS
+.Nm device-driver sd
+.Op Ar count
+.Sh DESCRIPTION
+The
+.Xr sd
+driver provides support for a
+.Em scsi
+disk. It allows the disk
+to be divided up into a set of pseudo devices called
+.Em partitions.
+A Partition can have both a
+.Em raw
+interface
+and a
+.Em Block mode
+interface.
+In general the interfaces are similar to those described by
+.Xr wd 4
+or
+.Xr dk 4 .
+
+.Pp
+Where the
+.Xr wd 4
+device has a fairly low level interface to the system,
+.Em SCSI
+devices have a much higher level interface and talk to the system via
+a
+.Em SCSI Adapter
+and a
+.Em Scsi Adapter driver
+e.g.
+.Xr AHA1542 .
+A scsi adapter must also be separatly configured into the system
+before a scsi disk can be configured.
+.Pp
+As the scsi adapter is probed during boot, the
+.Em SCSI
+bus is scanned for devices. Any devices found which answer as 'Direct'
+type devices will be 'attached' to the
+.Nm
+driver. The first found will be attached as
+.Em sd0
+and the next,
+.Em sd1
+etc.
+.Pp
+.Sh PARTITIONING
+The
+.Nm
+driver allows the disk to have two levels of partitioning.
+One which allows it to have
+partitions for different Operating systems, (one of which is BSD unix),
+(see also for the 386 port,
+.Xr fdisk 1
+), and within a BSD partition, further partitions which are individually
+addressable as separate entries in the
+.Em /dev
+directory. The second level of partitioning is controlled by the program
+.Xr disklabel 1
+and is common in format across most BSD operating systems. In most of
+the original BSD ports, what is the
+BSD part here, is the entire disk, and the outer layer of partitionning
+does not exist.
+.Nm
+will also run in this manner if
+.Xr disklabel 1
+is run with a blank disk, without first partitioning it
+with
+.Xr fdisk 1
+(or similar).
+
+.Pp
+Apologies for the two conflicting usages of the word Partition, but
+it's a historical artifact, and the meaning must be judged from context
+in each case. The next paragraph will discuss partitions exclusively
+in the context of WITHIN a BSD partition on the disk.
+.Pp
+The first few blocks of the BSD section (maybe all) of the disk contain
+some boot code, and a structure, known as the
+.Xr disklabel 5
+which describes the disk's characteristics and partitioning for BSD.
+It is set up by the
+.Xr disklabel 1
+program, and read in by the kernel when the device is first initialised
+during boot. It describes how the drive is further divided. The
+.Xr disklabel 5
+structure contains room for 8 (usually) partitions. Usually these
+partitions are calculated so as to fall evenly on cylinder boundaries,
+however on a
+.Em SCSI
+disk this is sometimes not possible. The reason for doing this is historically
+to get better performance, however modern
+.Em SCSI
+disks often have a variable format, so that it is hard to know at any point
+in the disk, where the cylinder or track boundaries are. Added to this, the
+fact that
+.Em SCSI
+disk blocks are addressed soley by their 'block number' and not by
+any geometry, leads to the common occurance on
+.Em SCSI
+disks, of laying out partitions on arbitrary boundaries. Because
+modern disks often have large track caches, this often leads to only small
+degadations of performance, and is in fact sometimes unavoidable. The
+boot messages will suggest a geometry similar in heads and cylinders
+to the real geometry, but the disklable need not agree with this for the
+system to be able to successfully work with the disk.
+.Pp
+During booting
+with an uninitialised disk, the
+.Nm
+driver will initialise the 'in-core' copy of the disklabel to the suggested
+values, however they are not written to the disk.
+.Pp
+The fourth partition is special. No matter what the disklabel
+says, the fourth partition (partition d) reflectls the entire disk, including
+those areas OUTSIDE the BSD partitions. At some times it is suggested that
+the c partition might be used to represent the entire BSD partition, so these
+two partitions should be avoided when laying out filesystems. The fourth
+partition must be used for general
+.Xr scsi 4
+ioctls.
+.Pp
+While partitions are only theoretically valid within the BSD partition, they
+are specified in terms of absolute block numbers, so it is possible to
+specify a partition that lies outside of the BSD partition. This is useful
+if one wants to have a /dev entry that points to a partition belonging
+to another OS (e.g. DOS).
+.Pp
+.Sh KERNEL CONFIGURATION
+In configuring, if an optional
+.Ar count
+is given in
+the specification, that number of scsi disks are configured;
+Most storage for them is allocated only when found so a large number
+of configured devices is cheap. (once the first has included the driver).
+
+.Pp
+.Sh IOCTLS
+The following
+.Xr ioctl 2
+calls apply to scsi disks as well as to other disks. They are defined
+in the header file
+.Em disklabel.h.
+
+.Bl -tag -width DIOCSDINFO
+
+.It Dv DIOCSBAD
+Usually used to set up a bad-block mapping system on the disk. Scsi
+drive incorporate their own bad-block mapping so this is not implimented,
+however it MAY be implimented in the future as a 'kludged' interface to the
+scsi bad-block mapping.
+.It Dv DIOCGDINFO
+Read, from the kernel, the in-core copy of the disklabel for the
+drive. This may be a ficticious disklabel if the drive has never
+been initialised, in which case it will contain information read
+from the scsi inquiry commands, and should be the same as
+the information printed at boot.
+.It Dv DIOCSDINFO
+Give the driver a new disklabel to use. The driver will NOT try write the new
+disklabel to the disk.
+.It Dv DIOCWLABEL
+Enable or Disable the driver's software
+write protect of the disklabel on the disk.
+.It Dv DIOCWDINFO
+Give the driver a new disklabel to use. The driver WILL try write the new
+disklabel to the disk.
+.El
+.Pp
+In addition, the
+.Xr scsi 4
+general ioctls may be used with the
+.Nm
+driver, but only against the fourth (whole disk) partition.
+.Sh NOTES
+If a removable device is attached to the
+.Nm
+driver, then the act of changing the media will invalidate the
+disklabel and information held within the kernel. To stop corruption,
+All accesses to the device will be discarded until there are no more
+open file descriptors referencing the device. During this period, all
+new open attempts will be rejected. When No more open file descriptors
+reference the device, the first next open will load a new set of
+figures (including disklabel) for the drive.
+
+An ioctl to map out a bad block is planned. (the code is already present
+in the driver).
+
+.Sh FILES
+.Bl -tag -width /dev/rsd[0-9][a-h] -compact
+.It Pa /dev/sd[0-9][a-h]
+block mode scsi disks
+.It Pa /dev/rsd[0-9][a-h]
+raw scsi disks
+.El
+.Sh DIAGNOSTICS
+None.
+.Sh SEE ALSO
+.Xr disklabel 1
+.Xr disklabel 5
+.Xr fdisk 1
+.Xr wd 4
+.Xr dk 4
+(on other systems)
+.Sh HISTORY
+The
+.Nm
+driver appeared in MACH 2.5 .
+
diff --git a/share/man/man4/st.4 b/share/man/man4/st.4
new file mode 100644
index 0000000..28f232b
--- /dev/null
+++ b/share/man/man4/st.4
@@ -0,0 +1,308 @@
+.Dd August 27, 1993
+.Dt ST 4
+.Os FreeBSD
+.Sh NAME
+.Nm st
+.Nd scsi tape driver
+.Sh SYNOPSIS
+.Nm device-driver st
+.Op Ar count
+.Sh DESCRIPTION
+The
+.Xr st
+driver provides support for a
+.Em scsi
+tape. It allows the tape
+to be run in upto four different modes depending on minor numbers
+and supports several different 'sub modes'.
+The device can have both a
+.Em raw
+interface
+and a
+.Em Block mode
+interface however only the raw interface is usually used (or recommended).
+In general the interfaces are similar to those described by
+.Xr wt 4
+or
+.Xr mt 4 .
+
+.Pp
+Where the
+.Xr wt 4
+device has a fairly low level interface to the system,
+.Em SCSI
+devices have a much higher level interface and talk to the system via
+a
+.Em SCSI Adapter
+and a
+.Em Scsi Adapter driver
+e.g.
+.Xr AHA1542 .
+A scsi adapter must also be separatly configured into the system
+before a scsi tape can be configured.
+.Pp
+As the scsi adapter is probed during boot, the
+.Em SCSI
+bus is scanned for devices. Any devices found which answer as 'Sequential'
+type devices will be attached to the
+.Nm
+driver. The first found will be attached as
+.Em st0
+and the next,
+.Em st1
+etc.
+.Pp
+.Sh MOUNT SESSIONS
+The
+.Nm
+driver is based around the concept of a
+.Em Mount Session
+, which is defined as the period between the time that a tape is mounted,
+and the time when it is unmounted. Any parameters set during a
+.Em Mount Session
+remain in effect for the remainder of the session or until replaced. The
+Tape can be unmounted, bringing the session to a close in several ways.
+These include:
+.Bl -tag -width ABOUT_THIS_BIG_BUT_REALLY_BIGGER
+.It Pa closing an 'unmount device'
+This is referred to as sub-mode 00 (see below). An example is /dev/rst0.
+.It Pa an MTOFFL ioctl
+Reachable throught the 'offline' command of
+.Xr st 1
+.It Pa Openning another mode.
+Openning a different mode will implicitly unmount the tape, thereby closing
+off the mode that was previously mounted. All parameters will be loaded
+freshly from the new mode. (see below for more on 'modes').
+.El
+.Pp
+Parameters that are required to last across the unmounting of a tape,
+should be set on the control device. This is submode 3 (see below) and is
+reached through a file with a name of the form /dev/st{y}ctl.{x}, where
+{y} is the drive number and {x} is the mode number.
+.Pp
+.Sh MODES AND SUB MODES
+There are four Operation modes. These are controlled by bits 2
+and 3 of the minor number and are designed to allow people to easily
+read and write different formats of tape on devices that allow
+multiple formats. The parameters for each mode can be set individually
+by hand with the
+.Xr st 1
+variant of the
+.Xr mt 1
+command. When a device corresponding to a particular mode is first mounted,
+The operating parameters for that
+.Em Mount Session
+Are copied from that mode. Further changes to the parameters during the
+session will change those in effect for the session but not those set
+in the Operating Mode. To change the parameters for an Operating Mode,
+One must either assign the parameters to the control device, or compile
+them into the 'Rogues Gallery' table within the driver.
+.Pp
+In addition to the four Operation Modes mentionned above,
+bits 0 and 1 of the minor number are interpretted as being 'sub-modes'.
+The following sub-modes are supported
+.Bl -tag -width ABOUT_THIS_BIG
+.It Pa 00
+A close will rewind the device. If the tape has been
+written, then a Filemark will be written before the rewind is requested.
+The device is UNMOUNTED.
+.It Pa 01
+A close will leave the tape MOUNTED.
+If the tape was written to a filemark will be written.
+No other head positioning takes place.
+Any further reads or writes will occur directly after the
+last read, or the written filemark.
+.It Pa 10
+A close will rewind the device. If the tape has been
+written, then a Filemark will be written before the rewind is requested.
+On completion of the rewind an UNLOAD command will be issued.
+The device is UNMOUNTED.
+.It Pa 11
+This is a special mode.
+It is known as the
+.Em CONTROL DEVICE
+for the mode. Parameters set for the mode while in this sub
+mode will be remembered from one mount to the next. This allows the
+system administrator to set different characteristics (e.g. density,
+blocksize, (and eventually compression)) on each mode, and have the
+different modes keep those parameters independent of any parameter
+changes a user may invoke during a single mount session. At the
+completion of the user's mount session, drive parameters will revert
+to those set by the administrator. IO operations cannot be performed
+on this device/submode. General
+.Xr scsi 4
+ioctls
+.Em MUST
+be performed against the control device.
+.El
+.Sh BLOCKING MODES
+Scsi Tapes may run in either 'variable' or 'fixed block' modes.
+Most QIC type devices run in Fixed block mode, where most 'reel to reel' tapes and
+many new cartridge formats, allow variable blocksize. The difference between
+the two is as follows:
+.Bl -tag -width variable-blocksize
+.It Pa Variable Blocksize
+Each write made to the device results in a single logical record
+written to the tape. You can never read or write PART of a record
+from tape, (though you may request a larger block and read a smaller
+record). You cannot read multiple blocks either. Data from a single
+write is therefore read by a single read. The block size used may
+be any value supported by the device, the scsi adapter and the
+system. (often variable between 1 byte and 64k (sometimes more)).
+.Pp
+When reading a variable record/block from the tape, the head is
+logically considered to be immediately after the last item read,
+and before the next item after that. If the next item is a Filemark,
+but you never read it because you have all the data, then the next
+process to read will immediately read the filemark and return EOF.
+(assuming you were in non-rewind mode).
+.It Pa fixed Blocksize
+Data written by the user is passed to the tape as a succession of
+fixed size blocks. It may be contiguouse in ram and read in a single
+DMA pass, however it is considered to be a series of independent
+blocks. You may never write an amount of data that is not an exact
+multiple of the blocksize. You may read and write the same data
+as a different set of records, In other words, blocks that were
+written together may be read separatly, and visa versa.
+.Pp
+If you ask for more blocks than there are left in the file, then
+the drive will encounter the filemark. Because there is some data
+to return to you (unless there were no records before the filemark)
+the driver will return the data to you (less than you requested),
+but hide from you the discovery of the Filemark. The NEXT read
+will be returned immediately with an EOF. If you never Make the next
+read, but close the device, the next process to read will immediately
+read the filemark and return EOF. (assuming you were in non-rewind
+mode).
+.El
+.Sh FILEMARK HANDLING
+The handling of filemarks on write is pretty much automatic. If you
+have written to the tape, and not done a read since, then a filemark will
+be written to the tape when you close the device. If a rewind is requested
+after a write, then the driver assumes that you have written the last file
+on the tape and ensures that there are two filemarks written to the tape.
+It takes into account any filemarks already written (whether by close
+or by explicit ioctl). The exception to this is that there seems to be
+a standard (which we follow, but don't understand why) that certain
+types of tape do not actually write two filemarks to tape,
+but when read, report a 'phantom' filemark when the last file is read.
+These devices include the QIC family of devices. It might be that this
+set of devices is the same set as that of fixed block devices. This has not
+been detirmined yet, and they are treated as separate behaviors by the
+driver at this time.
+.Pp
+.SH KERNEL CONFIGURATION
+In configuring, if an optional
+.Ar count
+is given in
+the specification, that number of scsi tapes are configured;
+Most storage for them is allocated only when found so a large number
+of configured devices is cheap. (once the first has included the driver).
+.Pp
+Because different tape drives behave differently, there is a mechanism
+within the source to st, to quickly and conveniently recognise and deal
+with brands and models of drive that have special requirements.
+.Pp
+There is a table (called the rogues gallery) in which the indentification
+strings of known errant drives can be stored. Along with each is
+a set of flags that allows the setting of densities and blocksizes for each
+of the 4 modes, along with a set of 'QUIRK' flags that can be
+used to enable or disable sections of code within the driver if a particular
+drive is recognised.
+.Pp
+.Sh IOCTLS
+The following
+.Xr ioctl 2
+calls apply to scsi tapes. Some also apply to other tapes. They are defined
+in the header file
+.Em /sys/mtio.h.
+
+.Bl -tag -width MTIOCEEOT
+.It Pa MTIOCGET
+Get the mt control structure filled out by the driver, showing
+all the present settings.
+.It Pa MTIOCTOP
+Perform one of the following operations. These operations all have a
+single argument, which is either a boolean, or a signed integer, depending
+on the operation.
+.Bl -tag -width MTSELDNSTY
+.It Pa MTWEOF
+Write N end of file marks at the present head position.
+.It Pa MTFSF
+Skip over N Filemarks. Leave the head on the EOM side of the last skipped
+Filemark.
+.It Pa MTBSF
+Skip BACKWARDS over N Filemarks. Leave the head on the BOM (beginning of media)
+side of the last skipped Filemark.
+.It Pa MTFSR
+Skip forwards over N records.
+.It Pa MTBSR
+Skip backwards over N records.
+.It Pa MTREW
+Rewind the device to the beginning of the media.
+.It Pa MTOFFL
+Rewind the media (and if possible eject). Even if the device cannot
+eject the media it will often no longer respond to normal requests.
+.It Pa MTNOP
+No Op, set status only..
+.It Pa MTCACHE
+Enable controller Buffering.
+.It Pa MTNOCACHE
+Disable controller Buffering.
+.It Pa MTSETBSIZ
+Set the blocksize to use for the device/mode. If the device is capable of
+variable blocksize operation, and the blocksize is set to 0, then the drive
+will be driven in variable mode. This parameter is in effect for the present
+mount session only, unless set on the control device.
+.It Pa MTSETDNSTY
+Set the Density value (see
+.Xr st 1
+) to use when running in the mode openned (minor bits 2,3).
+This parameter is in effect for the present
+mount session only, unless set on the control device.
+.El
+.It Pa MTIOCIEOT
+?Set END of TAPE processing... not yet supported.
+.It Pa MTIOCEEOT
+?Set END of TAPE processing... not yet supported.
+.El
+.Pp
+In addition, The
+.Nm
+driver will allow the use of any of the general
+.Xr scsi 4
+ioctls, as long as the control device is used.
+
+.Sh FILES
+.Bl -tag -width /dev/[n][e]rst[0-9].[0-3] -compact
+.It Pa /dev/[n][e]rst[0-9].[0-3]
+general form:
+.It Pa /dev/rst0.0
+Mode 0, rewind on close
+.It Pa /dev/nrst0.2
+Mode 2, No rewind on close
+.It Pa /dev/erst0.3
+Mode 3, Eject on close (if capable)
+.It Pa /dev/rst0
+Another name for rst0.0
+.It Pa /dev/nrst0
+Another name for nrst0.0
+.It Pa /dev/st0ctl.0
+Parameters set to this device become the default parameters for [en]rst0.0
+.It Pa /dev/st0ctl.1
+Parameters set to this device become the default parameters for [en]rst0.1
+.It Pa /dev/st0ctl.2
+Parameters set to this device become the default parameters for [en]rst0.2
+.It Pa /dev/st0ctl.3
+Parameters set to this device become the default parameters for [en]rst0.3
+.El
+.Sh DIAGNOSTICS
+None.
+.Sh SEE ALSO
+.Xr mt 1
+.Xr st 1
+.Sh HISTORY
+This
+.Nm
+driver appeared in MACH 2.5 .
+
diff --git a/share/man/man4/su.4 b/share/man/man4/su.4
new file mode 100644
index 0000000..1d958b0
--- /dev/null
+++ b/share/man/man4/su.4
@@ -0,0 +1,57 @@
+.Dd August 27, 1993
+.Dt SU 4
+.Os FreeBSD
+.Sh NAME
+.Nm su
+.Nd scsi user-level driver
+.Sh SYNOPSIS
+.Nm device-driver su
+.Sh DESCRIPTION
+The
+.Xr su
+driver provides support for a
+process to address arbitrary locations on the scsi bus. Minor
+numbers are mapped 1:1 to bus:target:lun. The lowest three bits being LUN
+and the next three bits being TARGET. Remaining bits are the bus number.
+.Pp
+A scsi adapter must also be separatly configured into the system
+before this driver makes sense.
+.Pp
+.Sh THE SU DEVICE IS NOT COMPLETED YET
+.Sh KERNEL CONFIGURATION
+There are no configuration parameters for the su option. It'e either there
+or it's not.
+
+.Pp
+.Sh IOCTLS
+The
+.Nm
+driver has no ioctls of it's own but rather acts as a medium for the
+generic
+.Xr scsi 4
+ioctls. These are described in
+.Em sys/scsiio.h.
+
+
+.Sh FILES
+.Bl -tag -width /dev/su0-0-0XXXXXXXXXXX -compact
+.It Pa /dev/su[0-9]-[0-7]-[0-7]
+su{x}-{y}-{z} is the su device for the device at bus x, target y, lun z
+.El
+.Sh DIAGNOSTICS
+All
+.Xr scsi 4
+debug ioclts work on
+.Nm
+devices.
+.Sh SEE ALSO
+.Xr sd 4
+.Xr st 4
+.Xr cd 4
+.Xr uk 4
+.Xr scsi 4
+.Sh HISTORY
+The
+.Nm
+driver appeared in 386BSD 0.1
+
diff --git a/share/man/man4/uk.4 b/share/man/man4/uk.4
new file mode 100644
index 0000000..bf874e0
--- /dev/null
+++ b/share/man/man4/uk.4
@@ -0,0 +1,60 @@
+.Dd October 11, 1993
+.Dt UK 4
+.Os FreeBSD
+.Sh NAME
+.Nm uk
+.Nd scsi user-level driver
+.Sh SYNOPSIS
+.Nm device-driver uk
+.Sh DESCRIPTION
+The
+.Xr uk
+driver provides support for a
+process to address devices on the scsi bus for which there is no configured
+driver.
+.Nm
+devices are numbered in the order they are found.
+.Pp
+A scsi adapter must also be separatly configured into the system
+before this driver makes sense.
+.Pp
+.Sh KERNEL CONFIGURATION
+If an count is given that number of
+.Nm
+devices will be configured into the kernel.
+
+
+.Pp
+.Sh IOCTLS
+The
+.Nm
+driver has no ioctls of it's own but rather acts as a medium for the
+generic
+.Xr scsi 4
+ioctls. These are described in
+.Em sys/scsiio.h.
+
+
+.Sh FILES
+.Bl -tag -width /dev/uk0XXX -compact
+.It Pa /dev/uk[0-255]
+uk{x} is the 'xth'unknown device found.
+.El
+.Sh DIAGNOSTICS
+All
+.Xr scsi 4
+debug ioclts work on
+.Nm
+devices.
+.Sh SEE ALSO
+.Xr sd 4
+.Xr st 4
+.Xr cd 4
+.Xr ch 4
+.Xr su 4
+.Xr scsi 4
+.Sh HISTORY
+The
+.Nm
+driver appeared in 386BSD 0.1
+
OpenPOWER on IntegriCloud