monitor(1M) manual page
Table of Contents
monitor - SPARC system PROM monitor
L1-A
BREAK
initial system power-on
exit from a client program, e.g., the Operating System
SPARC
The CPU
board of a workstation contains one or more EPROM
s
or EEPROM
s. The program which executes from the PROM
s is referred to as
‘the monitor’. Among other things, the monitor performs system initialization
at power-on and provides a user interface.
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 then the system will
not attempt to boot and the monitor will issue its prompt. If ’auto-boot’ is
set to ’true’ then the system will initiate the boot sequence. The boot sequence
can be aborted by simultaneously pressing two keys on the system’s keyboard:
L1
and A
(on older keyboards), or Stop
and A
(on newer keyboards). Note
that either a lower case ’a’ or an upper case ’A’ will work for the keyboard
abort sequence. If a console has been attached via one of the system’s serial
ports then the abort sequence can be accomplished by sending a BREAK
- see
the tip(1)
manpage.
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 will display the message:
Type b (boot), c (continue),
or n (new command mode)
and the > prompt will appear.
Some
of the more useful commands that can be issued from OpenBoot’s ok prompt
are described here. Refer to the book for a complete list of commands.
Help for various functional areas of the OpenBoot monitor can be obtained
by typing help. The help listing will provide a number of other key words
which can then be used in the help command to provide further details.
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
circumstances.
See the eeprom(1M)
manpage for a description of the parameters.
This manpage also describes a way of 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.)
The following commands
are available for testing or checking the system’s hardware. If the ’diag-switch?’
NVRAM
parameter is set to true when the system is powered on, then a Power-On
Self Test (POST) diagnostic will be run, if present, sending its results
messages to the system’s serial port A. Not all of the commands shown are
available on all workstations.
- test-all
- Run the diagnostic tests on each
device which has provided 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 will be tested.
- test net
- Test the network
connection for the on-board network controller.
- watch-net
- Monitor the network
attached to the on-board net controller.
- watch-net-all
- Monitor the network
attached to the on-board net controller, as well as the network controllers
installed in SBus slots.
- watch-clock
- Test the system’s clock function.
The following commands are available for displaying information
about the system. Not all commands are available on all workstations.
- banner
- Display the power-on banner. .-
- Display the system’s Ethernet address.
.- 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 Ethernet 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. .
- Display a list of the SPARC trap types.
.- Display the version and
date of the OpenBoot PROM.
These commands must be typed
from the keyboard, they will not work from a console which is attached
via the serial ports. With the exception of the Stop-A
command, these commands
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 diagnostic 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, will be run, and the messages will be displayed
via 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’ command
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.
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 cursor (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
character).
- CTRL-R
- Retype the current line.
- CTRL-U
- Erase from the cursor’s present
position to the beginning of the line.
- CTRL-Y
- Insert the contents of the
memory buffer into the line, in front (to the left) of the cursor.
The
nvramrc is an area of the system’s NVRAM
where users may store Forth programs.
The programs which are stored in the nvramrc will executed each time the
system is reset, provided that the ’use-nvramrc?’ NVRAM
parameter has been
set to ’true’. Refer to the book for information on how to edit and use the
nvramrc.
The command ’old-mode’ is used to move OpenBoot
into a restricted monitor mode, causing the > prompt to be displayed. Only
three commands are allowed while in the restricted monitor; the ’go’ command
(to resume a program which was interrupted with the Stop-A
command), the
’n’ command (to return to the normal OpenBoot monitor), and boot commands.
The restricted monitor’s boot commands will 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. (Note that not all workstations will have the
’sunmon-compat?’ parameter.)
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 will cause a default boot, either from a disk, or from
an Ethernet controller. ‘b?’ displays all boot devices and their devices.
- 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 will resume.
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 processor state is observable only after:
- An unexpected
trap was encountered.
- A user program dropped into the monitor (by calling
abortent).
- The user manually entered the monitor by typing L1-A
or BREAK
.
- The display consists of the following:
- The special registers: PSR
, PC
,
nPC
, TBR
, WIM
, and Y
- Eight global registers
- 24 window registers (8 in,
8 local, and 8 out), corresponding to one of the 7 available 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 routine. 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 command, 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 supplied in argument.
This format can be one of:
- %x
- hexadecimal
- %d
- decimal
- g0
- Force a panic
and produce a crash dump when the monitor is running as a result of the
system being interrupted,
- 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:
- Reset
VME
bus, interrupt registers, video monitor (Sun-4 systems). This is the default.
- Software reset.
- 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 interpreted 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 command for a description of action.
- ne
- ni
- Disable, enable, or invalidate
the cache, respectively.
- 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 command 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 abortent
function, or the user has entered the monitor by manually typing L1-A
or
BREAK
.
- If a
- register_type is given, the first register of the indicated
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 Identifier. 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 argument (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 command, 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 supplied 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
tip(1)
, boot(1M)
, eeprom(1M)
Table of Contents