1*47673Scael.\" Copyright (c) 1986, 1991 Regents of the University of California.
2*47673Scael.\" All rights reserved.
330144Smckusick.\"
4*47673Scael.\" %sccs.include.redist.man%
530144Smckusick.\"
6*47673Scael.\"     @(#)autoconf.4	6.3 (Berkeley) 03/27/91
7*47673Scael.\"
8*47673Scael.Dd
9*47673Scael.Dt AUTOCONF 4 tahoe
10*47673Scael.Os BSD 4.3t
11*47673Scael.Sh NAME
12*47673Scael.Nm autoconf
13*47673Scael.Nd diagnostics from autoconfiguration code
14*47673Scael.Sh DESCRIPTION
15*47673ScaelWhen
16*47673Scael.Tn UNIX
17*47673Scaelbootstraps it probes the innards of the machine it is running
1830144Smckusickon and locates controllers, drives, and other devices, printing out
1930144Smckusickwhat it finds on the console.  This procedure is driven by a system
2030144Smckusickconfiguration table which is processed by
21*47673Scael.Xr config 8
2230144Smckusickand compiled into each kernel.
23*47673Scael.Pp
24*47673Scael.Tn VERSAbus
25*47673Scaeldevices are located by probing to see if their control-status
2630144Smckusickregisters respond.  If not, they are silently ignored.  If the control
2730144Smckusickstatus register responds but the device cannot be made to interrupt,
2830144Smckusicka diagnostic warning will be printed on the console and the device
2930144Smckusickwill not be available to the system.
30*47673Scael.Pp
3130144SmckusickA generic system may be built which picks its root device at boot time
32*47673Scaelas the
33*47673Scael.Dq best
34*47673Scaelavailable device.
35*47673ScaelIf such a system is booted with the
36*47673Scael.Dv RB_ASKNAME
37*47673Scaeloption of (see
38*47673Scael.Xr reboot 2 ) ,
3930144Smckusickthen the name of the root device is read from the console terminal at boot
4030144Smckusicktime, and any available device may be used.
41*47673Scael.Sh DIAGNOSTICS
42*47673Scael.Bl -diag
43*47673Scael.It vba%d at %x.
44*47673ScaelA
45*47673Scael.Tn VERSAbus
46*47673Scaeladapter was found and mapped into the
47*47673Scaeladdress space of the operating system starting at virtual address
48*47673Scael.Sq Li  %x .
49*47673Scael.Tn UNIX
50*47673Scaelwill call it
51*47673Scael.Sq Li vba%d .
52*47673Scael.It %s%d at vba%d drive %d.
53*47673ScaelA tape formatter or a disk was found
54*47673Scaelon the
55*47673Scael.Tn VERSAbus ;
56*47673Scaelfor disks
57*47673Scael.Sq Li %s%d
58*47673Scaelwill look like
59*47673Scael.Sq Li dk0 ,
60*47673Scaelfor tape formatters
61*47673Scaellike
62*47673Scael.Sq Li yc1 .
63*47673ScaelThe drive number comes from the unit plug on the drive
64*47673Scaelor in the tape formatter
65*47673Scael.Pf ( Em not
66*47673Scaelon the tape drive; see below).
67*47673Scael.It %s%d at %s%d slave %d.
68*47673ScaelWhich would look like
69*47673Scael.Sq Li yc0 at cy0 slave 0% ,
70*47673Scaelwhere
71*47673Scael.Em yc0
72*47673Scaelis the name for the tape device and
73*47673Scael.Em cy0
74*47673Scaelis the name
7531722Ssamfor the formatter.  A tape slave was found on the tape formatter at the
7631722Ssamindicated drive number (on the front of the tape drive).
77*47673Scael.Tn UNIX
78*47673Scaelwill call the device, e.g.,
79*47673Scael.Li cy0.
80*47673Scael.It %s%d at vba%d csr %x vec %x ipl %x.
81*47673ScaelThe device
82*47673Scael.Sq Li %s%d ,
83*47673Scaele.g.
84*47673Scael.Sq Li vd0
85*47673Scaelwas found on
86*47673Scael.Sq Li vba%d
87*47673Scaelat control-status register address
88*47673Scael.Sq Li %x
89*47673Scaeland with
90*47673Scaeldevice vector
91*47673Scael.Sq Li %x .
92*47673ScaelThe device interrupted at priority level
93*47673Scael.Sq Li %x .
94*47673Scael.It %s%d at vba%d csr %x no interrupts.
95*47673ScaelThe device was found
96*47673Scaelon
97*47673Scael.Sq Li vba%d
98*47673Scaelat control-status register address
99*47673Scael.Sq Li %x ;
100*47673Scaelno
10131722Ssaminterrupts were configured for the device.
102*47673Scael.It %s%d at vba%d csr %x didn't interrupt.
103*47673ScaelThe device did not interrupt,
10430144Smckusicklikely because it is broken, hung, or not the kind of device it is advertised
10531722Ssamto be.  The csr address is interpreted as described above.
106*47673Scael.It %s%d at %s%d slave %d.
107*47673ScaelWhich would look like
108*47673Scael.Sq Li dk0 at vd0 slave 0 ,
109*47673Scaelwhere
110*47673Scael.Em dk0
111*47673Scaelis the name of a disk drive and
112*47673Scael.Em vd0
113*47673Scaelis the name
11431722Ssamof the controller.
115*47673Scael.El
116*47673Scael.Sh SEE ALSO
117*47673Scael.Xr config 8
118*47673Scael.Sh HISTORY
119*47673ScaelThe
120*47673Scael.Nm
121*47673Scaelspecial file appeared in
122*47673Scael.Bx 4.3 tahoe .
123*47673Scael.Sh BUGS
12431722SsamVery few devices actually figure out their interrupt vector
12531722Ssamby forcing the device to interrupt.  Only the upper megabyte of the
126*47673Scael.Tn VERSAbus
127*47673Scaeladdress space is mapped into the system's virtual address space.
128