Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ System(4) — UnixWare 2.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

idbuild(1M)

idcheck(1M)

idinstall(1M)

Master(4)






       System(4)                                                  System(4)


       NAME
             System - system-specific configuration information for a
             kernel module

       SYNOPSIS
             System

       DESCRIPTION
             A System file is one of the Installable Driver/Tunable
             Parameters kernel configuration files that contains
             information needed to incorporate a particular kernel module
             into the next system configuration.  General configuration
             information about the module type is described in the Master
             file.  When the System component of a module's Driver Software
             Package (DSP) is installed, idinstall(1M) stores the module's
             System file information in /etc/conf/sdevice.d/module-name,
             where the file module-name is the name of the module being
             installed.  Never access /etc/conf/sdevice.d/module-name
             directly; use idinstall(1M).

             Blank lines in System files and lines beginning with `#' or
             `*' are considered comments and are ignored.

             The first non-comment line should be:

                   $version 2

             Older System file versions are supported by idinstall (see
             Compatibility Considerations).

             Optionally, following the $version line, the following line
             can appear:

                   $static

             The presence of the $static line in the file indicates that
             the module should be statically configured (that is, directly
             linked into the kernel image) even if it is capable of being
             loadable.

             Following these lines are one or more lines in the following
             format:

                   module-name configure unit ipl itype ivec sioa eioa scma ecma dmachan [cpu]




                           Copyright 1994 Novell, Inc.               Page 1













      System(4)                                                  System(4)


            These lines contain configuration information for each
            instance of the module.  For example, if two instances of a
            device are to be configured, two lines of System file
            definitions are required for the device.

            Each of these configuration lines contains 11 or 12 fields,
            with the twelfth field (cpu) being optional.  Each field must
            be delimited by white space and specify a value.  Note that,
            except for the first two fields (module-name and configure),
            the remaining fields on this line are used for hardware-
            related modules only.  That is, these fields apply only to
            modules that have the h characteristics flag set in the
            associated Master file.  When a field does not apply to the
            module-regardless of the module type-the unused field must
            contain the value 0 (except for dmachan, which if unused must
            contain the value -1).

            module-name
                      Identifies the internal name of the module.  The
                      field value must match the module name specified in
                      the module's Master file.

            configure Indicates (Y or N) whether idbuild(1M) should
                      configure this instance of the module into the
                      system.  Note that this field can be used to
                      configure statically linked modules or to configure
                      dynamically loadable modules.

            unit      Specifies the number of subdevices attached to a
                      controller or pseudo device, or this field can be
                      used to encode an arbitrary, module-dependent
                      numeric value.  When this field is not used it
                      should contain the value 0.

            ipl       Specifies the interrupt priority level for the
                      device controlled by this module, and the priority
                      at which the module's interrupt handler will run.
                      Valid values are 1 (lowest priority) to 7 (highest
                      priority); priority 8 is reserved for the clock tick
                      interrupt.  Priority 1 should be avoided since it is
                      used for software interrupts.  If the module is not
                      a hardware module or does not have an interrupt
                      handler, this field should contain the value 0.





                          Copyright 1994 Novell, Inc.               Page 2













       System(4)                                                  System(4)


             itype     Indicates the type of interrupt sharing (if any)
                       this hardware module supports.  Note that if a
                       module supports a number of interrupt schemes, it
                       requires multiple system lines, with each line
                       specifying a different itype field value.

                       Valid values are:

                       0     This instance of the device does not use
                             interrupts.

                       1     This instance of the device uses an interrupt
                             vector that cannot be shared, not even with
                             another instance of the same module.

                       2     This instance of the device uses an interrupt
                             vector that can be shared with another
                             instance of the same module, but can not be
                             shared with other modules.

                       3     This instance of the device uses an interrupt
                             vector that can be shared with any instance of
                             any hardware modules.

                       4     This instance of the device uses an EISA
                             level-sensitive interrupt vector that can be
                             shared with any instance of any hardware
                             module.

                       When this field is not used, it must contain the
                       value 0.

             vector    Specifies the interrupt vector number used by this
                       instance of the device.  Valid values are a decimal
                       number from 1 through the value of the highest
                       interrupt vector number supported by the system.

                       Note that more than one device can share an
                       interrupt vector number if the devices use the same
                       itype interrupt, and that interrupt is of a type
                       that can be shared.  Note also that every instance
                       of every module that shares an interrupt vector
                       number must specify the same ipl values.
                       When this field is not used it should contain the
                       value 0.



                           Copyright 1994 Novell, Inc.               Page 3













      System(4)                                                  System(4)


            sioa      Start I/O address.  Specifies the lowest I/O port
                      address through which the device communicates.
                      Valid values are a hexadecimal number from 0 through
                      FFFF.  For non-hardware modules or devices without
                      I/O ports, this field should contain the value 0.

            eioa      End I/O address.  Specifies the highest (inclusive)
                      I/O port address through which the device
                      communicates.  Valid values are a hexadecimal number
                      from 1 through FFFF.  Note that the value of the
                      eioa field must be greater than or equal to the
                      value of the sioa field.  For non-hardware modules
                      or devices without I/O ports, this field should
                      contain the value 0.

            scma      Start memory controller address.  Specifies the
                      lowest address in memory through which the device
                      communicates.  Valid values are a hexadecimal number
                      from 10000 through FFFFFFFF.  For non-hardware
                      drivers or devices without controller memory, this
                      field should contain the value 0.

            ecma      End memory controller address.  Specifies the
                      highest (inclusive) address in memory through which
                      the device communicates.  Valid values are a
                      hexadecimal number from 10000 through FFFFFFFF.
                      Note that the value of the ecma field must be
                      greater than or equal to the value of the scma
                      field.  For non-hardware modules or devices without
                      controller memory, this field should contain the
                      value 0.

            dmachan   For hardware modules that use DMA channels,
                      specifies the DMA channel number.  Valid values are
                      a decimal number from 0 through 7.  For non-hardware
                      modules or devices that don't use DMA, this field
                      should contain the value -1.

            cpu       Optional field.  Specifies on a multiprocessor
                      system a CPU number to which the module should be
                      bound.  That is, the driver code will run only on
                      the specified CPU.  This binding only applies to
                      interrupt handlers and DDI/DKI entry points (that
                      is, routines in section D2 of the Device Driver
                      Reference Manual).  Currently, the same CPU number
                      must be given on all System lines for a module.


                          Copyright 1994 Novell, Inc.               Page 4













       System(4)                                                  System(4)


       USAGE
          Warnings
             Package scripts should never access System files directly;
             only the idinstall(1M) and idcheck(1M) commands should be
             used.

       NOTICES
          Compatibility Considerations
             For compatibility with existing add-on DSP packages, idinstall
             also accepts the old (version 0 and version 1) System file
             formats, and converts them to the current version 2 format.

             Since some fields moved between the Master file and the System
             file, version 0 and version 1 Master and System files must be
             installed together, using a single invocation of the idinstall
             command.  This allows idinstall to move the fields between the
             files during conversion.

             Version 0 System files are not supported for exec modules.

             The older formats had fewer fields.  In version 1, the cpu
             field was in the Master file instead of the System file.  In
             version 0, the dmachan field was in the Master file instead of
             the System file and there was no cpu field.

             The older formats had no $static line; Version 1 had a similar
             but inverted $loadable module-name.

             Note that idinstall also accepts obsolete sfsys files and
             converts them to version 2 System file format.

       REFERENCES
             idbuild(1M), idcheck(1M), idinstall(1M), Master(4)















                           Copyright 1994 Novell, Inc.               Page 5








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