master(4)
NAME
master − master kernel configuration information
DESCRIPTION
A master file contains sections of information in a form suitable for config, enabling it to create a kernel configuration file (see config(1M)). Master files are found in the directory /usr/conf/master.d.
Each section of a master file begins with a line containing a "$" in column one followed by a section keyword. The section continues to the end of the file or until a line containing only three "$" characters is encountered. Lines beginning with an asterisk (*) are comments.
The following table lists the section keywords and purposes:
| Section keyword | Section purpose |
| $DEVICE | Device driver specification |
| $CDIO | Context Dependent I/O table |
| $DRIVER_INSTALL | List of drivers with installation functions |
| $DYN_MAJOR | Dynamic block and character major numbers |
| $ALIAS | Driver alias table |
| $TUNABLE | Tunable parameters |
| $DRIVER_DEPENDENCY | Driver-to-driver dependency table |
| $DRIVER_LIBRARY | Library location of driver table |
| $LIBRARY | Required/optional library table |
| $SUBSYSTEMS_DEFINE | Subsystems requiring #defines |
| $STREAMS_SYNC_LEVEL | STREAMS synchronization level table |
| $STREAMS_DVR_SYNC | STREAMS driver and module synchronization table |
Each section consists of text fields separated by space and tab characters and is described separately below. Bit mask fields are expressed as hexadecimal values which are constructed by computing the logical OR of the component bit values.
$DEVICE Section
Note: This section is provided for compatibility with previous HP-UX releases. New drivers should be added to the $DRIVER_INSTALL section.
Software drivers are defined using five fields defined as follows:
Field 1 Device name, used in the user-specified system_file (8 characters maximum).
Field 2 Handler name, used by the kernel to prefix routines such as cs80_read, lp_write, and others (8 characters maximum).
Field 3 Driver characteristics, which are specified by computing the logical OR using the hexadecimal bit mask value of the following seven bits.
0x40 STREAMS module
0x20 STREAMS driver
0x10 I/O card or pseudo driver
0x08 Allow only one specification of driver
0x04 Required device (included in all systems)
0x02 Block device
0x01 Character device
Field 4 Functions for the device, specified by creating a bit mask using the following bits:
0x100000 Turn off map buffer to kernel flag (C_MAP_BUFFER_TO_KERNEL)
0x010000 Set driver is multiprocessor capable flag (C_MGR_IS_MP)
0x008000 Set STREAMS clone major device flag (C_CLONESMAJOR)
0x004000 Set STREAMS System V release 3 style open flag (SVR3_OPEN)
0x002000 Set STREAMS System V release 4 style open flag (SVR4_OPEN)
0x001000 Autochanger mount routine exists
0x000800 option1 handler exists (Series 700 only)
0x000400 dump handler exists
0x000200 size handler exists
0x000100 link routine exists
0x000080 open handler exists
0x000040 close handler exists
0x000020 read handler exists
0x000010 write handler exists
0x000008 ioctl handler exists
0x000004 select handler exists
0x000002 seltru handler exists
0x000001 Set device close routine called on all closes flag (C_ALLCLOSES)
Field 5 Block major device number if a block-type device; otherwise −1.
Field 6 Character major device number if a character-type device; otherwise −1.
$CDIO Section
CDIO (Context Dependent I/O) list. List of I/O modules specific to the bus and/or driver environment, and whether they are required in a minimal system.
Field 1 CDIO name.
Field 2 1 if the CDIO is required for a minimal system; otherwise 0.
$DYN_MAJOR Section
Dynamic major numbers. A range of block and character major numbers reserved for drivers whose major numbers are assigned dynamically.
Field 1 block or char.
Field 2 A major number or a range of major numbers. A range is specified as lo_major_num- hi_major_num.
$DRIVER_INSTALL Section
Driver install section is a list of drivers, shown with their block and character major numbers
Field 1 Driver name.
Field 2 Block major device number if a block-type device; otherwise −1.
Field 3 Character major device number if a character-type device; otherwise −1.
Field 4 1 if the driver is required for a minimal system; otherwise 0.
$ALIAS Section
Aliases for names are defined as follows:
Field 1 Alias name => product number (8 characters maximum)
Field 2 Device name (8 characters maximum)
$TUNABLE Section
Tunable parameters are defined as follows:
Field 1 Parameter name as used in the user-specified system_file (20 characters maximum).
Field 2 Parameter name as used in the #define statement in conf.c (20 characters maximum).
Field 3 Default value for the parameter (60 characters maximum).
Field 4 Minimum value for the parameter (60 characters maximum).
$DRIVER_DEPENDENCY Section
List of drivers and the other drivers they depend on.
Field 1 Dependent driver.
Field 2-N Name of supporting drivers or CDIO’s.
$DRIVER_LIBRARY Section
List of drivers and the library(ies) containing the driver object code.
Field 1 Driver name.
Field 2-N Name of libraries containing driver code.
$LIBRARY Section
Library list. List of object code libraries and whether they are required is a minimal system.
Field 1 Library name.
Field 2 1 if the library is required for a minimal system; otherwise 0.
$SUBSYSTEMS_DEFINE Section
List of subsystems and/or drivers that require #define IDENTIFIER statements in conf.c. If needed, the identifier will be converted to upper case.
Field 1 subsystem / driver name.
Field 2 (Optional) Name of identifier to define. If this field is not present, the identifier will be <field1> in upper case.
$STREAMS_SYNC_LEVEL Section
List of possible STREAMS synchronization levels. Please refer to the documentation that accompanied the STREAMS/UX product for a more detailed description of this table and STREAMS synchronization levels.
Field 1 Synchronization level.
$STREAMS_DVR_SYNC Section
List of STREAMS modules and drivers and the synchronization levels that they require. Please refer to the coumentation that accompanied the STREAMS/UX product for more information about this table.
Field 1 Driver or module name.
Field 2 Synchronization level. (Must be present in a $STREAM_SYNC_LEVEL list.)
Field 3 (optional) Additional STREAMS synchronization information.
EXAMPLES
The following entry in the $DRIVER_INSTALL section will enable the kernel to dynamically assign block and/or character major number(s) for a custom driver, mydriver.
mydriver -1 -1 0
FILES
/usr/conf/master.d
SEE ALSO
Hewlett-Packard Company — HP-UX Release 10.20: July 1996