CONFIGURE(ADM) XENIX System V CONFIGURE(ADM)
Name
configure - xenix configuration program.
Syntax
configure [options] [parm=val ... ]
Description
The configure program determines and alters different kernel
resources. For end users, configure is easier than
modifying the system configuration files directly. For
device driver writers, configure avoids the difficulties of
editing configuration files that have already been edited by
an earlier driver configuration script.
Resources are modified interactively or with command-line
arguments. Adding or deleting device driver components
requires the command line options.
The next paragraphs discuss how to use configure
interactively. Command line options are discussed in the
section.
Interactive Usage
configure functions interactively when no options are given,
or when -f is the only option specified on the command line.
When you invoke configure interactively, you first see a
category menu that looks something like this:
1. Disk Buffers
2. Character Buffers
3. Files, Inodes, and Filesystems
4. Processes, Memory Management & Swapping
5. Clock
6. MultiScreens
7. Message Queues
8. Semaphores
9. Shared Data
10. System Name
11. Streams Data
12. Event Queues and Devices
13. Hardware Dependent Parameters
Select a parameter category to reconfigure by typing a
number from 1 to 13, or type 'q' to quit:
To choose a category, enter its number, (e.g. ``1'' for
``Disk Buffers'') then press RETURN.
Page 1 (printed 2/7/91)
CONFIGURE(ADM) XENIX System V CONFIGURE(ADM)
Each category contains a number of configurable resources.
Each resource is presented by displaying its true name, a
short description, and its current value. For example, for
the ``Disk Buffers'' category you might see:
NBUF: total disk buffers. Currently determined at system
start up: NSABUF: system-addressable (near) disk buffers.
Currently 10: NHBUF: hash buffers (for disk block sorting).
Currently 128:
To keep the current value, simply press RETURN. Otherwise,
enter an appropriate value for the resource, then press
RETURN. configure checks each value to make sure that it is
within an appropriate range. If not, configure will warn
you that the value is inappropriate and confirm that you
wish to override the recommended value.
To exit from configure enter 'q' at the category menu
prompt. If any changes are made, configure asks if it
should update the configuration files with the changes. To
keep the old configuration values, enter 'n' at this prompt,
and no changes are made. Otherwise, enter 'y' and configure
updates the required system configuration files. After
configure has completed, the kernel is ready for linking.
To link the kernel, enter:
cd /usr/sys/conf ./link_xenix
Linking may take a few minutes. After the kernel is linked,
enter the following commands to place a copy of the new
kernel (xenix.new) in the root directory and reboot the
system:
cp /usr/sys/conf/xenix /xenix.new
/etc/shutdown
Eventually, you see the boot prompt:
Boot
:
To test the new kernel, enter the following at the boot
prompt:
xenix.new
The system is now running the new kernel. When you are
satisfied with the performance of the new kernel, enter the
following command to install the new kernel on the hard
Page 2 (printed 2/7/91)
CONFIGURE(ADM) XENIX System V CONFIGURE(ADM)
disk:
/usr/sys/conf/hdinstall
The hdinstall(ADM) program backs up the old /xenix and
copies /usr/sys/conf/xenix to /xenix.
Remove xenix.new by entering the following command:
rm /xenix.new
Reboot the system to run the new kernel.
Options
The command line options are designed for writers of
driver-installation shell scripts. You can configure
drivers, remove driver definitions from the configuration
files, and modify some driver attributes, all from the
command line. There are also options for querying the
current driver configuration, querying kernel resources, and
modifying thse resources.
configure uses the following options:
-a [ func1 func2 ... ]
-d [ func1 func2 ... ]
-b
-c
-d [ func1 func2 ... ]
-f master_file [ dfile ]
-g dev_name handler | dev_name
-j [ prefix ] [ NEXTMAJOR ]
-l priority_level
-m major
-n
-q
-r
-t
-v interrupt_vector [ interrupt_vector2... ]
-w
-x
-y resource
-m, -b, and -c
These options are used to define which driver is being
referenced. Following -m must be the major device
number of the driver. If you are configuring a block
driver, -b must appear; if you are configuring a
character driver, -c must appear. Both are used when
configuring a driver with both kinds of interfaces.
-a and -d
Page 3 (printed 2/7/91)
CONFIGURE(ADM) XENIX System V CONFIGURE(ADM)
Each option is followed by a list of functions to add
or delete, respectively. These are the names of the
functions that appear within bdevsw[] or cdevsw[], as
appropriate, plus the names of the initialization,
clock poll, halt and interrupt routines, if present,
plus the names of the tty, stream, and tab structure
pointers. configure enforces the rules that all of a
driver's routines must have a common prefix, and that
the prefix be 2-4 characters long.
-j When followed by a prefix used by a driver, the major
device number is displayed. When followed by
NEXTMAJOR, the smallest unused major device number is
displayed.
-r This option forces a rewrite of the configuration files
regardless of whether or not the command changed the
configuration.
-v This option modifies the system's notion of the vectors
on which this device can interrupt. A device may
interrupt on up to 4 vectors.
-l This sets the interrupt priority level of the device,
which is almost always the same as the type of spl()
call used: a driver that interlocks using spl5()
almost always has an interrupt priority level of 5.
-q If the -q option is given, no qswtch() is possible
after returning from the device interrupt. Use of this
option in new drivers is not recommended.
-f The configuration is maintained in two data files,
whose default names are master and xenixconf. The -f
option can be used to specify alternate names. Note
that if -f is the only option present, the program is
still interactive.
-n If -n is present, the two configuration data files are
modified, but no `.o' files are produced. This option
is useful when configuring a driver package containing
multiple drivers.
-w This option suppresses warning messages.
-x This dumps all the resource prompts known to configure.
These reveal the name, description and current value of
each parameter capable of being reconfigured.
Category prompts are not dumped.
-y The -y option prints out the current value of the
requested resource.
Page 4 (printed 2/7/91)
CONFIGURE(ADM) XENIX System V CONFIGURE(ADM)-t This option prints out nothing (except possibly error
messages). However, it has a return value of 1 if a
driver corresponding to the given combination of -m,
-b, -c and options is already configured, and returns 0
if no such driver is present.
-g This option is used to add or remove graphics input
(GIN) device handlers. Devices such as mice, bitpads,
and keyboards may have handlers to turn their input
data into ``events.'' The -g flag may be given one
argument that is interpreted as a device name. That GIN
device is removed from the configuration files. If the
-g flag has two arguments, the second is a handler for
that device, and the device is added to the files. If
it was already present, its handler is updated and the
user is informed. Multiple devices may be added or
removed by specifying -g multiple times.
Setting Command-line Parameters
Any number of arguments can be given on the command line of
the form resource=value. These arguments can be given at
the same time as an add or delete driver request, but must
follow all the driver-configuration arguments on the command
line.
Some resources have values that are character strings. In
this case their values must be enclosed within the
characters \" . The quotes are syntactically necessary for
them to be used as C-language strings, and the backslashes
protect the quotes from being removed by the shell.
Examples
Print out the current value of NCLIST:
configure -y NCLIST
Return 1 if character major device 7 and vector 3 are
available:
configure -t -v 7 -m 3 -c
Add a clock-time polling and initialization routine to the
already configured ``foo'' driver, a hypothetical character
driver at major device #17:
configure -a foopoll fooinit -c -m 17
Delete the ``foo'' driver:
configure -m 17 -d -c
Page 5 (printed 2/7/91)
CONFIGURE(ADM) XENIX System V CONFIGURE(ADM)
Add a new ``hypo'' driver, a block driver with a character
interface. It absorbs 3 different interrupt vectors, at
priority 6:
configure -a hypoopen hypoclose hyporead hypowrite hypoioctl\
hypostrategy hypotab hypointr -b -c -l 6 -v 17 42 49
Notes
Kernel Data Space Restrictions (-286 only)
If the total size of all the allocated resources grows too
large, the group will not fit within the kernel's 64k near
data segment. You will not see messages about excessive
size from configure, but you may see them from the linker
when you attempt to link the kernel.
Files
/usr/sys/conf/master
/usr/sys/conf/xenixconf
/usr/sys/conf/config
/usr/sys/conf/space.o
/usr/sys/conf/c.o
See Also
master(F), config(ADM), event(M), hdinstall(ADM)
Page 6 (printed 2/7/91)