CONFIGURE(C) XENIX System V CONFIGURE(C)
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
Select a parameter category to reconfigure by typing a
number from 1 to 10, or type 'q' to quit:
To choose a category, enter its number, (e.g. ``1'' for
``Disk Buffers'') then press RETURN.
Page 1 (printed 8/7/87)
CONFIGURE(C) XENIX System V CONFIGURE(C)
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, it continues to prompt
for a value until you enter one that is appropriate.
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.
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.
Page 2 (printed 8/7/87)
CONFIGURE(C) XENIX System V CONFIGURE(C)
configure uses the following options:
-a [ func1 func2 ... ]
-d [ func1 func2 ... ]
-b
-c
-d [ func1 func2 ... ]
-f master_file [ dfile ]
-l priority_level
-m major
-n
-q
-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
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.
-v This option modifies the system 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.
-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
Page 3 (printed 8/7/87)
CONFIGURE(C) XENIX System V CONFIGURE(C)
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.
-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.
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:
Page 4 (printed 8/7/87)
CONFIGURE(C) XENIX System V CONFIGURE(C)
configure -a foopoll fooinit -c -m 17
Delete the ``foo'' driver:
configure -m 17 -d -c
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
See Also
master(F), config(C)
Page 5 (printed 8/7/87)