'\" te
.\" Copyright (c) 2003, Sun Microsystems, Inc.
.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
.TH MONITOR 1M "Jul 24, 2003"
.SH NAME
monitor \- SPARC system PROM monitor
.SH SYNOPSIS
.LP
.nf
\fBSTOP\(miA\fR
.fi

.LP
.nf
\fBBREAK\fR
.fi

.LP
.nf
\fBinitial system power-on\fR
.fi

.LP
.nf
\fBexit from a client program, e.g., the Operating System\fR
.fi

.SH DESCRIPTION
.sp
.LP
The \fBCPU\fR board of a workstation contains one or more \fBEPROMs\fR or
\fBEEPROMs.\fR The program which executes from the \fBPROMs\fR is referred to
as "the monitor". Among other things, the monitor performs system
initialization at power-on and provides a user interface.
.SS "Monitor Prompt"
.sp
.LP
The monitor of earlier workstations was known as the \fBSunMON\fR monitor and
displayed the \fB>\fR for its prompt. See the \fBSunMON MONITOR USAGE\fR
section for further details.
.sp
.LP
Existing workstations use a monitor which is known as the OpenBoot monitor.
The OpenBoot monitor typically displays \fBok\fR as its prompt, but it may also
display the \fB>\fR prompt under certain circumstances.
.sp
.LP
If the \fB\&'auto-boot?'\fR \fBNVRAM\fR parameter is set to \fB\&'false'\fR
when the workstation is powered on, the system does not attempt to boot and the
monitor issues its prompt. If \fB\&'auto-boot'\fR is set to \fB\&'true'\fR, the
system initiates the boot sequence. The boot sequence can be aborted by
simultaneously pressing two keys on the system's keyboard: \fBL1\fR and \fBA\fR
(on older keyboards), or \fBStop\fR and \fBA\fR (on newer keyboards).  Either a
lower case \fBa\fR or an upper case \fBA\fR 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 \fBBREAK\fR. See
\fBtip\fR(1).
.sp
.LP
When the \fBNVRAM\fR \fB\&'security-mode'\fR parameter has been turned on, or
when the value of the \fB\&'sunmon-compat?'\fR parameter is true, then the
OpenBoot monitor displays the message: \fBType b (boot), c (continue), or n
(new command mode)\fR
.sp
.LP
and the \fB>\fR prompt appears.
.SH OPENBOOT PROM USAGE
.sp
.LP
Some of the more useful commands that can be issued from OpenBoot's \fBok \fR
prompt are described here.  Refer to the   book for a complete list of
commands.
.SS "Help"
.sp
.LP
Help for various functional areas of the OpenBoot monitor can be obtained by
typing \fBhelp\fR. The help listing provides a number of other key words which
can then be used in the help command to provide further details.
.SS "NVRAM Parameters"
.sp
.LP
Each workstation contains one or more \fBNVRAM\fR devices which contains unique
system ID information, as well as a set of user-configurable parameters.  The
\fBNVRAM\fR 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.
.sp
.LP
See \fBeeprom\fR(1M) for a description of the parameters and information
regarding setting the parameters from the OS level.
.sp
.LP
The following commands can be used at the OpenBoot monitor to access the
\fBNVRAM\fR parameters.
.sp
.ne 2
.na
\fB\fBprintenv\fR\fR
.ad
.RS 18n
Used to list the \fBNVRAM\fR parameters, along with their default values and
current values.
.RE

.sp
.ne 2
.na
\fB\fBsetenv\fR\fI pn pv\fR\fR
.ad
.RS 18n
Used to set or modify a parameter.  The \fIpn\fR represents the parameter name,
and \fIpv\fR represents the parameter value.
.RE

.sp
.ne 2
.na
\fB\fBset-default\fR \fIpn\fR\fR
.ad
.RS 18n
Used to set an individual parameter back to its default value.
.RE

.sp
.ne 2
.na
\fB\fBset-defaults\fR\fR
.ad
.RS 18n
Used to reset all parameters to their default values.  (Note that
\fB\&'set-defaults'\fR only affects parameters that have assigned default
values.)
.RE

.SS "Security Parameters"
.sp
.LP
Newer OpenBoot monitors contain user interfaces that support the storage and
listing of keys for later use by client programs.
.sp
.ne 2
.na
\fB\fBlist-security-keys\fR\fR
.ad
.sp .6
.RS 4n
Lists the names of keys currently stored on a machine.
.RE

.sp
.ne 2
.na
\fB\fBset-security-key\fR \fIkeyname\fR [ \fIkeydata\fR ]\fR
.ad
.sp .6
.RS 4n
Stores key data \fIkeydata\fR in a key named \fIkeyname\fR. Actual key data can
be up to 32 bytes in length. The maximum length of \fIkeyname\fR is 64 bytes,
which allows for the hex-formatted ASCII used to present the key data. If
\fIkeydata\fR is not present, \fIkeyname\fR and its corresponding data is
deleted.
.RE

.SS "Hardware Checks and Diagnostics"
.sp
.LP
The following commands are available for testing or checking the system's
hardware.  If the \fB\&'diag-switch?'\fR \fBNVRAM\fR parameter 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 workstations.
.sp
.ne 2
.na
\fB\fBtest-all\fR\fR
.ad
.RS 17n
Run the diagnostic tests on each device which has provided a self-test.
.RE

.sp
.ne 2
.na
\fB\fBtest\fR \fBfloppy\fR\fR
.ad
.RS 17n
Run diagnostics on the system's floppy device.
.RE

.sp
.ne 2
.na
\fB\fBtest\fR \fB/memory\fR\fR
.ad
.RS 17n
Run the main memory tests.  If the \fBNVRAM\fR parameter \fB\&'diag-switch?'\fR
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 \fB\&'selftest-#megs'\fR
\fBNVRAM\fR parameter is tested.
.RE

.sp
.ne 2
.na
\fB\fBtest\fR \fBnet\fR\fR
.ad
.RS 17n
Test the network connection for the on-board network controller.
.RE

.sp
.ne 2
.na
\fB\fBwatch-net\fR\fR
.ad
.RS 17n
Monitor the network attached to the on-board net controller.
.RE

.sp
.ne 2
.na
\fB\fBwatch-net-all\fR\fR
.ad
.RS 17n
Monitor the network attached to the on-board net controller, as well as the
network controllers installed in SBus slots.
.RE

.sp
.ne 2
.na
\fB\fBwatch-clock\fR\fR
.ad
.RS 17n
Test the system's clock function.
.RE

.SS "System Information"
.sp
.LP
The following commands are available for displaying information about the
system.  Not all commands are available on all workstations.
.sp
.ne 2
.na
\fB\fBbanner\fR\fR
.ad
.RS 18n
Display the power-on banner.
.RE

.sp
.ne 2
.na
\fB\fB\&.enet-addr\fR\fR
.ad
.RS 18n
Display the system's Ethernet address.
.RE

.sp
.ne 2
.na
\fB\fB\&.idprom\fR\fR
.ad
.RS 18n
Display the formatted contents of the \fBIDPROM.\fR
.RE

.sp
.ne 2
.na
\fB\fBmodule-info\fR\fR
.ad
.RS 18n
Display information about the system's processor(s).
.RE

.sp
.ne 2
.na
\fB\fBprobe-scsi\fR\fR
.ad
.RS 18n
Identify the devices attached to the on-board \fBSCSI\fR controller.
.RE

.sp
.ne 2
.na
\fB\fBprobe-scsi-all\fR\fR
.ad
.RS 18n
Identify the devices attached to the on-board \fBSCSI\fR controller as well as
those devices which are attached to SBus \fBSCSI\fR controllers.
.RE

.sp
.ne 2
.na
\fB\fBshow-disks\fR\fR
.ad
.RS 18n
Display a list of the device paths for installed \fBSCSI\fR disk controllers.
.RE

.sp
.ne 2
.na
\fB\fBshow-displays\fR\fR
.ad
.RS 18n
Display a list of the device paths for installed display devices.
.RE

.sp
.ne 2
.na
\fB\fBshow-nets\fR\fR
.ad
.RS 18n
Display a list of the device paths for installed Ethernet controllers.
.RE

.sp
.ne 2
.na
\fB\fBshow-sbus\fR\fR
.ad
.RS 18n
Display list of installed SBus devices.
.RE

.sp
.ne 2
.na
\fB\fBshow-tapes\fR\fR
.ad
.RS 18n
Display a list of the device paths for installed \fBSCSI\fR tape controllers.
.RE

.sp
.ne 2
.na
\fB\fBshow-ttys\fR\fR
.ad
.RS 18n
Display a list of the device paths for tty devices.
.RE

.sp
.ne 2
.na
\fB\fB\&.traps\fR\fR
.ad
.RS 18n
Display a list of the SPARC trap types.
.RE

.sp
.ne 2
.na
\fB\fB\&.version\fR\fR
.ad
.RS 18n
Display the version and date of the OpenBoot PROM.
.RE

.SS "Emergency Commands"
.sp
.LP
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
\fBStop-A\fR 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 \fBStop-A\fR 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 \fBStop-D,\fR \fBStop-F\fR and \fBStop-N\fR commands are not
allowed when one of the security modes has been set.  Not all commands are
available on all workstations.
.sp
.ne 2
.na
\fB\fBStop (L1)\fR\fR
.ad
.RS 17n
Bypass the Power-On Self Test (POST).  This is only effective if the system has
been placed into the diagnostic mode.
.RE

.sp
.ne 2
.na
\fB\fBStop-A (L1-A)\fR\fR
.ad
.RS 17n
Abort the current operation and return to the monitor's default prompt.
.RE

.sp
.ne 2
.na
\fB\fBStop-D (L1-D)\fR\fR
.ad
.RS 17n
Set the system's \fB\&'diag-switch?'\fR \fBNVRAM\fR parameter to
\fB\&'true'\fR, which places the system in diagnostic mode.  POST diagnostics,
if present, are run, and the messages are displayed by way of the system's
serial port A.
.RE

.sp
.ne 2
.na
\fB\fBStop-F (L1-F)\fR\fR
.ad
.RS 17n
Enter the OpenBoot monitor before the monitor has probed the system for
devices.  Issue the \fB\&'fexit'\fR command to continue with system
initialization.
.RE

.sp
.ne 2
.na
\fB\fBStop-N (L1-N)\fR\fR
.ad
.RS 17n
Causes the \fBNVRAM\fR parameters to be reset to their default values.  Note
that not all parameters have default values.
.RE

.SS "Line Editor Commands"
.sp
.LP
The following commands can be used while the monitor is displaying the \fBok\fR
prompt.  Not all of these editing commands are available on all workstations.
.sp
.ne 2
.na
\fB\fBCTRL-A\fR\fR
.ad
.RS 10n
Place the cursor at the start of line.
.RE

.sp
.ne 2
.na
\fB\fBCTRL-B\fR\fR
.ad
.RS 10n
Move the cursor backward one character.
.RE

.sp
.ne 2
.na
\fB\fBESC-B\fR\fR
.ad
.RS 10n
Move the cursor backward one word.
.RE

.sp
.ne 2
.na
\fB\fBCTRL-D\fR\fR
.ad
.RS 10n
Erase the character that the cursor is currently highlighting.
.RE

.sp
.ne 2
.na
\fB\fBESC-D\fR\fR
.ad
.RS 10n
Erase the portion of word from the cursor's present position to the end of the
word.
.RE

.sp
.ne 2
.na
\fB\fBCTRL-E\fR\fR
.ad
.RS 10n
Place the cursor at the end of line.
.RE

.sp
.ne 2
.na
\fB\fBCTRL-F\fR\fR
.ad
.RS 10n
Move the cursor forward one character.
.RE

.sp
.ne 2
.na
\fB\fBESC-F\fR\fR
.ad
.RS 10n
Move the cursor forward one word.
.RE

.sp
.ne 2
.na
\fB\fBCTRL-H\fR\fR
.ad
.RS 10n
Erase the character preceding the cursor (also use Delete or Back Space)
.RE

.sp
.ne 2
.na
\fB\fBESC-H\fR\fR
.ad
.RS 10n
Erase the portion of the word which precedes the cursor (use also \fBCTRL-W)\fR
.RE

.sp
.ne 2
.na
\fB\fBCTRL-K\fR\fR
.ad
.RS 10n
Erase from the cursor's present position to the end of the line.
.RE

.sp
.ne 2
.na
\fB\fBCTRL-L\fR\fR
.ad
.RS 10n
Show the command history list.
.RE

.sp
.ne 2
.na
\fB\fBCTRL-N\fR\fR
.ad
.RS 10n
Recall the next command from the command history list
.RE

.sp
.ne 2
.na
\fB\fBCTRL-P\fR\fR
.ad
.RS 10n
Recall a previous command from the command history list.
.RE

.sp
.ne 2
.na
\fB\fBCTRL-Q\fR\fR
.ad
.RS 10n
Quote the next character (used to type a control character).
.RE

.sp
.ne 2
.na
\fB\fBCTRL-R\fR\fR
.ad
.RS 10n
Retype the current line.
.RE

.sp
.ne 2
.na
\fB\fBCTRL-U\fR\fR
.ad
.RS 10n
Erase from the cursor's present position to the beginning of the line.
.RE

.sp
.ne 2
.na
\fB\fBCTRL-Y\fR\fR
.ad
.RS 10n
Insert the contents of the memory buffer into the line, in front (to the left)
of the cursor.
.RE

.SS "nvramrc"
.sp
.LP
The \fBnvramrc\fR is an area of the system's \fBNVRAM\fR where users may store
Forth programs. The programs which are stored in the \fBnvramrc\fR are executed
each time the system is reset, provided that the \fB\&'use-nvramrc?'\fR
\fBNVRAM\fR parameter has been set to \fB\&'true'\fR. Refer to the book for
information on how to edit and use the \fBnvramrc\fR.
.SS "Restricted Monitor"
.sp
.LP
The command \fB\&'old-mode'\fR is used to move OpenBoot into a restricted
monitor mode, causing the \fB> \fR prompt to be displayed.  Only three commands
are allowed while in the restricted monitor; the \fB\&'go'\fR command (to
resume a program which was interrupted with the \fBStop-A\fR command), the
\fB\&'n'\fR command (to return to the normal OpenBoot monitor), and boot
commands.  The restricted monitor's boot commands approximate the older
\fBSunMON\fR monitor's boot command syntax. If a \fB\&'security-mode'\fR has
been turned on then the restricted monitor becomes the default monitor
environment.  The restricted monitor may also become the default environment if
the \fB\&'sunmon-compat?' \fR \fBNVRAM\fR parameter is set to true.  Not all
workstations have the \fB\&'sunmon-compat?'\fR parameter.
.SH SUNMON PROM USAGE
.sp
.LP
The following commands are available systems with older  \fBSunMON\fR-based
PROM:
.sp
.ne 2
.na
\fB\fB+\fR|\fB\(mi\fR\fR
.ad
.sp .6
.RS 4n
Increment or decrement the current address and display the contents of the new
location.
.RE

.sp
.ne 2
.na
\fB\fB^C\fR\fI source destination n\fR\fR
.ad
.sp .6
.RS 4n
(caret-C) Copy, byte-by-byte, a block of length \fIn\fR from the \fBsource\fR
address to the \fIdestination\fR address.
.RE

.sp
.ne 2
.na
\fB\fB^I \fR\fIprogram\fR\fR
.ad
.sp .6
.RS 4n
(caret-I) Display the compilation date and location of \fIprogram\fR.
.RE

.sp
.ne 2
.na
\fB\fB^T \fR\fIvirtual_address\fR\fR
.ad
.sp .6
.RS 4n
(caret-T) Display the physical address to which \fIvirtual_address\fR is
mapped.
.RE

.sp
.ne 2
.na
\fB\fBb\fR [ \fB!\fR ] [ \fIdevice\fR [
\fB(\fR\fIc\fR\fB,\fR\fIu\fR\fB,\fR\fIp\|\fR\fB)\fR\fI\fR ] ] [ \fIpathname\fR
] [ \fIarguments_list\fR ]\fR
.ad
.sp .6
.RS 4n

.RE

.sp
.ne 2
.na
\fB\fBb\fR[\fB?\fR]\fR
.ad
.sp .6
.RS 4n
Reset appropriate parts of the system and bootstrap a program.  A `\fB!\fR'
(preceding the \fIdevice\fR argument) prevents the system reset from occurring.
Programs can be loaded from various devices (such as a disk, tape, or
Ethernet). `\fBb\fR' with no arguments causes a default boot, either from a
disk, or from an Ethernet controller. `\fBb?\fR' displays all boot devices and
their \fIdevice\fRs.
.sp
.ne 2
.na
\fB\fIdevice\fR\fR
.ad
.RS 18n
one of
.sp
.ne 2
.na
\fB\fBle\fR\fR
.ad
.RS 6n
Lance Ethernet
.RE

.sp
.ne 2
.na
\fB\fBie\fR\fR
.ad
.RS 6n
Intel Ethernet
.RE

.sp
.ne 2
.na
\fB\fBsd\fR\fR
.ad
.RS 6n
\fBSCSI\fR disk, CDROM
.RE

.sp
.ne 2
.na
\fB\fBst\fR\fR
.ad
.RS 6n
\fBSCSI\fR 1/4" or 1/2" tape
.RE

.sp
.ne 2
.na
\fB\fBfd\fR\fR
.ad
.RS 6n
Diskette
.RE

.sp
.ne 2
.na
\fB\fBid\fR\fR
.ad
.RS 6n
IPI disk
.RE

.sp
.ne 2
.na
\fB\fBmt\fR\fR
.ad
.RS 6n
Tape Master 9-track 1/2" tape
.RE

.sp
.ne 2
.na
\fB\fBxd\fR\fR
.ad
.RS 6n
Xylogics 7053 disk
.RE

.sp
.ne 2
.na
\fB\fBxt\fR\fR
.ad
.RS 6n
Xylogics 1/2" tape
.RE

.sp
.ne 2
.na
\fB\fBxy\fR\fR
.ad
.RS 6n
Xylogics 440/450 disk
.RE

.RE

.sp
.ne 2
.na
\fB\fIc\fR\fR
.ad
.RS 18n
A controller number (\fB0\fR if only one controller),
.RE

.sp
.ne 2
.na
\fB\fIu\fR\fR
.ad
.RS 18n
A unit number (\fB0\fR if only one driver), and
.RE

.sp
.ne 2
.na
\fB\fIp\fR\fR
.ad
.RS 18n
A partition.
.RE

.sp
.ne 2
.na
\fB\fIpathname\fR\fR
.ad
.RS 18n
A pathname for a program such as \fB/stand/diag\fR.
.RE

.sp
.ne 2
.na
\fB\fIarguments_list\fR\fR
.ad
.RS 18n
A list of up to seven arguments to pass to the program being booted.
.RE

.RE

.sp
.ne 2
.na
\fB\fBc [\fR\fIvirtual_address\fR\fB]\fR\fR
.ad
.sp .6
.RS 4n
Resume execution of a program. When given, \fIvirtual_address\fR is the address
at which execution resumes. The default is the current \fBPC.\fR Registers are
restored to the values shown by the \fBd\fR, and \fBr\fR commands.
.RE

.sp
.ne 2
.na
\fB\fBd [\fR\fIwindow_number\fR\fB]\fR\fR
.ad
.sp .6
.RS 4n
Display (dump) the state of the processor. The processor state is observable
only after:
.RS +4
.TP
.ie t \(bu
.el o
An unexpected trap was encountered.
.RE
.RS +4
.TP
.ie t \(bu
.el o
A user program dropped into the monitor (by calling \fIabortent\fR).
.RE
.RS +4
.TP
.ie t \(bu
.el o
The user manually entered the monitor by typing \fBL1\(miA\fR or \fBBREAK.\fR
.RE
The display consists of the following:
.RS +4
.TP
.ie t \(bu
.el o
The special registers: \fBPSR,\fR \fBPC,\fR nPC, \fBTBR,\fR \fBWIM,\fR and Y
.RE
.RS +4
.TP
.ie t \(bu
.el o
Eight global registers
.RE
.RS +4
.TP
.ie t \(bu
.el o
24 window registers (8 \fIin\fR, 8 \fIlocal\fR, and 8 \fIout\fR), 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.
.RE
.sp
.ne 2
.na
\fB\fIwindow_number\fR\fR
.ad
.RS 17n
Display the indicated \fIwindow_number\fR, which can be any value between
\fB0\fR and \fB6\fR, inclusive.  If no window is specified and the \fBPSR's\fR
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.
.RE

.RE

.sp
.ne 2
.na
\fB\fBe\fR [\fIvirtual_address\fR]\|[\fIaction\fR] .\|.\|.\fR
.ad
.sp .6
.RS 4n
Open the 16-bit word at \fIvirtual_address\fR (default zero).  The address is
interpreted in the address space defined by the \fBs\fR command. See the
\fBa\fR command for a description of \fIaction\fR.
.RE

.sp
.ne 2
.na
\fB\fBf\fR\fI virtual_address1 virtual_address2 pattern \fR [\fIsize\|\fR]\fR
.ad
.sp .6
.RS 4n
Fill the bytes, words, or long words from \fIvirtual_address1\fR (lower) to
\fIvirtual_address2\fR (higher) with the constant, \fIpattern\fR. The
\fBsize\fR argument can take one of the following values:
.sp
.ne 2
.na
\fB\fBb\fR\fR
.ad
.RS 5n
byte format (the default)
.RE

.sp
.ne 2
.na
\fB\fBw\fR\fR
.ad
.RS 5n
word format
.RE

.sp
.ne 2
.na
\fB\fBl\fR\fR
.ad
.RS 5n
long word format
.RE

For example, the following command fills the address block from \fB0x1000\fR to
\fB0x2000\fR with the word pattern, \fB0xABCD\fR:
.sp
\fBf 1000 2000 ABCD W\fR
.RE

.sp
.ne 2
.na
\fB\fBg\fR [\fIvector\|\fR] [\fIargument\|\fR]\fR
.ad
.br
.na
\fB\fBg\fR [\fIvirtual_address\|\fR] [\fIargument\fR\|]\fR
.ad
.sp .6
.RS 4n
Goto (jump to) a predetermined or default routine (first form), or to a
user-specified routine (second form).  The value of \fIargument\fR is passed to
the routine.  If the \fIvector\fR or \fIvirtual_address\fR argument is omitted,
the value in the \fBPC\fR is used as the address to jump to.
.sp
To set up a predetermined routine to jump to, a user program must, prior to
executing the monitor's \fBg\fR command, set the variable
\fB*romp->v_vector_cmd\fR to be equal to the virtual address of the desired
routine. Predetermined routines need not necessarily return control to the
monitor.
.sp
The default routine, defined by the monitor, prints the user-supplied
\fIvector\fR according to the format supplied in \fIargument\fR. This format
can be one of:
.sp
.ne 2
.na
\fB\fB%x\fR\fR
.ad
.RS 6n
hexadecimal
.RE

.sp
.ne 2
.na
\fB\fB%d\fR\fR
.ad
.RS 6n
decimal
.RE

.RE

.sp
.ne 2
.na
\fB\fBg0\fR\fR
.ad
.sp .6
.RS 4n
Force a panic and produce a crash dump  when the monitor is running as a result
of the system being interrupted,
.RE

.sp
.ne 2
.na
\fB\fBg4\fR\fR
.ad
.sp .6
.RS 4n
(Sun-4 systems only) Force a kernel stack trace  when the monitor is running as
a result of the system being interrupted,
.RE

.sp
.ne 2
.na
\fB\fBh\fR\fR
.ad
.sp .6
.RS 4n
Display the help menu for monitor commands and their descriptions. To return to
the monitor's basic command level, press \fBESCAPE\fR or \fBq\fR before
pressing \fBRETURN.\fR
.RE

.sp
.ne 2
.na
\fB\fBi \fR[\fIcache_data_offset\fR\|] [\fIaction\fR\|]\|.\|.\|.\fR
.ad
.sp .6
.RS 4n
Modify cache data \fBRAM\fR command.  Display and/or modify one or more of the
cache data addresses.  See the \fBa\fR command for a description of
\fIaction\fR.
.RE

.sp
.ne 2
.na
\fB\fBj\fR [\fIcache_tag_offset\fR\|] [\fIaction\|\fR]\|.\|.\|.\fR
.ad
.sp .6
.RS 4n
Modify cache tag \fBRAM\fR command.  Display and/or modify the contents of one
or more of the cache tag addresses.  See the \fBa\fR command for a description
of \fIaction\fR.
.RE

.sp
.ne 2
.na
\fB\fBk [\fR\fIreset_level\fR\fB]\fR\fR
.ad
.sp .6
.RS 4n
Reset the system, where \fIreset_level\fR is:
.sp
.ne 2
.na
\fB\fB0\fR\fR
.ad
.RS 5n
Reset \fBVMEbus,\fR interrupt registers, video monitor (Sun-4 systems). This is
the default.
.RE

.sp
.ne 2
.na
\fB\fB1\fR\fR
.ad
.RS 5n
Software reset.
.RE

.sp
.ne 2
.na
\fB\fB2\fR\fR
.ad
.RS 5n
Power-on reset. Resets and clears the memory. Runs the \fBEPROM-based\fR
diagnostic self test, which can take several minutes, depending upon how much
memory is being tested.
.RE

.RE

.sp
.ne 2
.na
\fB\fBkb\fR\fR
.ad
.sp .6
.RS 4n
Display the system banner.
.RE

.sp
.ne 2
.na
\fB\fBl\|\fR [\fIvirtual_address\fR\|]\|[\fIaction\fR]\|.\|.\|.\fR
.ad
.sp .6
.RS 4n
Open the long word (32 bit) at memory address \fIvirtual_address\fR (default
zero).  The address is interpreted in the address space defined by the \fBs\fR
command (below).  See the \fBa\fR command for a description of \fIaction\fR.
.RE

.sp
.ne 2
.na
\fB\fBm\|\fR [\fIvirtual_address\fR\|]\|[\fIaction\fR\|]\|.\|.\|.\fR
.ad
.sp .6
.RS 4n
Open the segment map entry that maps \fIvirtual_address\fR (default zero). The
address is interpreted in the address space defined by the \fBs\fR command. See
the \fBa\fR command for a description of \fIaction\fR.
.RE

.sp
.ne 2
.na
\fB\fBne\fR\fR
.ad
.sp .6
.RS 4n

.RE

.sp
.ne 2
.na
\fB\fBni\fR\fR
.ad
.sp .6
.RS 4n
Disable, enable, or invalidate the cache, respectively.
.RE

.sp
.ne 2
.na
\fB\fBo\|\fR [\fIvirtual_address\fR\|]\|[action\fI]\|.\|.\|.\fR\fR
.ad
.sp .6
.RS 4n
Open the byte location specified  by \fIvirtual_address\fR (default zero).  The
address is interpreted in the address space defined by the \fBs\fR command. See
the \fBa\fR command for a description of \fIaction\fR.
.RE

.sp
.ne 2
.na
\fB\fBp\|\fR [\fIvirtual_address\fR\|]\|[\fIaction\fR].\|.\|.\fR
.ad
.sp .6
.RS 4n
Open the page map entry that maps \fIvirtual_address\fR (default zero) in the
address space defined by the \fBs\fR command. See the \fBa\fR command for a
description of \fIaction\fR.
.RE

.sp
.ne 2
.na
\fB\fBq\|\fR [\fIeeprom_offset\fR\|]\|[\fIaction\fR\|].\|.\|.\fR
.ad
.sp .6
.RS 4n
Open the \fBEEPROM\fR \fIeeprom_offset\fR (default zero) in the \fBEEPROM\fR
address space. All addresses are referenced from the beginning or base of the
\fBEEPROM\fR in physical address space, and a limit check is performed to
insure that no address beyond the \fBEEPROM\fR 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 \fBa\fR command for a description of \fIaction\fR.
.RE

.sp
.ne 2
.na
\fB\fBr\|\fR [\fIregister_number\|\fR]\fR
.ad
.br
.na
\fB\fBr\|\fR [\fIregister_type\|\fR]\fR
.ad
.br
.na
\fB\fBr\|\fR [\fIw window_number\|\fR]\fR
.ad
.sp .6
.RS 4n
Display and/or modify one or more of the \fBIU\fR or \fBFPU\fR registers. A
hexadecimal \fIregister_number\fR can be one of:
.sp
.ne 2
.na
\fB\fB0x00\fR\(mi\fB0x0f\fR\fR
.ad
.RS 16n
window(0,i0)\(miwindow(0,i7), window(0,i0)\(emwindow(0,i7)
.RE

.sp
.ne 2
.na
\fB\fB0x16\fR\(mi\fB0x1f\fR\fR
.ad
.RS 16n
window(1,i0)\(miwindow(1,i7), window(1,i0)\(emwindow(1,i7)
.RE

.sp
.ne 2
.na
\fB\fB0x20\fR\(mi\fB0x2f\fR\fR
.ad
.RS 16n
window(2,i0)\(miwindow(2,i7), window(2,i0)\(emwindow(2,i7)
.RE

.sp
.ne 2
.na
\fB\fB0x30\fR\(mi\fB0x3f\fR\fR
.ad
.RS 16n
window(3,i0)\(miwindow(3,i7), window(3,i0)\(emwindow(3,i7)
.RE

.sp
.ne 2
.na
\fB\fB0x40\fR\(mi\fB0x4f\fR\fR
.ad
.RS 16n
window(4,i0)\(miwindow(4,i7), window(4,i0)\(emwindow(4,i7)
.RE

.sp
.ne 2
.na
\fB\fB0x50\fR\(mi\fB0x5f\fR\fR
.ad
.RS 16n
window(5,i0)\(miwindow(5,i7), window(5,i0)\(emwindow(5,i7)
.RE

.sp
.ne 2
.na
\fB\fB0x60\fR\(mi\fB0x6f\fR\fR
.ad
.RS 16n
window(6,i0)\(miwindow(6,i7), window(6,i0)\(emwindow(6,i7)
.RE

.sp
.ne 2
.na
\fB\fB0x70\fR\(mi\fB0x77\fR\fR
.ad
.RS 16n
\fBg0, g1, g2, g3, g4, g5, g6, g7\fR
.RE

.sp
.ne 2
.na
\fB\fB0x78\fR\(mi\fB0x7d\fR\fR
.ad
.RS 16n
\fBPSR,\fR \fBPC,\fR \fBnPC,\fR \fBWIM,\fR \fBTBR,\fR \fBY.\fR
.RE

.sp
.ne 2
.na
\fB\fB0x7e\fR\(mi\fB0x9e\fR\fR
.ad
.RS 16n
\fBFSR,\fR f0\(mif31
.RE

Register numbers can only be displayed after an unexpected trap, a user program
has entered the monitor using the \fIabortent\fR function, or the user has
entered the monitor by manually typing \fBL1\(miA\fR or \fBBREAK.\fR
.sp
If a \fIregister_type\fR is given, the first register of the indicated type is
displayed. \fIregister_type\fR can be one of:
.sp
.ne 2
.na
\fB\fBf\fR\fR
.ad
.RS 5n
floating-point
.RE

.sp
.ne 2
.na
\fB\fBg\fR\fR
.ad
.RS 5n
global
.RE

.sp
.ne 2
.na
\fB\fBs\fR\fR
.ad
.RS 5n
special
.RE

If \fBw\fR and a \fIwindow_number\fR (\fB0\fR\(em\fB6\fR) are given, the first
\fIin\fR-register within the indicated window is displayed.  If
\fIwindow_number\fR is omitted, the window that was active just prior to
entering the monitor is used.  If the \fBPSR's\fR current window pointer is
invalid, window 0 is used.
.RE

.sp
.ne 2
.na
\fB\fBs [\fR\fIasi\fR\fB])\fR\fR
.ad
.sp .6
.RS 4n
Set or display the Address Space Identifier.  With no argument, \fBs\fR
displays the current Address Space Identifier.  The \fIasi\fR value can be one
of:
.sp
.ne 2
.na
\fB\fB0x2\fR\fR
.ad
.RS 7n
control space
.RE

.sp
.ne 2
.na
\fB\fB0x3\fR\fR
.ad
.RS 7n
segment table
.RE

.sp
.ne 2
.na
\fB\fB0x4\fR\fR
.ad
.RS 7n
Page table
.RE

.sp
.ne 2
.na
\fB\fB0x8\fR\fR
.ad
.RS 7n
user instruction
.RE

.sp
.ne 2
.na
\fB\fB0x9\fR\fR
.ad
.RS 7n
supervisor instruction
.RE

.sp
.ne 2
.na
\fB\fB0xa\fR\fR
.ad
.RS 7n
user data
.RE

.sp
.ne 2
.na
\fB\fB0xb\fR\fR
.ad
.RS 7n
supervisor data
.RE

.sp
.ne 2
.na
\fB\fB0xc\fR\fR
.ad
.RS 7n
flush segment
.RE

.sp
.ne 2
.na
\fB\fB0xd\fR\fR
.ad
.RS 7n
flush page
.RE

.sp
.ne 2
.na
\fB\fB0xe\fR\fR
.ad
.RS 7n
flush context
.RE

.sp
.ne 2
.na
\fB\fB0xf\fR\fR
.ad
.RS 7n
cache data
.RE

.RE

.sp
.ne 2
.na
\fB\fBu\fR [ \fBecho\fR ]\fR
.ad
.sp .6
.RS 4n

.RE

.sp
.ne 2
.na
\fB\fBu\fR [ \fIport\fR ] [ \fIoptions\fR ] [ \fIbaud_rate\fR ]\fR
.ad
.sp .6
.RS 4n

.RE

.sp
.ne 2
.na
\fB\fBu\fR [ \fBu\fR ] [ \fIvirtual_address\fR ]\fR
.ad
.sp .6
.RS 4n
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
\fBUART\fR devices. With arguments, set or configure the current I/O device.
With the \fBu\fR argument (\fBuu\fR.\|.\|.), set the I/O device to be the
\fIvirtual_address\fR of a \fBUART\fR device currently mapped.
.sp
.ne 2
.na
\fB\fBecho\fR\fR
.ad
.RS 13n
 Can be either \fBe\fR to enable input to be echoed to the output device, or
\fBne\fR, to indicate that input is not echoed.
.RE

.sp
.ne 2
.na
\fB\fIport\fR\fR
.ad
.RS 13n
Assign the indicated \fIport\fR to be the current I/O device. \fIport\fR can be
one of:
.sp
.ne 2
.na
\fB\fBa\fR\fR
.ad
.RS 5n
serial port A
.RE

.sp
.ne 2
.na
\fB\fBb\fR\fR
.ad
.RS 5n
serial port B
.RE

.sp
.ne 2
.na
\fB\fBk\fR\fR
.ad
.RS 5n
the workstation keyboard
.RE

.sp
.ne 2
.na
\fB\fBs\fR\fR
.ad
.RS 5n
the workstation screen
.RE

.RE

.sp
.ne 2
.na
\fB\fIbaud_rate\fR\fR
.ad
.RS 13n
Any legal baud rate.
.RE

.sp
.ne 2
.na
\fB\fIoptions\fR\fR
.ad
.RS 11n
can be any combination of:
.sp
.ne 2
.na
\fB\fBi\fR\fR
.ad
.RS 6n
input
.RE

.sp
.ne 2
.na
\fB\fBo\fR\fR
.ad
.RS 6n
output
.RE

.sp
.ne 2
.na
\fB\fBu\fR\fR
.ad
.RS 6n
\fBUART\fR
.RE

.sp
.ne 2
.na
\fB\fBe\fR\fR
.ad
.RS 6n
echo input to output
.RE

.sp
.ne 2
.na
\fB\fBne\fR\fR
.ad
.RS 6n
do not echo input
.RE

.sp
.ne 2
.na
\fB\fBr\fR\fR
.ad
.RS 6n
reset indicated serial port (\fBa\fR and \fBb\fR ports only)
.RE

If either \fBa\fR or \fBb\fR is supplied, and no \fIoptions\fR are given, the
serial port is assigned for both input and output.  If \fBk\fR is supplied with
no options, it is assigned for input only.  If \fBs\fR is supplied with no
options, it is assigned for output only.
.RE

.RE

.sp
.ne 2
.na
\fB\fBv\fR\fI virtual_address1 virtual_address2 \fR [\fBsize\fR]\fR
.ad
.sp .6
.RS 4n
Display the contents of \fIvirtual_address1\fR (lower) \fIvirtual_address2\fR
(higher) in the format specified by \fBsize\fR:
.sp
.ne 2
.na
\fB\fBb\fR\fR
.ad
.RS 5n
byte format (the default)
.RE

.sp
.ne 2
.na
\fB\fBw\fR\fR
.ad
.RS 5n
word format
.RE

.sp
.ne 2
.na
\fB\fBl\fR\fR
.ad
.RS 5n
long word format
.RE

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.
.sp
For example, the following command displays the contents of virtual address
space from address  \fB0x1000\fR to  \fB0x2000\fR in word format:
.sp
\fBv\fR \fB1000\fR \fB2000\fR \fBW\fR
.RE

.sp
.ne 2
.na
\fB\fBw\|\fR [\fIvirtual_address\|\fR]\|[\fIargument\|\fR]\fR
.ad
.sp .6
.RS 4n
Set the execution vector to a predetermined or default routine. Pass
\fIvirtual_address\fR and \fIargument\fR to that routine.
.sp
To set up a predetermined routine to jump to, a user program must, prior to
executing the monitor's \fBw\fR command, set the variable
\fB*romp->v_vector_cmd\fR to be equal to the virtual address of the desired
routine. Predetermined routines need not necessarily return control to the
monitor.
.sp
The default routine, defined by the monitor, prints the user-supplied
\fIvector\fR according to the format supplied in \fIargument\fR. This format
can be one of:
.sp
.ne 2
.na
\fB\fB%x\fR\fR
.ad
.RS 6n
hexadecimal
.RE

.sp
.ne 2
.na
\fB\fB%d\fR\fR
.ad
.RS 6n
decimal
.RE

.RE

.sp
.ne 2
.na
\fB\fBx\fR\fR
.ad
.sp .6
.RS 4n
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.
.RE

.sp
.ne 2
.na
\fB\fBy\|c\fR\fI context_number\fR\fR
.ad
.sp .6
.RS 4n

.RE

.sp
.ne 2
.na
\fB\fBy\|p|s\|\fR\fI context_number virtual_address\fR\fR
.ad
.sp .6
.RS 4n
Flush the indicated context, context page, or context segment.
.sp
.ne 2
.na
\fB\fBc\fR\fR
.ad
.RS 5n
flush context \fIcontext_number\fR
.RE

.sp
.ne 2
.na
\fB\fBp\fR\fR
.ad
.RS 5n
flush the page beginning at \fIvirtual_address\fR within context
\fIcontext_number\fR
.RE

.sp
.ne 2
.na
\fB\fBs\fR\fR
.ad
.RS 5n
flush the segment beginning at \fIvirtual_address\fR within context
\fIcontext_number\fR
.RE

.RE

.SH ATTRIBUTES
.sp
.LP
See \fBattributes\fR(5) for descriptions of the following attributes:
.sp

.sp
.TS
box;
c | c
l | l .
ATTRIBUTE TYPE	ATTRIBUTE VALUE
_
Architecture	SPARC
.TE

.SH SEE ALSO
.sp
.LP
\fBtip\fR(1), \fBboot\fR(1M), \fBeeprom\fR(1M), \fBattributes\fR(5)
.sp
.LP