Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ nvram(7) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

nvram(8)

prom(8)

sash(8)

nvram(7)                        (RM400 only)                       nvram(7)

NAME
     nvram - environment variables of the PROM monitor and of the SASH

DESCRIPTION
   Contents of the non-volatile RAM
     This section describes all the environment variables in detail. The
     variables are listed in order of their occurrence in volatile RAM. The
     location of the variables stored in non-volatile RAM can be seen in
     the section Locations of contents in non-volatile RAM.

     Base address of NVRAM: 0x1c080000

     netaddr     This variable consists of 4 bytes, containing the Internet
                 address of the RM400. If you want to send data via TCP/IP
                 (or other protocols using the Internet address), you must
                 provide an Internet address for your RM400 (which should
                 be unique within your network). Your name server can then
                 translate your RM400 Ethernet address (stored in the
                 Ethernet PROM and unique world-wide) to the RM400 Internet
                 address and vice versa (make sure your name daemon is run-
                 ning).

                 Offset:           0x00000000

     lbaud       This byte contains the baud rate for communication with
                 the tty at port tty(0).

                 Offset:           0x00000004

                 Valid baud rates: 300, 600, 1200, 2400, 4800, 9600, 19200
                                   Bit/sec

                 Default value:    9600

     rbaud       This byte contains the baud rate for communication with
                 the tty at port tty(1).

                 Offset:           0x00000005

                 Valid baud rates: 300, 600, 1200, 2400, 4800, 9600, 19200
                                   Bit/sec

                 Default value:    9600












Page 1                       Reliant UNIX 5.44                Printed 11/98

nvram(7)                        (RM400 only)                       nvram(7)

     bootfile    20 bytes containing the name of the file to boot if the
                 commands auto or boot (without parameters) are entered.
                 The name must already contain the device driver and
                 number.

                 Offset:           0x00000006

                 Default value:    bootfile = dkncr(0,0,10)sash

     bootmode    This byte contains the boot mode of the system, set either
                 by the user or the power-on diagnostics [see prom(8)].

                 Offset:           0x0000001a

                 Valid bootmodes:  d, m, c, e, w, r, i

                 Default value:    m

     console     This byte contains information on the consoles which will
                 be enabled automatically at power-on.

                 Offset:           0x0000001b

                 Valid console types are:

                 l  The local console only will be enabled. This can be
                    grafic(), tty552(0) or tty(0), depending on the graphi-
                    cal configuration of the system. l is the default con-
                    sole type.

                 r  The local console and tty(1) or tty552(1) (serial port
                    to a host) will be enabled.

                 a  All existing consoles will be enabled.

     state       state maintains the current validity of the time-of-day
                 clock and the non-volatile RAM.

                 Offset:           0x0000001c















Page 2                       Reliant UNIX 5.44                Printed 11/98

nvram(7)                        (RM400 only)                       nvram(7)

     failcode    failcode is used by the power-on diagnostics to save a
                 failure code for use by service engineers.

                 Offset:           0x0000001d

     cpuid       cpuid is the logical slot number for multi-CPUs indicating
                 which slot they are in.

                 Offset:           0x0000001e

     ponmask     The power-on tests store their diagnostic results in this
                 word. Each test group has its own bit within this word; if
                 the corresponding bit is set, an error has occurred. The
                 power-on tests themselves use these bits to decide whether
                 or not to skip the test.

                 Offset:           0x00000020

     resetepc    Location to store epc (exception program counter) in non-
                 volatile RAM.

                 Offset:           0x00000024

     resetra     Location to store ra (return address) in non-volatile RAM.

                 Offset:           0x00000028

     chksum      The firmware decides whether or not the values within
                 non-volatile RAM are valid using this byte. The checksum
                 is built by adding up all NVRAM-contents modulo 0x100
                 (besides the checksum), computing the 2's complement of
                 the result and storing this value in the byte chksum. This
                 is done every time the NVRAM contents change, via the com-
                 mand setenv. If the NVRAM is valid, the sum of all NVRAM
                 contents modulo 0x100 (including chksum) must be zero.

                 Offset:           0x00000030

















Page 3                       Reliant UNIX 5.44                Printed 11/98

nvram(7)                        (RM400 only)                       nvram(7)

     Teleservice, Baudrate
                 In these two bytes, the baud rate is stored. This 2-byte
                 word is "little-endian" (Intel notation).

                 Offset:           0x0000001c

                 Valid baud rates: 300, 600, 1200, 2400, 4800, 9600, 19200
                                   Bit/sec

     Teleservice, Bit/Character
                 One byte, containing the character width for the transmit-
                 ted character.

                 Offset:           0x00000033

                 Valid values:     7, 8 Bit/char

     Teleservice, Flag-Bits

                  D7                                         D0
                |____|_____|_____|_____|_____|______|_____|_____|
                | TSa|  TSe|  res|  res|  res|  STOP|  PAR|  PAR|
                |____|_____|_____|_____|_____|______|_____|_____|

                 TSa:   Teleservice-active-Bit
                        0:   Teleservice not active (default)
                        1:   Teleservice active
                 TSe:   Enable-Teleservice-Bit
                        0:   Predefined V24 S-signals will not be set.
                        1:   Predefined V24 S-signals will be set. The
                             Teleservice channel will be initialized
                             (default).






















