2.9BSD/usr/man/man8/autoconfig.8

Compare this file to the similar file:
Show the results in this format:

.TH AUTOCONFIG 8
.UC
.SH NAME
autoconfig \- configure the running system to the hardware
.SH SYNOPSIS
.B autoconfig
[ \-i
.I ifile
] [ \-n
.I nfile
] [ \-k
.I kfile
] [ \-v ] [ \-c ]
.SH DESCRIPTION
.PP
.I Autoconfig
is called by
.IR init (8)
to configure the currently running system.
Init checks the exit status of autoconfig to determine if
the configuration was successful.
.I Autoconfig
reads the device table
.I /etc/dtab
for a list of devices which may be on the system.
It first verifies that the kernel has an attach routine
for each device (and therefore has a device handler),
and that either the kernel or
.I autoconfig
has a probe routine.
It then checks each of these devices to see if it is present,
and if it is,
attempts to make it interrupt (if possible) to verify that the interrupt
vector is correct.
The interrupt vector is checked to see that it has not previously been used.
An interrupt through any of the device's consecutive vectors is sufficient.
If the address and vector are correct, it then attaches the device
by passing the address and unit number
to the kernel's attach routine and setting up the interrupt vector according to
the interrupt handlers and priority listed in the device table.
If the unit number is given as a '?' in the device table,
it will be assigned the next available unit number if the device exists.
If the device is not present or the vector is incorrect,
and if the unit number was specified (not a '?'),
then the kernel is notified that that unit is not present,
preventing accesses to a nonexistent device address.
.PP
There are only a few flags which are mostly useful only for debugging
but for completeness, here they are.
.TP "\w'\fB\-k\fI kfile\fR  'u"
\fB\-\^i\fI ifile\fR
Use
.I ifile
instead of
.I /etc/dtab
as the device table.
.TP
\fB\-\^n\fI nfile\fR
Use
.I nfile
instead of
.I /unix
for finding the namelist of the currently running kernel.
.TP
\fB\-\^k\fI kfile\fR
The file
.I kfile
should be used instead of
.I /dev/kmem
to alter and read kernel memory.
.TP
\fB\-\^v\fR
Verbose output, indicates reason for rejecting any device in the device
table.  Normally only attached devices are reported.
.TP
\fB\-\^c\fR
Report error messages for devices skipped because of problems with
their interrupt vectors.
.SH BUGS
Devices of the same type must be listed with ascending unit numbers
or with wildcards.
.PP
Disks that could be root devices must have their addresses
and vectors initialized in the kernel;
the kernel uses a root attach entry in the block device switch
to allow disk drivers to do any probes necessary before autoconfiguration.
.SH FILES
.ta 2i
/etc/dtab	device table
.br
/unix
.br
/dev/kmem
.SH SEE ALSO
ucall(2), dtab(5)