Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ master(4) — HP-UX 10.20

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

config(1M)

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

config(1M). 

Hewlett-Packard Company  —  HP-UX Release 10.20:  July 1996

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026