Page 4                       Reliant UNIX 5.44                Printed 11/98

nvram(7)                        (RM400 only)                       nvram(7)

                 Before booting, the option of activating Teleservice is
                 offered.

                 STOP:   Number of Stop-Bits
                         0:    1 Stop-Bit (default)
                         1:    2 Stop-Bits
                 PAR:    Number of parity check bits
                         00:   No parity (default)
                         01:   Odd parity
                         10:   Even parity
                         11:   Invalid

                 Offset:    0x00000034

     Teleservice, V24 Handshake Signals
                 The two bytes TS HS0 and TS HS1 stores the mask for all
                 modem signals used. These bytes are used by the firmware
                 to inform the driver which signals should be observed at
                 communication time. The contents of the byte TS HS1 are
                 not yet defined. The byte, therefore, may not be observed.
                 Contents of the byte TS HS0:

                  D7                                 D0
                |___|____|____|____|____|____|____|____|
                | S1|  S2|  S4|  M3|  M4|  M1|  M2|  M5|
                |___|____|____|____|____|____|____|____|

                 0:   Signal must not be observed
                 1:   Signal must be observed

                 Offset:    0x00000035

     DUART 2681 Channel A
                 This byte stores the mask for all handshake signals used
                 for the Duart 2681, channel A. Contents of the byte HS:

                  D7                                     D0
                |___|____|_____|_____|_____|____|_____|_____|
                | S1|  S2|  res|  res|  res|  M1|  res|  res|
                |___|____|_____|_____|_____|____|_____|_____|

                 0:   Signal must not be observed
                 1:   Signal must be observed











Page 5                       Reliant UNIX 5.44                Printed 11/98

nvram(7)                        (RM400 only)                       nvram(7)

                 Offset:    0x00000037

     Asynchronous Communication Element 16C552, Handshake Signals
                 A byte is reserved in NVRAM for each of the two serial
                 channels of the ACE 16C552. Information about the impor-
                 tant interface signals are stored within this byte. Con-
                 tents of the bytes 5520 HS and 5521 HS:

                  D7                                   D0
                |___|____|_____|____|_____|____|____|____|
                | S1|  S2|  res|  M3|  res|  M1|  M2|  M5|
                |___|____|_____|____|_____|____|____|____|

                 0:   Signal must not be observed
                 1:   Signal must be observed

                 Offset:    0x00000038   (byte 5520)
                 Offset:    0x00000039   (byte 5521)

     console channel
                 The firmware computes the actual console channel at ini-
                 tialization time of the I/O system. The information in
                 this byte is only valid if exactly one bit is set. The
                 order of the test is:

                 1. graphics controller

                 2. S2681 channel 0

                 3. ACE 16C552 channel 0

                 Contents of the byte console:

                  D7                                               D0
                |____|_____|_____|_____|_____|________|_______|________|
                | MEM|  res|  res|  res|  res|  16C552|  S2681|  GRAFIC|
                |____|_____|_____|_____|_____|________|_______|________|

                 GRAFIC:   A graphics controller
                 S2681:    S2681 channel 0
                 16C552:   ACE 16C552 channel 0
                 MEM:      Memory

                 Offset:    0x0000003a










Page 6                       Reliant UNIX 5.44                Printed 11/98

nvram(7)                        (RM400 only)                       nvram(7)

     grafic-controller
                 The firmware computes the actual console channel at ini-
                 tialization time of the I/O system. Graphics controllers
                 are not currently supported by the firmware.

     graf typ    The information in this byte is an index within a list of
                 known graphics controllers: Not used for the moment.

                 Offset:           0x0000003b

     GrafRes1, GrafRes2
                 The bytes GrafRes1 and GrafRes2 are reserved.

                 Offset:           0x0000003c

     grafic monitor parameters
                 The monitor parameters with which the graphics console was
                 initialized are stored within this structure. There is a
                 separate checksum for the data within this structure, con-
                 sisting of two bytes at the top of the structure: Not used
                 at present.

                 Offset:           0x0000003e































Page 7                       Reliant UNIX 5.44                Printed 11/98

