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