NAME
eisa_config - EISA configuration tool
SYNOPSIS
eisa_config
eisa_config [-a]
eisa_config [-c cfgfile]
eisa_config [-n scifile]
DESCRIPTION
eisa_config is a specialized program for configuring EISA and ISA
(referred to collectively as E/ISA) I/O boards on HP-UX workstations
equipped with EISA backplanes. It is used each time the E/ISA
configuration is to be changed in any way; i.e., whenever an EISA or
ISA board is added to the system, removed from the system, or moved to
a different location in the system. eisa_config should be run before
any physical board configuration or installation changes are made.
(This is not necessary in some cases -- see automatic mode below.)
eisa_config interprets information stored in configuration files and
uses it to configure system resources needed to properly interact with
E/ISA boards. Even though they may be physically present in the
computer, E/ISA boards cannot be used by the HP-UX operating system
until configuration by eisa_config is complete.
The eisa_config command takes one of four forms:
eisa_config
Use interactive commands to examine or modify
configuration. eisa_config prompts for a command,
executes it, reports the results of command execution,
then prompts for the next command.
eisa_config -a
Attempt to automatically add new EISA boards to the
configuration. This option is used by /etc/bcheckrc
but should not be used elsewhere. ISA boards cannot be
added with this option.
eisa_config -c cfgfile
Check configuration (CFG) file (discussed below). This
option is used mostly by E/ISA board developers. It
simply checks the specified CFG file to verify that it
follows correct grammar and can be used by eisa_config.
This option does not affect current configuration in
any way.
eisa_config -n scifile
Non-target mode. This option uses the contents of
scifile instead of non-volatile memory (NVM) to set up
E/ISA configuration, and is most commonly used for
creating identical configurations on multiple
workstations.
Assigning Resources
Depending on their design, internal capabilities, and their role in
system operation, E/ISA boards use various combinations of one or more
system resources such as DMA channels, interrupt lines, memory, etc.
Also, given boards do not always use a full set of system resources;
for example, EISA provides 11 interrupt lines, but a given board might
be able to use only lines 3, 5, and 6. Thus a means for the board to
determine what resources are to be used must be provided.
ISA boards use physical switches or jumpers on the board to specify
what resources are to be used. The person installing the board sets
the switches or jumpers as specified by the board's manufacturer and
based on system needs. There are thousands of different kinds of ISA
boards, but unfortunately there are no standard conventions for switch
and jumper usage. This results in much confusion and numerous
configuration problems. For example, it is easy to inadvertently
assign a given resource to two different boards, but often very
difficult to diagnose the problem.
EISA boards usually have no switches or jumpers for resource
assignment. Instead, each EISA board has a corresponding
configuration (CFG) file that tells the system how the board can be
used and what resources it needs. eisa_config is the HP-UX system
program that interprets the various CFG files for all boards in the
system, then builds a conflict-free configuration.
Configuration Files
All EISA boards have a corresponding CFG file. ISA boards, when used
in HP-UX systems, must also have a corresponding CFG file. Although
eisa_config cannot automatically configure an ISA board, it can use
the contents of the CFG file to determine what switch or jumper
settings on an ISA board can be used to prevent resource conflicts.
eisa_config expects to find a CFG file for each E/ISA board connected
to the workstation. The administrator is responsible for making sure
that these CFG files are present in directory /etc/eisa. CFG files
corresponding to boards being used should always be kept in this
directory. Do not remove them after eisa_config is run the first
time, because they will be needed every time the configuration is
changed, such as when a new board is added or one is removed. Do not
change the file names of the CFG files. The file name has a specific
format which is used by eisa_config to automatically match a board
with its CFG file.
CFG files are normally supplied by the E/ISA board manufacturer. Two
scenarios apply:
o If the E/ISA board is supplied by HP, the CFG file
corresponding to the board is loaded into /etc/eisa as part of
normal operating system installation. It should never be
removed.
o If the E/ISA board is not supplied by HP, install both the CFG
file and the software driver for the board from HP-UX-readable
media supplied by the board manufacturer. Copy the CFG file
to directory /etc/eisa where it must remain as long as the
card is present in the system.
All CFG files must follow a grammar specified in the EISA bus
specification. The most basic building block in the CFG grammar is
the board. Each board has several attributes including board ID (to
match with a board's ID register), manufacturer, ASCII text describing
what the board does, what kinds of slots the board can go in, whether
the board has a readable ID register, and various other capability
attributes.
Each file can also contain lists of board-wide resources (such as I/O
registers, switches, and jumpers) and how they should be initialized.
A board can be treated as a set of one or more functions where a given
board contains a single function or multiple functions. An example of
a two-function board is one having both a serial port and a parallel
printer port. Each function has a separate block in that board's CFG
file. Each function has a name, a type, and a set of configuration
choices.
Each choice block has a name and a set of attributes. These
attributes include what resources the choice requires and whether the
function is enabled or disabled by that choice. Initialization is
also usually specified within a choice. A given choice might require
that certain registers be initialized to a specified value and that
switches be set in a certain way.
Configuration Processing
E/ISA configuration is handled as follows:
o eisa_config builds a conflict-free configuration, then saves
the configuration in EISA non-volatile memory (NVM).
o Appropriate drivers and device files must be installed before
rebooting the system.
o Next time the operating system is rebooted, the HP-UX kernel
initializes the specified E/ISA boards according to the
contents of NVM.
If a board is currently present in the system, but has no
corresponding configuration data in NVM, the EISA board cannot be used
until the eisa_config program is run again and the new board is
accounted for in NVM. A newly installed or existing E/ISA board is
not usable until eisa_config has added it and the system has been
rebooted with the necessary drivers and device special files
installed. See EXAMPLES for an illustration of how to add a new board
to the system.
It is possible to add EISA boards that do not have switches or jumpers
to the configuration without running eisa_config interactively. The
/etc/bcheckrc script invokes eisa_config with automatic mode during
each system initialization. If a board has been added since the last
time eisa_config was executed, eisa_config attempts to add the new
board to the configuration. If the new board is successfully added,
the system may need to be rebooted (/etc/bcheckrc does this
automatically). If the new board could not be added to the
configuration, a warning is written to the system console and
/etc/eisa/config.err.
In addition to writing to NVM, eisa_config also automatically saves
the current configuration to an SCI file called /etc/eisa/system.sci.
SCI files can also be created by the interactive save command (see
below). The E/ISA subsystem can also be initialized from an SCI file,
rather than from NVM by using the eisa_config -n command form
discussed earlier. SCI files are quite useful when a site has several
identically-configured workstations. Run eisa_config on one system
and save the configuration in an SCI file. Copy this file to other
systems, then use it to initialize those systems. Remember that the
configuration must be saved to NVM and the system rebooted before the
E/ISA boards can be used.
Drivers and Device Files
Running eisa_config is not the only task necessary when adding an
E/ISA board to a system. Corresponding I/O drivers must be added to
the kernel and appropriate device files must be created. These steps
are the same as is required for any I/O card, and can be performed
either before or after running eisa_config. The important thing to
remember is that the E/ISA board cannot be used until all necessary
tasks are complete.
Interactive Commands
If the command form eisa_config is used, eisa_config runs in
interactive mode. Interactive mode conducts configuration changes by
using a series of keyboard commands. eisa_config prompts for a
command, executes it, displays the results of executing the command,
then prompts for the next command. Interactive commands are broadly
grouped into five categories:
action Alter the configuration in some way.
display Show current configuration.
cfg Manage CFG files.
comments Display help and comments information found in CFG
files.
help Help for using eisa_config interactive commands
The action commands are:
add cfgfile slotnum Adds a board to the current configuration.
cfgfile specifies which CFG file corresponds
to the board and slotnum identifies the slot
where the board resides.
remove slotnum Remove a board from the current
configuration. slotnum identifies the slot
where the board currently resides.
move curslotnum newslotnum
Move a board that is currently configured in
one slot to a different slot. curslotnum and
newslotnum specify the current and new slot
numbers, respectively.
change slotnum functionnum choicenum
Change the choice used for a given function.
All three arguments, slotnum, functionnum,
and choicenum are required. The function
number (functionnum) and choice number
(choicenum) can be obtained by using the show
board command on the slot in question.
Function numbers are of the format Fnum and
choice numbers are of the format CHnum. Note
that a board must already be part of the
configuration before the change command can
be used.
When eisa_config adds a board, it selects a
choice for each function. Generally, the
first choice for each function is selected
(the default). However, in order to resolve
conflicts, eisa_config may select a different
choice for a given function. When specifying
a choice for a particular function by use of
the change command, eisa_config always uses
that choice; it does not select a different
one, even when a conflict needs to be
resolved.
save [filename] Save the current configuration. If the
current configuration is not conflict-free, a
warning is produced and the save is not done.
If you specify a file name, the save is done
to that file; otherwise, the save is done to
NVM (and the /etc/eisa/system.sci file).
Note that the quit command also (optionally)
saves the configuration to NVM (and file
/etc/eisa/system.sci).
When the configuration is saved to NVM, a log
file is created that provides a brief
desription of the new configuration. The log
file is named /etc/eisa/config.log, and
contains information generated by a show
command, followed by a show board command,
followed by a show switch command.
init [filename] Initialize the configuration. The initial
configuration is retrieved from a file if one
has been specified. Otherwise, it is
retrieved from NVM. Note that an implicit
init is done when eisa_config is first
started. This command should only be used
when the current configuration eisa_config is
dealing with is incorrect. For example, if
you make some changes that you decide you do
not want, you can use this command to start
over.
quit Leave eisa_config. If the configuration is
conflict-free and has been changed, you are
asked if you want to save the configuration
(to NVM). If any switches or jumpers have to
be changed as a result of this new
configuration, you are notified of these
changes prior to saving the configuration.
Be sure that all switches and jumpers match
what eisa_config has specified before booting
the system.
When the configuration is saved to NVM, a log
file is created that provides a brief
desription of the new configuration. The log
file is named /etc/eisa/config.log, and
contains information generated by a show
command, followed by a show board command,
followed by a show switch command.
The show (display) commands are:
show List all slots and their current status;
i.e., whether occupied by a particular board,
or empty.
show slots cfgfile List all of the slots that could accept the
board corresponding to the CFG file cfgfile.
show board [cfgfile|slotnum]
List the basic attributes for the selected
board or boards. Includes a list of all the
functions on the board and a list of all
available choices for each function. If the
board is currently part of the configuration,
the currently selected choice is marked. The
default choice is the first choice listed for
each function. If a board is not specified
(either by CFG file name or slot number),
information is displayed for each of board
installed and configured in the system.
show switch [ changed ] [slotnum]
List the switch and jumper settings (both
default and required) for the boards in the
configuration. If the keyword changed is
used, only those switches and jumpers that
were changed from the previous configuration
are displayed. If a slot number is
specified, only switches and jumpers on the
board in that slot are displayed. Note that
show switch supports all combinations of
changed and slotnum.
There are two kinds of cfg commands:
cfgtypes List the types of boards that have CFG files
in directory /etc/eisa and how many CFG files
in /etc/eisa are of each type.
cfgfiles [type] List all CFG files that are currently
available for use in the /etc/eisa directory.
If a specific board type is specified, only
CFG files of that type are displayed.
comment commands extract the help and comments text provided in the
specified CFG file or files. Both help and comments are displayed if
they are available. Each command form accepts as an argument either a
CFG file or a slot number identifying which board you want help for.
comment board [cfgfile|slotnum]
Display board-level help and comments.
comment function [cfgfile|slotnum]
Display function-level help and comments.
comment choice [cfgfile|slotnum]
Display choice-level help.
comment switch [cfgfile|slotnum]
Display help and comments for switches and/or
jumpers as appropriate.
Note that all arguments (except the type of comments requested)
are optional. If no optional argument is specified, all
available comments for the specified file or board are extracted.
For example:
comment board 1 Display help and comments available for the
board currently configured in slot 1.
comment board Display help and comments available for all
currently configured boards.
The help commands explain how to use the eisa_config interactive
commands. If no other arguments are given, help is displayed for all
of the interactive commands. Alternatively, any valid command can be
used as a argument to the help command. Help is then given for the
specified command only.
help Display a brief explanation of all valid
eisa_config interactive commands.
help [cmdname] Display an explanation of the command
specified.
EXAMPLES
Add a new E/ISA board to the system:
1. Load the CFG file (from media provided by the manufacturer)
into directory /etc/eisa if the file is not already present.
2. Run eisa_config. eisa_config reads the contents of NVM to
obtain current system configuration.
3. Use the interactive add command to add the new board.
eisa_config reads the corresponding CFG file to obtain needed
configuration information.
4. Exit eisa_config, noting any required switch or jumper
settings. eisa_config generates a new configuration and
writes it to NVM. The required switch and jumper settings are
also saved in the log file /etc/eisa/config.log.
5. Add the correct software drivers for the board (and board
devices) to the kernel, and use mknod(1M) to create any needed
device special files.
6. Shut down and disconnect power to the system.
7. Install the E/ISA board after changing any switch or jumper
settings required by eisa_config.
8. Reboot the system. When the system is running again, the
contents of NVM will match the E/ISA boards present in the
system, and the newly added board can be used immediately.
This procedure can also be used to add multiple new boards at the same
time. Simply use the add command once for each board and alter the
other steps as appropriate.
If the board to be added is an EISA board that does not have switches
or jumpers, the board can be added via automatic mode; that is, steps
2-4 above can be skipped.
AUTHOR
eisa_config was developed by HP and Compaq.
FILES
/etc/eisa/!XXX0000.CFG CFG files
/etc/eisa/config.err errors encountered in
automatic mode
/etc/eisa/config.log log file containing current
E/ISA configuration
/etc/eisa/system.sci mirror image of configuration
saved to NVM
SEE ALSO
config(1M), mknod(1M).
Hewlett-Packard Company HP-UX Release 9.0: August 1992