nvram(7)                        (RM400 only)                       nvram(7)

   Locations of contents in non-volatile RAM

     Base address of the non-volatile RAM:        0x1c080000

     Offset
            _______________________________________________________________
     0000   |                        NETADDRESS                           |
            |-------------------------------------------------------------|
     0004   |    LBAUD    |    RBAUD    |                                 |
            |----------------------------                                 |
     0008   |                                                             |
     000C   |                     BOOTFILE (20 bytes)                     |
     0010   |                                                             |
     0014   |                                       ----------------------|
     0018   |                                       | BOOTMODE | CONSOLE  |
            |-------------------------------------------------------------|
     001C   |     STATUS       |      FAILCODE      |   CPUID  |   TTY1   |
            |-------------------------------------------------------------|
     0020   |                         PONMASK                             |
            |-------------------------------------------------------------|
     0024   |                         RESTEPC                             |
            |-------------------------------------------------------------|
     0028   |                         RESETRA                             |
            |-------------------------------------------------------------|
     002C   |                        MEMPARITY                            |
            |-------------------------------------------------------------|
     0030   |      CKSUM       |        TS BAUDRATE          |  BIT/CHAR  |
            |-------------------------------------------------------------|
     0034   |    TS FLAGS      |      TS HS_0    |  TS HS_1  |  2681_1HS  |
            |-------------------------------------------------------------|
     0038   |    552_0 HS      |      552_1 HS   |  CONSOLE  |  GRAF TYP  |
            |-------------------------------------------------------------|
     003C   |    GrafRes1      |     GrafRes2    |                        |
            |-------------------------------------------------------------|
     0040   |                 MONITOR-PARAMETERS (64 bytes)               |
            |                                                             |
                                                 -------------------------|
     007C   |                                    |  LANTYPE  |            |
            |-------------------------------------------------            |
     0080   |                                                             |
                           reserved
     1FFC   |                                                             |
            |-------------------------------------------------------------|
     2000   |                                                             |
                              reserved for TDSH
     3FFC   |                                                             |
            |-------------------------------------------------------------|
     4000   |                                                             |

            |                     OS ERROR BUFFER                         |

     7FFC   |_____________________________________________________________|


Page 8                       Reliant UNIX 5.44                Printed 11/98

nvram(7)                        (RM400 only)                       nvram(7)

   Default environment variables

     In this section, the default environment variables of the PROM monitor
     and of the SASH are listed, using the PROM monitor/SASH command
     printenv (without parameters). Default in this case means that these
     environment variables are defined at startup time by the firmware (or
     the SASH). The contents of these environment variables are described
     in detail in the section Contents of the non-volatile RAM, above.

     An exception is the environment variable ethernetaddr. This variable
     is read-only and stored in the Ethernet PROM on your CPU board. Please
     also note that not all NVRAM contents belong to the environment (e.g.
     the NVRAM checksum is not part of the environment).

     Additional environment variables are described in the next section.

     NOTE:

     The contents of the environment variables can differ on your machine,
     depending on the graphical configuration, hard disk unit number, etc.

     sash: printenv

     netaddr=141.29.51.12
     ethernetaddr=00:00:e4:01:02:0d
     lbaud=9600
     rbaud=9600
     bootfile=dkncr(0,0,10)sash
     bootmode=c
     console=l
     consoledev=tty(0)
     graficdev=none
     tty(0)if=S1(108)/S2(105)/M5(109)
     tty552(0)if=S1(108)/S2(105)/M5(109)
     tty552(1)if=S1(108)/S2(105)/M5(109)
     cpuid=0
     resetepc=0xbfc013c4
     resetra=0xbfc01378
     version=2.0011
     lantype=ethernet
     TSbaud=2400
     TSbit/char=8
     TSparity=no
     TSstopbits=1
     TSif=S1(108)/S2(105)/S4(111)/M1(107)/M2(106)/M5(109)
     TSflags=tse








Page 9                       Reliant UNIX 5.44                Printed 11/98

nvram(7)                        (RM400 only)                       nvram(7)

   Additional environment variables

     This section describes additional environment variables, i.e. vari-
     ables not defined by the firmware or the SASH at startup time.

     path        With the variable path, input of file names is more flexi-
                 ble and less erroneous. Each command that has a file name
                 as parameter(s) checks first whether the given file can be
                 found. If so, the given file name is selected for opera-
                 tion. If not, $PATH is prepended to the file name and the
                 result is checked again to see whether or not it can be
                 found.

     debug       With this variable set to a certain value, diagnostic mes-
                 sages about various functions and commands are displayed
                 during execution. To get such diagnostic messages, the
                 PROM/SASH must have been compiled with the XPRDEBUG com-
                 piler flag on.

                 debug can have the following values:

                 _________________________________________________________
                | Value |  Description                                   |
                |_______|________________________________________________|
                | 0x0001|  Serial line protocol                          |
                | 0x0002|  Remote debug protocol                         |
                | 0x0004|  print oob (out-of-band) protocol input        |
                | 0x0008|  debug bfs protocol                            |
                | 0x0010|  LANCOP (Local Area Network Coprocessor) driver|
                | 0x0020|  SCSI driver                                   |
                | 0x0040|  memory related events                         |
                | 0x0080|  tod (time-of-day) related                     |
                | 0x0100|  sload (serial load)                           |
                | 0x0200|  extra                                         |
                | 0x0400|  floppy driver (SASH only)                     |
                | 0x0800|  TAR filesystem driver (SASH only)             |
                |_______|________________________________________________|

                 Any combination of the flags mentioned above is permitted.

     Other variables
                 Users are free to create their own variables; all existing
                 variables will be passed as environment variables to stan-
                 dalone programs invoked by the PROM monitor or SASH. The
                 only restriction is the limited size of the environment.

SEE ALSO
     nvram(8), prom(8), sash(8).






Page 10                      Reliant UNIX 5.44                Printed 11/98

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