AUTOCONFIG(8) UNIX Programmer's Manual AUTOCONFIG(8) NAME autoconfig - configure the running system to the hardware SYNOPSIS autoconfig [ -i _i_f_i_l_e ] [ -n _n_f_i_l_e ] [ -k _k_f_i_l_e ] [ -v ] [ -c ] DESCRIPTION _A_u_t_o_c_o_n_f_i_g is called by _i_n_i_t(8) to configure the currently running system. Init checks the exit status of autoconfig to determine if the configuration was successful. _A_u_t_o_c_o_n_- _f_i_g reads the device table /_e_t_c/_d_t_a_b for a list of devices which may be on the system. It first verifies that the ker- nel has an attach routine for each device (and therefore has a device handler), and that either the kernel or _a_u_t_o_c_o_n_f_i_g 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 vec- tor 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. There are only a few flags which are mostly useful only for debugging but for completeness, here they are. -i _i_f_i_l_e Use _i_f_i_l_e instead of /_e_t_c/_d_t_a_b as the device table. -n _n_f_i_l_e Use _n_f_i_l_e instead of /_u_n_i_x for finding the namel- ist of the currently running kernel. -k _k_f_i_l_e The file _k_f_i_l_e should be used instead of /_d_e_v/_k_m_e_m to alter and read kernel memory. -v Verbose output, indicates reason for rejecting any device in the device table. Normally only attached devices are reported. -c Report error messages for devices skipped because of problems with their interrupt vectors. Printed 8/2/83 1 AUTOCONFIG(8) UNIX Programmer's Manual AUTOCONFIG(8) BUGS Devices of the same type must be listed with ascending unit numbers or with wildcards. 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. FILES /etc/dtab device table /unix /dev/kmem SEE ALSO ucall(2), dtab(5) Printed 8/2/83 2