Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

vme(7)

dsk(7)

rdsk(7)

vdm(7)

system(4)

intro(7)



nvrd(7)                        DG/UX R4.11MU05                       nvrd(7)


NAME
       nvrd - Non-volatile VME RAM Disk controller (88K only)

SYNOPSIS
       nvrd(parent-bus[,controller-num])

DESCRIPTION
       A nvrd device driver supports the Model 5018 VME 2-megabyte Special
       Systems ECC non-volatile memory board.  The non-volatile storage
       appears to the operating system as a small but very fast physical
       disk device.

       To configure such devices, you must add to the DG/UX system
       configuration file one or more device name entries of the form
       described in the synopsis above.  The parameters in a device name
       have the following meanings:

       ·   The parent-bus parameter is itself a device name, representing
           the VME bus device to which the controller is attached (vme(0) or
           vme(1), for example).  There is no default value for this
           parameter; it must always be specified explicitly.

       ·   The controller-num parameter is a hexadecimal number in the range
           0 through 7 which distinguishes the various standard addressing
           values to which the controller may be jumpered.  Consult the
           table below for details on these address settings.  The default
           value for controller-num is 0.

       Each nvrd controller board contains DIP switches that control three
       VME board address settings:  the interrupt vector number used by the
       board, the A16 address of the board's 16-bit control register space,
       and the A32 address of the board's non-volatile memory.  The
       following hexadecimal address values are used for the 8 standard
       controller-num instances supported by the device driver on each
       parent VME bus:

             Controller  Interrupt   A16 Address A32 Address
             Number      Vector
                         Number

             0           80          FFFFFF00    E5000000
             1           82          FFFFFF20    E5200000
             2           84          FFFFFF40    E5400000
             3           86          FFFFFF60    E5600000
             4           88          FFFFFF80    E5800000
             5           8A          FFFFFFA0    E5A00000
             6           8C          FFFFFFC0    E5C00000
             7           8E          FFFFFFE0    E5E00000


       An nvrd device can still be used even if it is not jumpered to one of
       the standard address settings.  However, such a device is referred to
       as a non-standard instance, and it requires a different device name
       format:

           nvrd@intr-vec-num(parent-bus,a16-addr,a32-addr,size)


       The parameters in a non-standard device name have the following
       meanings:

       ·   The intr-vec-num value is the hexadecimal VME interrupt vector
           number used by the board.  There is no default value for this
           parameter; it must always be specified explicitly.

       ·   The parent-bus parameter has exactly the same meaning here as it
           does in the standard device name format.

       ·   The a16-addr parameter is the hexadecimal value of the VME A16
           address of the board's 16-bit control register space.  There is
           no default value for this parameter; it must always be specified
           explicitly.

       ·   The a32-addr parameter is the hexadecimal value of the VME A32
           address of the board's non-volatile memory.  There is no default
           value for this parameter; it must always be specified explicitly.

       ·   The size parameter is a hexadecimal number specifying the number
           of megabytes of non-volatile memory on the device.  There is no
           default value for this parameter; it must always be specified
           explicitly.  Currently, the only valid value for this parameter
           is 2.

       The entries in the above table of standard address settings skip a
       set of interrupt vector numbers and control register addresses.  This
       is done in order to allow boards to be mirrored for redundancy: each
       of the above eight standard nvrd instances can be used in a mirrored
       pair.  Such board is considered the master and is the only board in a
       mirrored pair that is explicitly configured.  The slave board, which
       is not configured, must have its DIP switches set to values that
       correspond to the master board in the following manner:

       ·   The interrupt vector number must be one greater on the slave
           board than on the master.

       ·   The A16 address must be 0x10 greater on the slave board than on
           the master.

       ·   The A32 address must be identical on the two boards.

       So, for example, the slave device to the master board nvrd(vme(0),2)
       would require an interrupt vector setting of 85, an A16 address of
       FFFFFF50, and an A32 address of E5400000.

       If one of the boards in a mirrored pair fails, a message will be sent
       to the system console and logged.  Because the boards are mirrored,
       no application using the boards will notice the failure.  However,
       until the failed board is repaired or replaced, a failure in the
       remaining board could result in the loss of data.  To avoid such a
       loss, restore the redundancy as soon as possible.  If the board that
       failed is the slave board, then it can be repaired or replaced by a
       board with the same DIP switch settings.  If the board that failed is
       the master board, then the slave board must become the new master by
       having its DIP switch settings changed to the master board values,
       and the old master board must be repaired or replaced by a new slave
       board (using the slave board settings).


FILES
       Each disk unit on a standard nvrd controller creates a pair of device
       nodes when it is configured, with the pathnames:

           /dev/pdsk/nvrd(parent-bus,controller-num)
           /dev/rpdsk/nvrd(parent-bus,controller-num)


       The /dev/pdsk device node provides access as a block-special device
       as described in dsk(7).  The /dev/rpdsk device node provides access
       as a character-special device as described in dsk(7).  The nvrd
       driver provides no bad block remapping for accesses to these device
       nodes.  See the vdm(7) man page for details on how to set up a bad-
       block remap area using the Virtual Disk Manager.

       The pathnames of the device nodes created for units on non-standard
       controller instances are:

           /dev/pdsk/nvrd@intr-vec-num(parent-bus,a16-addr,a32-addr,size)
           /dev/rpdsk/nvrd@intr-vec-num(parent-bus,a16-addr,a32-addr,size)


EXAMPLES
       The following entry in a DG/UX configuration file configures a single
       NVRD device or a mirrored pair of such devices, depending on whether
       a slave board with the appropriate DIP switch settings is present:

            nvrd(vme(0),2)


       For more information about DG/UX device configuration, refer to
       "Writing a Device Driver" in Programming in the DG/UX Kernel
       Environment.

SEE ALSO
       vme(7), dsk(7), rdsk(7), vdm(7), system(4), intro(7).


Licensed material--property of copyright holder(s)

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