monitor(1M)
NAME
monitor - SPARC system PROM monitor
SYNOPSIS
STOP-A
BREAK
initial system power-on
exit from a client program, e.g., the Operating System
DESCRIPTION
The CPU board of a workstation contains one or more EPROMs
or EEPROMs. The program which executes from the PROMs is
referred to as "the monitor". Among other things, the moni-
tor performs system initialization at power-on and provides
a user interface.
Monitor Prompt
The monitor of earlier workstations was known as the SunMON
monitor and displayed the > for its prompt. See the SunMON
MONITOR USAGE section for further details.
Existing workstations use a monitor which is known as the
OpenBoot monitor. The OpenBoot monitor typically displays
ok as its prompt, but it may also display the > prompt under
certain circumstances.
If the 'auto-boot?' NVRAM parameter is set to 'false' when
the workstation is powered on, the system does not attempt
to boot and the monitor issues its prompt. If 'auto-boot' is
set to 'true', the system initiates the boot sequence. The
boot sequence can be aborted by simultaneously pressing two
keys on the system's keyboard: L1 and A (on older key-
boards), or Stop and A (on newer keyboards). Either a lower
case a or an upper case A works for the keyboard abort
sequence. If a console has been attached by way of one of
the system's serial ports then the abort sequence can be
accomplished by sending a BREAK. See tip(1).
When the NVRAM 'security-mode' parameter has been turned on,
or when the value of the 'sunmon-compat?' parameter is true,
then the OpenBoot monitor displays the message: Type b
(boot), c (continue), or n (new command mode)
and the > prompt appears.
OPENBOOT PROM USAGE
Some of the more useful commands that can be issued from
OpenBoot's ok prompt are described here. Refer to the
OpenBoot 2.x Command Reference Manual book for a complete
list of commands.
Help
Help for various functional areas of the OpenBoot monitor
can be obtained by typing help. The help listing provides a
number of other key words which can then be used in the help
command to provide further details.
NVRAM Parameters
Each workstation contains one or more NVRAM devices which
contains unique system ID information, as well as a set of
user-configurable parameters. The NVRAM parameters allow
the user a certain level of flexibility in configuring the
system to act in a given manner under a specific set of cir-
cumstances.
See eeprom(1M) for a description of the parameters and
information regarding setting the parameters from the OS
level.
The following commands can be used at the OpenBoot monitor
to access the NVRAM parameters.
printenv
Used to list the NVRAM parameters, along with their
default values and current values.
setenv pn pv
Used to set or modify a parameter. The pn represents
the parameter name, and pv represents the parameter
value.
set-default pn
Used to set an individual parameter back to its
default value.
set-defaults
Used to reset all parameters to their default values.
(Note that 'set-defaults' only affects parameters that
have assigned default values.)
Security Parameters
Newer OpenBoot monitors contain user interfaces that support
the storage and listing of keys for later use by client pro-
grams.
list-security-keys
Lists the names of keys currently stored on a machine.
set-security-key keyname [ keydata ]
Stores key data keydata in a key named keyname. Actual
key data can be up to 32 bytes in length. The maximum
length of keyname is 64 bytes, which allows for the
hex-formatted ASCII used to present the key data. If
keydata is not present, keyname and its corresponding
data is deleted.
Hardware Checks and Diagnostics
The following commands are available for testing or checking
the system's hardware. If the 'diag-switch?' NVRAM parame-
ter is set to true when the system is powered on, then a
Power-On Self Test (POST) diagnostic is run, if present,
sending its results messages to the system's serial port A.
Not all of the commands shown are available on all worksta-
tions.
test-all
Run the diagnostic tests on each device which has pro-
vided a self-test.
test floppy
Run diagnostics on the system's floppy device.
test /memory
Run the main memory tests. If the NVRAM parameter
'diag-switch?' is set to true, then all of main memory
is tested. If the parameter is false then only the
amount of memory specified in the 'selftest-#megs'
NVRAM parameter is tested.
test net
Test the network connection for the on-board network
controller.
watch-net
Monitor the network attached to the on-board net con-
troller.
watch-net-all
Monitor the network attached to the on-board net con-
troller, as well as the network controllers installed
in SBus slots.
watch-clock
Test the system's clock function.
System Information
The following commands are available for displaying informa-
tion about the system. Not all commands are available on
all workstations.
banner
Display the power-on banner.
.enet-addr
Display the system's Ethernet address.
.idprom
Display the formatted contents of the IDPROM.
module-info
Display information about the system's processor(s).
probe-scsi
Identify the devices attached to the on-board SCSI
controller.
probe-scsi-all
Identify the devices attached to the on-board SCSI
controller as well as those devices which are attached
to SBus SCSI controllers.
show-disks
Display a list of the device paths for installed SCSI
disk controllers.
show-displays
Display a list of the device paths for installed
display devices.
show-nets
Display a list of the device paths for installed Eth-
ernet controllers.
show-sbus
Display list of installed SBus devices.
show-tapes
Display a list of the device paths for installed SCSI
tape controllers.
show-ttys
Display a list of the device paths for tty devices.
.traps
Display a list of the SPARC trap types.
.version
Display the version and date of the OpenBoot PROM.
Emergency Commands
These commands must be typed from the keyboard, they do not
work from a console which is attached by way of the serial
ports. With the exception of the Stop-A command, these com-
mands are issued by pressing and holding down the indicated
keys on the keyboard immediately after the system has been
powered on. The keys must be held down until the monitor
has checked their status. The Stop-A command can be issued
at any time after the console display begins, and the keys
do not need to be held down once they've been pressed. The
Stop-D, Stop-F and Stop-N commands are not allowed when one
of the security modes has been set. Not all commands are
available on all workstations.
Stop (L1)
Bypass the Power-On Self Test (POST). This is only
effective if the system has been placed into the diag-
nostic mode.
Stop-A (L1-A)
Abort the current operation and return to the
monitor's default prompt.
Stop-D (L1-D)
Set the system's 'diag-switch?' NVRAM parameter to
'true', which places the system in diagnostic mode.
POST diagnostics, if present, are run, and the mes-
sages are displayed by way of the system's serial port
A.
Stop-F (L1-F)
Enter the OpenBoot monitor before the monitor has
probed the system for devices. Issue the 'fexit' com-
mand to continue with system initialization.
Stop-N (L1-N)
Causes the NVRAM parameters to be reset to their
default values. Note that not all parameters have
default values.
Line Editor Commands
The following commands can be used while the monitor is
displaying the ok prompt. Not all of these editing commands
are available on all workstations.
CTRL-A
Place the cursor at the start of line.
CTRL-B
Move the cursor backward one character.
ESC-B Move the cursor backward one word.
CTRL-D
Erase the character that the cursor is currently
highlighting.
ESC-D Erase the portion of word from the cursor's present
position to the end of the word.
CTRL-E
Place the cursor at the end of line.
CTRL-F
Move the cursor forward one character.
ESC-F Move the cursor forward one word.
CTRL-H
Erase the character preceding the cursor (also use
Delete or Back Space)
ESC-H Erase the portion of the word which precedes the cur-
sor (use also CTRL-W)
CTRL-K
Erase from the cursor's present position to the end of
the line.
CTRL-L
Show the command history list.
CTRL-N
Recall the next command from the command history list
CTRL-P
Recall a previous command from the command history
list.
CTRL-Q
Quote the next character (used to type a control char-
acter).
CTRL-R
Retype the current line.
CTRL-U
Erase from the cursor's present position to the begin-
ning of the line.
CTRL-Y
Insert the contents of the memory buffer into the
line, in front (to the left) of the cursor.
nvramrc
The nvramrc is an area of the system's NVRAM where users may
store Forth programs. The programs which are stored in the
nvramrc are executed each time the system is reset, provided
that the 'use-nvramrc?' NVRAM parameter has been set to
'true'. Refer to the OpenBoot 2.x Command Reference Manual
book for information on how to edit and use the nvramrc.
Restricted Monitor
The command 'old-mode' is used to move OpenBoot into a res-
tricted monitor mode, causing the > prompt to be displayed.
Only three commands are allowed while in the restricted mon-
itor; the 'go' command (to resume a program which was inter-
rupted with the Stop-A command), the 'n' command (to return
to the normal OpenBoot monitor), and boot commands. The
restricted monitor's boot commands approximate the older
SunMON monitor's boot command syntax. If a 'security-mode'
has been turned on then the restricted monitor becomes the
default monitor environment. The restricted monitor may
also become the default environment if the 'sunmon-compat?'
NVRAM parameter is set to true. Not all workstations have
the 'sunmon-compat?' parameter.
SunMON PROM USAGE
The following commands are available systems with older
SunMON-based PROM:
+|- Increment or decrement the current address and display
the contents of the new location.
^C source destination n
(caret-C) Copy, byte-by-byte, a block of length n from
the source address to the destination address.
^I program
(caret-I) Display the compilation date and location of
program.
^T virtual_address
(caret-T) Display the physical address to which
virtual_address is mapped.
b [ ! ] [ device [ (c,u,p) ] ] [ pathname ] [ arguments_list ]
b[?] Reset appropriate parts of the system and bootstrap a
program. A `!' (preceding the device argument)
prevents the system reset from occurring. Programs can
be loaded from various devices (such as a disk, tape,
or Ethernet). `b' with no arguments causes a default
boot, either from a disk, or from an Ethernet con-
troller. `b?' displays all boot devices and their dev-
ices.
device
one of
le Lance Ethernet
ie Intel Ethernet
sd SCSI disk, CDROM
st SCSI 1/4" or 1/2" tape
fd Diskette
id IPI disk
mt Tape Master 9-track 1/2" tape
xd Xylogics 7053 disk
xt Xylogics 1/2" tape
xy Xylogics 440/450 disk
c A controller number (0 if only one controller),
u A unit number (0 if only one driver), and
p A partition.
pathname
A pathname for a program such as /stand/diag.
arguments_list
A list of up to seven arguments to pass to the
program being booted.
c [virtual_address]
Resume execution of a program. When given,
virtual_address is the address at which execution
resumes. The default is the current PC. Registers are
restored to the values shown by the d, and r commands.
d [window_number]
Display (dump) the state of the processor. The proces-
sor state is observable only after:
o An unexpected trap was encountered.
o A user program dropped into the monitor (by cal-
ling abortent).
o The user manually entered the monitor by typing
L1-A or BREAK.
The display consists of the following:
o The special registers: PSR, PC, nPC, TBR,
WIM, and Y
o Eight global registers
o 24 window registers (8 in, 8 local, and 8
out), corresponding to one of the 7 avail-
able windows. If a Floating-Point Unit is
on board, its status register along with 32
floating-point registers are also shown.
window_number
Display the indicated window_number, which
can be any value between 0 and 6,
inclusive. If no window is specified and
the PSR's current window pointer contains a
valid window number, registers from the
window that was active just prior to entry
into the monitor are displayed. Otherwise,
registers from window 0 are displayed.
e [virtual_address][action] ...
Open the 16-bit word at virtual_address (default
zero). The address is interpreted in the address
space defined by the s command. See the a command for
a description of action.
f virtual_address1 virtual_address2 pattern [size]
Fill the bytes, words, or long words from
virtual_address1 (lower) to virtual_address2 (higher)
with the constant, pattern. The size argument can take
one of the following values:
b byte format (the default)
w word format
l long word format
For example, the following command fills the address block
from 0x1000 to 0x2000 with the word pattern, 0xABCD:
f 1000 2000 ABCD W
g [vector] [argument]
g [virtual_address] [argument]
Goto (jump to) a predetermined or default routine
(first form), or to a user-specified routine (second
form). The value of argument is passed to the rou-
tine. If the vector or virtual_address argument is
omitted, the value in the PC is used as the address to
jump to.
To set up a predetermined routine to jump to, a user
program must, prior to executing the monitor's g com-
mand, set the variable *romp->v_vector_cmd to be equal
to the virtual address of the desired routine.
Predetermined routines need not necessarily return
control to the monitor.
The default routine, defined by the monitor, prints
the user-supplied vector according to the format sup-
plied in argument. This format can be one of:
%x hexadecimal
%d decimal
g0 Force a panic and produce a crash dump when the moni-
tor is running as a result of the system being inter-
rupted,
g4 (Sun-4 systems only) Force a kernel stack trace when
the monitor is running as a result of the system being
interrupted,
h Display the help menu for monitor commands and their
descriptions. To return to the monitor's basic command
level, press ESCAPE or q before pressing RETURN.
i [cache_data_offset] [action]...
Modify cache data RAM command. Display and/or modify
one or more of the cache data addresses. See the a
command for a description of action.
j [cache_tag_offset] [action]...
Modify cache tag RAM command. Display and/or modify
the contents of one or more of the cache tag
addresses. See the a command for a description of
action.
k [reset_level]
Reset the system, where reset_level is:
0 Reset VMEbus, interrupt registers, video monitor
(Sun-4 systems). This is the default.
1 Software reset.
2 Power-on reset. Resets and clears the memory.
Runs the EPROM-based diagnostic self test, which
can take several minutes, depending upon how
much memory is being tested.
kb Display the system banner.
l [virtual_address][action]...
Open the long word (32 bit) at memory address
virtual_address (default zero). The address is inter-
preted in the address space defined by the s command
(below). See the a command for a description of
action.
m [virtual_address][action]...
Open the segment map entry that maps virtual_address
(default zero). The address is interpreted in the
address space defined by the s command. See the a com-
mand for a description of action.
ne
ni Disable, enable, or invalidate the cache, respec-
tively.
o [virtual_address][action]...
Open the byte location specified by virtual_address
(default zero). The address is interpreted in the
address space defined by the s command. See the a com-
mand for a description of action.
p [virtual_address][action]...
Open the page map entry that maps virtual_address
(default zero) in the address space defined by the s
command. See the a command for a description of
action.
q [eeprom_offset][action]...
Open the EEPROM eeprom_offset (default zero) in the
EEPROM address space. All addresses are referenced
from the beginning or base of the EEPROM in physical
address space, and a limit check is performed to
insure that no address beyond the EEPROM physical
space is accessed. This command is used to display or
modify configuration parameters, such as: the amount
of memory to test during self test, whether to display
a standard or custom banner, if a serial port (A or B)
is to be the system console, etc. See the a command
for a description of action.
r [register_number]
r [register_type]
r [w window_number]
Display and/or modify one or more of the IU or FPU
registers. A hexadecimal register_number can be one
of:
0x00-0x0f
window(0,i0)-window(0,i7), window(0,i0)-window(0,i7)
0x16-0x1f
window(1,i0)-window(1,i7), window(1,i0)-window(1,i7)
0x20-0x2f
window(2,i0)-window(2,i7), window(2,i0)-window(2,i7)
0x30-0x3f
window(3,i0)-window(3,i7), window(3,i0)-window(3,i7)
0x40-0x4f
window(4,i0)-window(4,i7), window(4,i0)-window(4,i7)
0x50-0x5f
window(5,i0)-window(5,i7), window(5,i0)-window(5,i7)
0x60-0x6f
window(6,i0)-window(6,i7), window(6,i0)-window(6,i7)
0x70-0x77
g0, g1, g2, g3, g4, g5, g6, g7
0x78-0x7d
PSR, PC, nPC, WIM, TBR, Y.
0x7e-0x9e
FSR, f0-f31
Register numbers can only be displayed after an unexpected
trap, a user program has entered the monitor using the abor-
tent function, or the user has entered the monitor by manu-
ally typing L1-A or BREAK.
If a register_type is given, the first register of the indi-
cated type is displayed. register_type can be one of:
f floating-point
g global
s special
If w and a window_number (0-6) are given, the first in-
register within the indicated window is displayed. If
window_number is omitted, the window that was active just
prior to entering the monitor is used. If the PSR's current
window pointer is invalid, window 0 is used.
s [asi])
Set or display the Address Space Identifier. With no
argument, s displays the current Address Space Iden-
tifier. The asi value can be one of:
0x2 control space
0x3 segment table
0x4 Page table
0x8 user instruction
0x9 supervisor instruction
0xa user data
0xb supervisor data
0xc flush segment
0xd flush page
0xe flush context
0xf cache data
u [ echo ]
u [ port ] [ options ] [ baud_rate ]
u [ u ] [ virtual_address ]
With no arguments, display the current I/O device
characteristics including: current input device,
current output device, baud rates for serial ports A
and B, an input-to-output echo indicator, and virtual
addresses of mapped UART devices. With arguments, set
or configure the current I/O device. With the u argu-
ment (uu...), set the I/O device to be the
virtual_address of a UART device currently mapped.
echo Can be either e to enable input to be echoed to
the output device, or ne, to indicate that input
is not echoed.
port Assign the indicated port to be the current I/O
device. port can be one of:
a serial port A
b serial port B
k the workstation keyboard
s the workstation screen
baud_rate
Any legal baud rate.
options
can be any combination of:
i input
o output
u UART
e echo input to output
ne do not echo input
r reset indicated serial port (a and b ports
only)
If either a or b is supplied, and no options are
given, the serial port is assigned for both
input and output. If k is supplied with no
options, it is assigned for input only. If s is
supplied with no options, it is assigned for
output only.
v virtual_address1 virtual_address2 [size]
Display the contents of virtual_address1 (lower)
virtual_address2 (higher) in the format specified by
size:
b byte format (the default)
w word format
l long word format
Enter return to pause for viewing; enter another return
character to resume the display. To terminate the display
at any time, press the space bar.
For example, the following command displays the contents of
virtual address space from address 0x1000 to 0x2000 in
word format:
v 1000 2000 W
w [virtual_address][argument]
Set the execution vector to a predetermined or default
routine. Pass virtual_address and argument to that
routine.
To set up a predetermined routine to jump to, a user
program must, prior to executing the monitor's w com-
mand, set the variable *romp->v_vector_cmd to be equal
to the virtual address of the desired routine.
Predetermined routines need not necessarily return
control to the monitor.
The default routine, defined by the monitor, prints
the user-supplied vector according to the format sup-
plied in argument. This format can be one of:
%x hexadecimal
%d decimal
x Display a menu of extended tests. These diagnostics
permit additional testing of such things as the I/O
port connectors, video memory, workstation memory and
keyboard, and boot device paths.
yc context_number
yp|s context_number virtual_address
Flush the indicated context, context page, or context
segment.
c flush context context_number
p flush the page beginning at virtual_address
within context context_number
s flush the segment beginning at virtual_address
within context context_number
ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Architecture | SPARC |
|_____________________________|_____________________________|
SEE ALSO
tip(1), boot(1M), eeprom(1M), attributes(5)
OpenBoot 2.x Command Reference Manual
Man(1) output converted with
man2html