boot.define man page on BSDi

Man page or keyword search:  
man Server   6284 pages
apropos Keyword Search (all sections)
Output format
BSDi logo
[printable version]

BOOT.DEFINE(5)		    BSD Programmer's Manual		BOOT.DEFINE(5)

NAME
     boot.define - symbolic definitions used by boot(8)

DESCRIPTION
     The -parm command to boot(8) is used to allocate a

     struct boot_paramfor {
	     char    pf_name[16];    /* typically driver xname */
	     u_long  pf_field;	     /* which set of flags bits */
	     u_long  pf_flags;	     /* and the bits */
     };

     and pass it into the kernel. The pf_name field specifies the consumer of
     a specific boot_paramfor. This is typically the dv_xname associated with
     a specific piece of hardware. A given device driver may have many options
     which are configurable. The pf_field element is used to specify which op-
     tion is being set. The pf_flags field is the actual value that the the
     option is being set to.  In order to allow the pf_field and pf_flags to
     be specified symbolically boot.define is used to map symbolic names to
     integers.

     The mapping from symbol to integer for pf_field is specific to the value
     supplied for pf_name. This allows device edp (electric dog polisher) to
     have a pf_field symbol of skip_legs equal to 12 while device ecp (elec-
     tric cat polisher) has symbol skip_legs equal to 66.

     The mapping of symbol to integer for pf_flags is specific to the pf_name,
     pf_field pair. This allows device edp to have a pf_flags field leftfront
     used with skip_legs equal to a value of 1 while at the same time left-
     front used with the ecp device skip_legs has a value of 4. The following
     shows what would be in boot.define to accomplish this.

     edp     skip_legs	     12
	     all	     0xf
	     leftfront	     0x1
	     leftrear	     0x2
	     rightfront	     0x4
	     rightrear	     0x8
     ;
     ecp     skip_legs	     66
	     all	     0xf
	     leftfront	     0x4
	     leftrear	     0x2
	     rightfront	     0x1
	     rightrear	     0x8
     ;

     The above would allow the user to enter the following commands to
     boot(8).

     -parm edp0 skip_legs=leftfront	     #skip leftfront leg
     -parm edp0 skip_legs=leftfront,leftrear #skip left legs
     -parm ecp0 skip_legs=all-leftrear	     #skip all but leftrear

     Each entry in boot.define begins with a line specifying the pf_name, the
     symbolic name of the pf_field being described and the integer by which
     the kernel knows this field. Since the meanings of the pf_field is spe-
     cific to a device driver, rather than an instance of the hardware, the
     dv_xname field minus the trailing digit is used for the pf_name.  After
     this first line there are 0 or more lines specifying symbolic names for
     different possible values which may be assigned to the pf_flags field.
     Finally a line with only a semicolon terminates an entry.

     Many times the symbolic names associated with pf_flags are bit fields.
     Further more it is often that the same symbolic name, bit field combina-
     tions will be used in several drivers. An include function is provided to
     make this easier. Typically the edp, ecp example above would be done as
     follows:

     common  legs	     1
	     all	     0xf
	     leftfront	     0x1
	     leftrear	     0x2
	     rightfront	     0x4
	     rightrear	     0x8
     ;
     edp     skip_legs	     12
	     include common legs
     ;
     ecp     skip_legs	     66
	     include common legs
     ;
     It is permissible to have multiple values defined for the same symbolic
     name. The first one encountered while searching for a symbol is used.
     Items which are included are not examined until the line including them
     is processed. To illustrate, in the above example the leftfront and left-
     rear bits used with the electric cat polisher have been changed to match
     the electric dog polisher. To make them as they were originally the fol-
     lowing could be used.

     common  legs	     1
	     all	     0xf
	     leftfront	     0x1
	     leftrear	     0x2
	     rightfront	     0x4
	     rightrear	     0x8
     ;

     edp     skip_legs	     12
	     include common legs
     ;
     ecp     skip_legs	     66
	     leftfront	     0x4
	     rightfront	     0x1
	     include common legs
     ;

DRIVER CONVENTIONS
     It is necessary to make sure that entries in boot.define match what the
     kernel expects to see in pf_name and pf_field.  This is a non-trivial
     book keeping task. To simplify this task #defines for use with pf_field
     should be of the form ``PARM4_EDP_FOO.'' The ``PARM4'' is used by all
     routines using boot.define to resolve entries. The ``EDP'' is what will
     be looked for in pf_name minus any trailing digits, changed to upper
     case. The trailing FOO is what the driver uses to make unique a particu-
     lar pf_field. This allows the kernel tree to be checked and items missing
     from boot.define to easily be identified.

SEE ALSO
     boot(8)

BSDI BSD/OS			August 5, 1997				     2
[top]

List of man pages available for BSDi

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net