Drvmap -- hardware driver description file


One of the Installable Driver/Tunable Parameters kernel configuration files, the Drvmap file contains descriptions of a hardware driver and the board(s) it supports. This file also indicates whether a driver supports autoconfiguration. It is used by the Device Configuration Utility (dcu(1M)) as well as the kernel configuration tools. This file is required for DDI 8 drivers and for autoconfigured, dynamically-linked drivers written for DDI versions prior to version 8. Other drivers may also supply a Drvmap file. If they do not, the kernel treats them as if they had a Drvmap file with the following contents:

Blank lines and lines beginning with ``#'' or ``*'' are considered comments and are ignored up to the line containing the first occurrence of the driver name, but lines beyond the driver name are processed regardless of ``#'' or ``*'' symbols. It is important to keep comments in the header only, before the first line containing the driver name. Multiple fields on a line are separated by vertical bars (``|'').

The first non-comment line of a Drvmap file contains the following per-driver fields:


specifies the name of the driver module as it appears in its Master file.

specifies whether the driver supports autoconfiguration; ``Y'' indicates support and ``N'' indicates that autoconfiguration is not supported.

specifies whether the driver provides a verify routine to assist autoconfiguration; ``Y'' indicates the presence of a verify routine, ``V'' indicates the presence of a verify routine that must be invoked automatically by DCU before it assigns the driver to a device, and ``N'' indicates the absence of the routine.

describes the category of boards that the driver supports. It is a string that can include spaces but no vertical bars.

Typical entries for category include:

Identifies the overall manufacturer name or ``brand name'' of the boards that are supported by the driver. This is a string that can include spaces but no vertical bars. Brand identification allows one or more drivers to be grouped together at a finer granularity than category, but at a higher level than individual board types.

When the bus_type is ISA and there are multiple ISA entries, only the brand is displayed because the specific entry cannot be identified.

Following the driver information line is a line for each board type supported by the driver:


Specifies the type of bus with which the board is used.

Valid entries for bus_type are:

Specifies the board ID of the supported board(s). This is an optional field that can include spaces but no vertical bars. Board ID strings are specific for each bus type. Some boards and/or bus types may not have board IDs; for these, the board ID should be null. Each board ID in a Drvmap file must be unique. The wildcards ``*'' and ``?'' can be used in a Drvmap entry.

For example:

   |ISA||Board Foo

EISA board IDs are in uncompressed form.

MCA board IDs are in the form:


where each D is a hex digit, 0-9 or A-F. MCA board IDs must be four digits; when necessary leading zeroes must be used. For example:

PCI board IDs are in the form:


where V and D are hex digits, 0 - 9 or A - F, VVVV is the vendor ID, and DDDD is the device ID.

PCI board IDs may also be specified as:

where s and b are hex digits, 0 - 9 or A - F, ss is the sub-class ID, and bb is the base-class ID. This form matches any board of the given class and subclass.

I2O board IDs are specified as:

Each C is a hex digit, 0 - 9 or A - F, that combine to specify the I2O class code as defined by the I2O SIG; see ``I2O'' in HDK Technical Reference.

PCCARD board IDs are specified as:

where V, I, and F are hex digits, 0 - 9 or A - F. VVVV is the PC Card manufacturer code (TPLMID_MANF) and IIII is the manufacturer information (TPLMID_CARD) from the Manufacturer Identification Tuple (CISTPL_MANFID). In the event a CISTPL_MANFID tuple is not found a board ID will be created by making a checksum out of the bytes comprising the Level 1 Version/Product Information Tuple (CISTPL_VERS_1). FF is the function number, starting with 00.

specifies the name of the supported board(s) in a form that a user is likely to recognize. This is a string that can include spaces but no vertical bars.

Note that board lines are distinguished from driver lines by the initial vertical bar.

Each of the category, brand, and board_name fields can be a simple string or a message catalog reference in the following format:


where msgfile, msgnum, and string are the message catalog filename, the message number, and the default (English) string as expected by gettxt(1). The initial colon (``:'') distinguishes catalog references from simple strings.


dcu(1M), gettxt(1), idbuild(1M), idinstall(1M), Master(4dsp)
25 April 2004
© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 25 April 2004