PROM PRM 01 DOC_PROM_Monitor_Ref_Jun92 DOC Monitor Ref Jun92

PRM-01-DOC_PROM_Monitor_Ref_Jun92 PRM-01-DOC_PROM_Monitor_Ref_Jun92

User Manual: PRM-01-DOC_PROM_Monitor_Ref_Jun92

Open the PDF directly: View PDF PDF.
Page Count: 20

Your comments on our products and publications are
welcome. A postage-paid form is provided for this pur-
pose on the last page of this manual.
Part Number 84-00317/02-01169
June 1992
PROM Monitor Reference
PRM-01-DOC
PROM Monitor Reference iii
About this Book
Audience
This manual is intended for system administrators responsible for maintaining and
managing system resources.
Organization of this Manual
This manual describes the PROM (Programmable Read Only Memory) monitor,
which initializes the system after power-on. The PROM monitor executes diag-
nostic tests to ensure that the machine is reasonably free of problems. It is also
responsible for loading and starting the execution of standalone programs,
including the RISC/os kernel. The PROM monitor provides system services to
standalone programs.
This manual contains information on the following topics:
•Overview
Initialization displays
PROM monitor command summary
PROM monitor environment variables
Updating PROMs
Note that, throughout this manual, the term ‘‘4000 systems’’ refers to both the
Magnum and Millennium 4000 systems.
For Further Reading
RISC/os System Administrator’s Guide ROS-04-DOC
Magnum 4000/50PC and RC4130 Technical Reference SYS-25-DOC
iv PROM Monitor Reference
Customer Service Telephone Numbers:
U.S. and Canada:
International: (800) 676-MIPS
Contact your local sales rep.
1989-1992 MIPS Computer Systems, Inc. All rights reserved.
RISC/os is a trademarks of MIPS Computer Systems, Inc.
UNIX is a trademark of AT&T
MIPS Computer Systems, Inc.
950 DeGuigne Drive
Sunnyvale, CA 94088-3650
PROM Monitor Reference 1
PROM Monitor Reference
This manual describes the PROM (Programmable Read-Only Memory) monitor,
which provides the tools for the following tasks:
Performing basic functional testing of the CPU (including caches and
floating point hardware), main memory, and the CPU to I/O subsystem
interface
Examining and changing system memory
Downloading programs over serial lines (RS-232C)
Booting programs from disk, tape, or Ethernet
The PROM monitor also provides utilities for altering configuration power-up
options in nonvolatile RAM (NVRAM).
This manual is divided into the following sections:
•Overview
Initialization displays
Command summary
Environment variables
Updating PROMs
Overview
The PROM monitor uses system memory between physical addresses
0xA0000500 and 0xA001FFFF, and resides in PROM on the I/O
(Input/Output) adapter board. The include file prom/entrypt.h describes conven-
tions for memory use by standalone programs.
The PROM monitor is entered at 0xBFC00000 when the system is reset or
powered up. The PROM monitor initializes the processor, caches, NVRAM,
main memory, the I/O subsystem, and any other boards that are present.
2 PROM Monitor Reference
The processor is initialized by:
Initializing the system coprocessor status and cause registers
Flushing the translation buffer
Sizing and flushing the instruction and data caches
Initializing environment variables from nonvolatile memory
The memory boards are initialized by:
Probing to determine how many boards exist
Determining the best memory interleave configuration
Configuring the boards for refresh slot assignment and assigning base
addresses
Power-On Diagnostics Initialization Display for 4000 Systems
The following power-on (PON) diagnostic messages appear on the monitor after
the system is initialized and before the PROM monitor messages appear:
PON Diagnostics Version 5.05 MIPS OPT Wed May 27 16:45:05 PDT
1992 root..PASSED
If a power-on diagnostic failure is detected, a display similar to the sample in
Figure 1 appears.
Figure 1: PON Diagnostics Display
The **N/A** string indicates that the test was not executed because the hardware
is not part of this configuration. Refer to the Power-On Diagnostic Manual that
accompanies your system for information about failed test results.
Initialization Display for the RC6380
During initialization, the RC6380 monitor displays status and test results. Figure 2
shows a typical display that appears when initialization is complete.
PON Diagnostics Version 5.05 MIPS OPT Wed May 27 16:45:05
PDT 1992 root..PASSED
High Memory Test..... PASSED I/O Cache Test....... PASS
E
NVRAM Test........... PASSED Parallel Test........ PASS
E
Floppy Chip Test..... PASSED Partial Write Test... PASS
E
Memory Parity Test... PASSED Primary Dcache Test.. PASS
E
Primary ICache Test..*FAILED Primary DTAG Test.... PASS
E
Primary ITAG Test.... PASSED Secondary Cache Test.**N/A
*
FP Test.............. PASSED Keyboard Selftest.... PASS
E
Keyboard BAT Test.... PASSED Video board Test.....*FAIL
E
SCSI Register Test... PASSED Audio Chip Test...... PASS
E
Sonic Reset Test..... PASSED Sonic Register Test.. PASSED
PROM Monitor Reference
PROM Monitor Reference 3
Figure 2: PROM Monitor Status and Test Result Display
The display in Figure 2 varies depending on the bootmode. For example, boot-
mode m, w, or c runs power–on diagnostics, so the display is preceded by diagnos-
tics information. The informational messages also vary depending on conditions
set by the PROM or user.
The following message appears if the PROM detects a power-off condition or a
cache parity error and must initialize the caches and memories (after a power off,
the data is invalid):
Information: memory and secondary cache have been
initialized
The following message informs you that the PROM has attempted to preserve the
contents of memory and the secondary cache. You can use this information in
determining whether to do a memory dump:
Information: memory and secondary cache are valid
The following messages indicate the current bootmode:
Information: your current prom bootmode is d
Information: your current prom bootmode is m
Information: your current prom bootmode is e
The following message indicates that the PROM has detected only one CPU in the
system and has enabled snoop in all the SBC chips:
Information: cache coherency watch enabled
This message appears only when the following conditions exist:
RC6380 MIPS Monitor: Version 5.36 OPT Mon Jan 13 12:22:04 PST 1992 ro
o
Memory size: 134217728 (0x8000000) bytes, 128 MB
Present Board Configuration Status
SBC HDWR CPU FPA SOFT SOFT
SLOT REV TYPE REV REV STATE TYPE DESCRIPTION
---- ---- ---- ---- --- ----- ------ -------------
1 A1.3 cpu A1.1 4.0 on master MP-capable CPU0 512KB-Scache (2)
2 A1.3 ioc ---- --- ----- ------ MP-capable I/O Controller (2c)
3 A1.3 mem ---- --- ----- ------ MP-capable Abortable (11)
4 A1.3 cpu A1.1 4.0 idle slave MP-capable CPU1 512KB-Scache (2)
5-10 ---- ---- ---- --- ----- ------ Slot is empty
Information: memory and secondary cache have been initialized
Information: multi-processing mode enabled
Information: your current prom bootmode is m
>>
4 PROM Monitor Reference
System has only one CPU
All system bus chips are at revision 9 or greater
CPU boards are MP-capable
CPU chips are at revision A1.0 or greater
CPU PRid Implementation field is a 6 (R6000A CPU)
IOC boards are MP-capable
Memory boards are MP-capable
The following message indicates that the PROM found more then one CPU in the
system and has enabled snoop in all the SBC chips:
Information: multi-processing mode enabled
This message appears only when the following conditions exist:
System has more than one CPU
All system bus chips are at revision A1.0 or greater
CPU boards are MP-capable
CPU chips are at revision A1.0 or greater
CPU Processor ID (PRid) Implementation field is a 6 (R6000A CPU)
IOC boards are MP-capable
The following message indicates that initialization tests found parity errors in the
secondary cache of CPU–x and initialized that cache. The message shows the
logical CPU numbers of all CPUs with cache errors (all caches with errors are
initialized):
WARNING: PARITY ERRORS FOUND IN SCACHE OF CPU–x
Command Summary
The following subsections list all the PROM monitor commands and give their
syntax. For a full description of each command, see the corresponding manual
page or the prom(1M) manual page.
Load Command
The sload command changes the PROM monitor mode to accept an srecord file.
The syntax is as follows:
sload [–a] [–b] [console_dev]
PROM Monitor Reference
PROM Monitor Reference 5
Start-Up Commands
Table 1 summarizes the start-up commands.
Table 1: Start-Up Commands
Command Purpose Syntax
auto Initiates the two-level
operating system autoboot
sequence.
auto
boot Loads the specified program. boot [
f filename] [–n] [args]
warm Executes a warm boot of the
system warm
6 PROM Monitor Reference
The syntax of the filename parameter for the boot command depends on the device,
as shown in Table 2.
The user-supplied parameters for the filename syntax are as follows:
controller A number that specifies the device controller. If you do
not specify a controller number, the default value 0 is
used.
file file indicates which file on the tape; 0 indicates the first
file.
interface interface indicates the type of Ethernet board in the
system: cmc or egl. This is applicable only on systems
that allow multiple Ethernet boards. For the RC3360
and RC3350, interface can also be la (for LANCE
Ethernet interface).
Table 2: Filename Syntax for boot Command
Device Boot File Name Syntax System
SMD disk dkip(controller, unit, partition) path M/2000 SMD or RC6280
SCSI disk dksd(controller, target, partition) path Rx2030, RC3350, 4000 systems, or
RC3x60G
VME SCSI
disk
dkij(controller, unit, partition) path RC3260, M/2000 SCSI, RC6260, or
RC6380
SCSI disk dkis(controller, target, partition) path M/120 or RC3240
SCSI tape tqsd(controller, target, file) path Rx2030, RC3350, 4000 systems, or
RC3x60G
VME SCSI
tape
tqij(controller, unit, file) path RC3260, M/2000 SCSI, RC6260, or
RC6380
QIC tape tpqic Rx2030, RC3350, or RC3x60G
SCSI tape tqis RC3260, M/2000 SCSI, RC6260, or
RC6380
Console uart tty(port #)
Ethernet bfs(,interface, controller),nfs()
Pseudo
Console
console(port #)
Boot Server bootp()
PROM Monitor Reference
PROM Monitor Reference 7
partition partition is a number specifying a disk partition (a
logical portion of a disk). The partition base cylinder
and size are determined by accessing the disk volume
header stored on the disk itself. If you do not specify
partition, the default value 0 is used.
path path specifies a file on the media that contains the
program to be booted. The syntax for the file referred to
by path is specific to the device.
port# port# indicates the serial I/O port number. This number
can be either 0 or 1.
target target is a number from 0 through 7 that indicates the
SCSI device. 7 is normally received as the system ID.
unit Multiple storage devices can be attached to a single
device controller. unit indicates the specific device on a
controller. If you do not specify a unit number, the
default value 0 is used.
General Utility Commands
Table 3 summarizes the general utility commands available during execution of
the PROM monitor.
Table 3: PROM Monitor General Utility Commands
Command Purpose Syntax
cat Displays the contents of the files listed
on the console.
cat file1 [file2... fileN]
cpu Enables and disables CPUs
(implemented on the RC6380 system
only).
cpu cpu_number on|off
disable Disables input from and output to the
specified console device.
disable [console_dev]
dump Formats and displays the contents of
memory.
dump [format] [length] range
enable Allows input from and output to the
specified console device.
enable [console_dev]
help Displays the syntax for all commands. help [commandlist]
init Reinitializes the PROM monitor
software state.
init
init_tod Initializes the time-of-day chip. init_tod [secs]
8 PROM Monitor Reference
Note: The file1 parameter for the cat command has the same syntax as the file-
name parameter of the boot command described in the previous section.
The init_tod command is supported only when the PROM monitor variable boot-
mode is set to d.
pr_tod Prints the contents of the time-of-day
register.
pr_tod
printenv Displays the value of the PROM
environment variables.
printenv [varlist]
setenv Creates a new PROM environment
variable or changes an existing
environment variable.
setenv [var] [value]
sload Puts the PROM monitor in a mode to
accept an srecord file.
sload [-a] [-b]
[console_dev]
sprobe Returns information for devices on the
SCSI bus. M120, RC3230, RC3330,
RC2030, RC3360 and 4000 systems
only.
sprobe
unsetenv Deletes an existing environment
variable.
unsetenv [var]
Table 3: PROM Monitor General Utility Commands
Command Purpose Syntax
PROM Monitor Reference
PROM Monitor Reference 9
Debugging Commands
Table 4 summarizes the debugging commands available during execution of the
PROM monitor. These commands are generic to all platforms.
Table 5 summarizes the debugging commands that are specific to the RC6380
system.
Table 4: PROM Monitor Debugging Commands
Command Purpose Syntax
fill Fills the specified range of memory with
the specified pattern.
fill [length] [–v val] range
gDisplays the contents of a single memory
location in decimal, hexadecimal, and
ASCII character formats.
g [length] address
go Transfers control to code that is has been
previously loaded.
go [-c cpu_number] [entry]
[cpu_number]
pPuts or sets the contents of a single
memory location to a specified value.
p [length] address value
spin Generates reference patterns for diagnostic
use.
spin [ [–c count] [–v value]
–(r|w)(b|h|w) address ]
Table 5: 6380 Multiprocessing PROM Monitor Debugging Commands
Command Purpose Syntax
dbcs Displays control space registers. dbcs slot_number
dbs Displays current status of boards and
how the PROM uses them.
dbs
dcr Displays current register contacts. dcr cpu_number
dcs Displays logical and physical
relationships between CPUs on
multiprocessor computer.
dcs
dnvr Displays contents of NVRAM. dnvr [0x|0X] begin_offset
[0x|0X] end_offset
dnvr [0x|0X] begin_offset l|L
length
dpr Displays register status contents at
the time of the last reset.
dpr cpu_number
10 PROM Monitor Reference
Keyboard Commands
Table 6 lists the commands that are invoked by a single key or a CTRL key combi-
nation. To generate a CTRL key combination, press the CTRL key at the same
time that you press an alphabetic character key.
envr Changes contents of NVRAM. envr [0x|0X]begin_offset
[0x|0X] end_offset
envr [0x|0X] begin_offset l|L
length
flush Writes contents of a CPU’s cache to
memory.
flush [cpu_number]
fprdump Displays contents of floating point
registers.
fprdump [cpu_number]
idprom Displays contents of ID PROM for
designated slot.
idprom slot_number
jilt Changes value of jilt bits for CPUs
and IOCs.
jilt 0x | OX jilt_value
master Selects master CPU. master [cpu_number]
scdump Displays contents of secondary cache
for selected address range.
scdump [range]
snoop Enables or disables snoop bit in
Control Miscellaneous register snoop on|off
tlb Translates virtual address to physical
memory address by using the
contents of the translation lookaside
buffer.
tlb [-p pid] address
vtag Attempts to derive the virtual tag for
a memory location.
vtag [-c cpu_number] address
Table 6: PROM Monitor Keyboard Commands
Key Sequence Description
CTRL–H or DEL Erases the previous character.
CTRL–U Erases the entire line.
CTRL–C Aborts the program that is currently running and returns control to
the PROM monitor.
Table 5: 6380 Multiprocessing PROM Monitor Debugging Commands
Command Purpose Syntax
PROM Monitor Reference
PROM Monitor Reference 11
Environment Variables
The PROM monitor maintains environment variables that are passed to booted
programs. These variables are similar to RISC/os shell environment variables.
The value of an environment variable is changed using the PROM monitor setenv
command.
CTRL–Z Causes the current program to execute a breakpoint instruction.
This command is used in conjunction with the standalone program
dbgmon (dbgmon is part of SPP, a separate package that is available
from MIPS.).
CTRL–D Causes the standalone program to exit normally.
BREAK (S) Cycles the baud rate for tty(0) and tty(1) among baud rates 110,
300, 1200, 2400, 4800, and 9600 by entering a BREAKs. The
altered baud rate is valid only until the next RESET or until a new
program is loaded. To change the baud rate permanently, change
either the lbaud or rbaud environment variable.
Table 6: PROM Monitor Keyboard Commands
Key Sequence Description
12 PROM Monitor Reference
Some of the environment variables affect the operation of the PROM monitor and
are in nonvolatile memory; when the machine is reset or powered-down, the
monitor retains the values of these variables. Table 7 defines and describes the
PROM environment variables.
Table 7: PROM Monitor Environment Variables
Variable Description
bootfile Specifies the default program that boots when the –f option to the boot
command is not specified. Default is dkip (0,0,8) sash for non-6000 systems
and dkij(0,0,8) sash for RC6260/6280/6380 systems. dkip specifies an SMD
drive while dkij specifies a SCSI drive attached to a ‘‘Jaguar’’ VME-SCSI
adapter.
bootmode Controls the PROM monitor action in response to system resets.
If bootmode is m, power-on diagnostics are run after a reset, and the PROM
monitor enters command mode.
If bootmode is c, the PROM monitor does a complete boot. A complete boot
loads the file specified by the environment variable bootfile and passes it the
argument –a. Typically, bootfile is the standalone shell (sash). The sash inter-
prets the –a option as a request to load the operating system as specified in the
volume header of the device from which sash was loaded. Use this mode if you
want the machine to boot automatically after a power-down, reset, or system
panic.
If one or more power-on diagnostic tests fail, bootmode changes to e indicating
diagnostic errors. Power-on diagnostics are skipped but memory is cleared for
bootmode e.
If the bootmode is w, then the PROM monitor attempts a warm boot on reset. A
warm boot transfers control to a memory image that was loaded before resetting
the system. The PROM monitor looks for a properly formatted restart block to
determine if the memory image is present. A cold boot is performed if one of
the following occurs: the restart block is incorrectly formatted, the PROM
monitor does not find a restart block, or a warm boot has already been attempted
with the restart block.
If bootmode is d, it preserves the contents of memory across resets. It also skips
running the system diagnostics and initialization of memory on power-up before
entering command mode. If the system is powered up with bootmode d, the
monitor command init should be issued before booting system programs.
Default is d.
PROM Monitor Reference
PROM Monitor Reference 13
bus_test Default is 1. Used by prom, sash, and kernel to determine if the ISA bus should
be probed for the existence of the standard MIPS color serial board. If this vari-
able is set to 0, PON diagnostics for color frame buffer and digi are skipped
(RC3x30 only).
NOTE: If bus_test is 0, the PROM ignores the existence of the color board.
Thus, this variable should not be set to 0 in a color system. A console setting
of l enables the mono monitor or tty1 as console instead of the color monitor.
console Default is l. Selects which devices are enabled as consoles on system power-
up and after system resets.
Value Description
r, ttty(0), tty(1)
l,c,g,vtty(0) for servers. For workstations, if keyboard and
graphics boards are present, select the graphic monitor as
console, otherwise select tty(0) (tty(1) for Rx3x30).
mFor Rx3x30 systesm, if a keyboard card is present, select
the monochrome moniotr as console, otherwise select
tty(1).
0tty(0)
1tty(1)
aEnables all console devices. Do not use this value on a
Rx3x30 system with a mouse attached to tty(0).
When set to the factory default l, only tty(0) is initially enabled as a console. If
console is r, both tty(0) and tty(1) are enabled as consoles. It is possible to
enable and disable consoles by command after a rest. Refer to the enable(1) or
disable(1) manual pages. Default is r.
cpuid Reserved for future use. Currently, this variable must be set to 0.
flag When nonzero, this variable suppresses the printing of the MIPS header for the
PROMs and standalone programs such as sash (RS2030 and RC2030 systems
only).
keyboard Determines the type of keyboard used: MIPS (default) for the UNIX-style
keyboard and AT for the AT-style keyboard (2030 and RC3x30). Default is
AT for 4000 systems.
keyswtch Determines whether the CONTROL key and the CAPS LOCK key should be
interpreted as interchanged on the AT-style keyboard (RC3x30 and 4000
systems only). keyswtch can have the value 0 for not interchanged or 1 for
interchanged.
Table 7: PROM Monitor Environment Variables
Variable Description
14 PROM Monitor Reference
language Determines the language and font assumed for the user interface. Default is
American (RC3x30 and 4000 systems only).
lbaud Specifies the baud rate for tty(0), which is uart A on the CPU board and
typically the local console. You can set the baud rate to: 75, 110, 134, 150,
300, 600, 1200, 1800, 2400, 4800, or 9600. For 4000 systems, baud rates of up
to 19200 are supported. If an illegal baud rate is specified, 9600 baud is used.
magic If this parameter is not equal to RISCPROM, the vendor and model parameters
will be set to their default values on the next reset (not on RC2030, RS2030,
M/120 or M/2000).
model Indicates the machine model (not on RC2030).
netaddr Specifies the internet address for the node. This is used by the bootfile service
software in the standalone I/O (saio) library and bfs command.
ponmask ponmask is a 32-bit word containing results of the power-on diagnostic tests.
A 0 in a bit position indicates the test passed, and a 1 indicates the test failed.
The meaning of each bit is machine specific.
rbaud Specifies the baud rate for tty(1), which is uart B on the CPU board and
typically the remote console. You can set it to: 75, 110, 134, 150, 300, 600,
1200, 1800, 2400, 4800, or 9600. For 4000 systems, baud rates of up to 19200
are supported. If you specify an illegal baud rate, 9600 baud is used.
resetepc Indicates the program counter the machine was executing when the machine
was reset.
resetra Indicates the contents of the return address register when the machine was
reset. Not on RC6260/6280/6380.
rootname Specifies the device on which the root partition of kernel resides. The default
is 0, which indicates that the default RISC/os root file system is used. For
RC6260/6280/6380 systems, 0 indicates that ijc0d0s0 is used. Otherwise, it
specifies the root partition (such as, ijc0d1s0 or sdc0d0s1).
Table 7: PROM Monitor Environment Variables
Variable Description
PROM Monitor Reference
PROM Monitor Reference 15
screensize NOTE: this variable is specific to 4000 systems.
screensize is a string of 11 numeric fields separated by non-digit characters that
controls the screen resolution and video timing that are programmed into the
video board.
The 11 fields are:
field units
screen width pixels
screen height pixels
vertical refresh rate Hz
parameter format code NA, must be 0
pixel rate MHz
horizontal front porch pixels
horizontal sync width pixels
horizontal back porch pixels
vertical front porch scan lines
vertical sync width scan lines
vertical back porch scan lines
You should not need to set the video timing fields; the PROM monitor has a
table of values for the following formats/monitors:
1024x768 60 Hz
1024x768 72 Hz
1280x1024 60 Hz
To select one of the table entries you only need to specify the first 3 fields.
Any fields that are omitted are assumed to be zero.
scsi_id Default is 7. Allows users to specify the CPU’s scsi_id on the SCSI bus; valid
values are 0 through 7. The sprobe command, along with disk and tape drivers,
also makes use of the scsi_id. On power-up, reset, or initialization of the
system, if there is a warning of duplicated scsi_id on the console, use the
sprobe command to verify the SCSI configuration (RC3x30 and 4000 systems
only).
Note: Make sure that none of the SCSI devices on the SCSI bus has the same
target ID as the CPU scsi_id.
Table 7: PROM Monitor Environment Variables
Variable Description
16 PROM Monitor Reference
Updating PROMs
You can update RISC/os or NT PROM software on the Magnum 4000 and Mille-
nium 4000 systems as new software becomes available on distribution diskettes.
You do not have to open the system’s cabinet and physically change the PROMs.
For information on how to install new PROM software using a diskette, refer to
the Release Notes that accompany the distribution media.
scsi_reset Default is 1. Specifies whether the SCSI bus should be reset on power-up or
reset of the system. When this variable is set to 0, no reset of the SCSI bus is
performed. This should be used only in configurations with more than one
RC3360, RC3350, RC3260, or 4000 systems on the SCSI bus and scsi_reset is
set to 1 on at least one of the systems.
Note: This variable should normally be set to 1. A value of 0 could result in a
hung system during shutdown.
special_6000 When bit zero is set, the I/O subsystem is not initialized by the PROM. The
default value is 0x0. RC6260/6280/6380 only.
use_
bootparams
Specifies if the boot parameters should be used in determining the root and
swap devices in a diskless operation (RC3360, RC3350, RC3260, RC3x30, and
4000 systems only).
vendor Default is MIPS. A string that forms part of the monitor invocation message
(not on M/120, RS2030, RC2030, or M/2000).
version Indicates the version of the installed PROMs; it is used by the kernel to
determine which PROMs are installed in the machine. This environment
variable cannot be changed.
ramprom Default is 1. If this variable is set to 1, the PROM monitor code is copied to the
highest 256K byte of memory and executed out of RAM. This results in a
higher execution speed during PROM monitor mode. For 4000 systems only.
Table 7: PROM Monitor Environment Variables
Variable Description

Navigation menu