monitor(1M)
NAME
monitor − system ROM monitor
SYNOPSIS
L1−A BREAK
DESCRIPTION
The CPU board of the workstation contains an EPROM (or set of EPROMs), called the monitor, that controls the system during startup. The monitor tests the system before attempting to boot the operating system. If you interrupt the boot procedure by holding down L1 while typing a or A on the workstation keyboard (or BREAK if the console is a dumb terminal), the monitor issues the prompt:
ok
and accepts commands interactively.
When security mode is on or when the value of the NVRAM parameter sunmon-compat? is TRUE, the default prompt will be ‘>’, and the message
Type b (boot), c (continue), or n (new command mode)
will be displayed prior to the monitor prompt ‘>’.
USAGE
Modes
The monitor supports three security modes (non-secure, command secure, and fully secure) and an authentication password. Access to monitor commands is controlled by these security modes. In non-secure mode all monitor commands are allowed. In command secure mode, only the b(boot) command with no arguments and the c(continue) command with no arguments may be entered without supplying the authentication password. In fully secure mode, only the c(continue) command with no arguments may be entered without supplying the authentication password. Note: The system will not auto-reboot in fully secure mode. The authentication password must be entered before booting will take place.
Commands for SPARC based Systems
Following are some of the useful commands that are available on all SPARC based systems. For a complete list of commands, please refer to the Open Boot PROM User’s Guide .
Stack Comments
A stack comment such as (n1 n2-- n3) or (adr len -- ) or ( -- ) listed after each command name shows the effect on the stack of executing that command items before the -- are used by the command and removed from the stack. These items must be present on the stack before the command may properly execute. Items after the -- are left on the stack after the command completes execution, and are available for use by subsequent commands. For example:
Stack inputStack output
/( n1 n2 -- n3 )Divide n1/n2, e.g. 8 2 / leaves "4" on the stack
dump( adr len -- )Display memory, e.g. 2000 40 dump
All stack items are 32-bit numbers. The name given for nay stack item indicates the proper interpretation or usage for that item.
a b c d etc.Arbitrary numbers, no assumptions made
x x1 x2 x3Extended-precision (64-bit) numbers (2 stack items)
n n1 n2 n3Normal signed values (32-bit)
+n uUnsigned, positive values (32-bit)
char7-bit value (smallest byte), high byte
unspecified
bytebxx8-bit value (smallest byte in a 32-bit
word)
words wxx16-bit value (smallest two bytes in a 32-bit word) long 32-bit value
flagxxx?0=false, any other value=true (usually -1)
adrMemory address (generally virtual address)
adr16Memory address, must be 16-bit aligned
adr32Memory address, must be 32-bit aligned
Memory - access, modify, or test memory locations
!( n adr -- )Stores a 32-bit number into the variable at adr
+!( n adr -- )Adds n to the 32-bit number stored in the variable at adr
2!( n1 n2 adr -- )Stores 2 numbers at adr; n2 at lower address
2@( adr -- n1 n2 )Fetches 2 numbers from adr; n2 from lower address
@( adr -- n )Fetches a number from the variable at adr
?( adr16 -- )Displays the 32-bit number at adr
C!( n adr -- )Stores low byte of n at adr
C@( adr - byte )Fetches a byte from adr
C?( adr -- )Displays the byte at adr
BLANK( adr len -- )Sets len bytes of memory to ASCII space at adr
CMOVE( adr1 adr2 cnt -- )Copies cnt bytes, starts with lo byte
CMOVE>( adr1 adr2 cnt -- )Copies cnt bytes, starts with hi byte
COMP( adr1 adr2 len -- n )Compares two byte arrays including case. n=0 if same, +/- 1 if different
DUMP( adr len -- )Displays len bytes of memory
ERASE( adr len -- )Sets len bytes memory to zero at adr
FILL( adr u byte -- )Sets u bytes of memory to byte
L!( l adr32 -- )Stores the 32-bit number at adr, must be 32-bit aligned
L@( adr32 -- )Fetches the 32-bit long word at adr, must be 32-bit aligned
L?( adr32 -- )Displays the 32-bit number at adr
MOVE( adr1 adr2 u -- )Copies u bytes from adr1 to adr2, handles overlap correctly
OFF( adr16 -- )Stores false (32-bit 0) at adr
ON( adr16 -- )Stores true (32-bit -1) at adr
UNALIGNED-L!( long adr -- )Stores 32-bit number at adr
UNALIGNED-W!( word adr -- )Stores 16-bit number at adr
UNALIGNED-L@( adr -- long )Fetches 32-bit number from adr
UNALIGNED-W@( adr -- word)Fetches 16-bit number from adr
LFLIPS( adr len -- )Exchanges 16-bit words within 32-bit long words in the specified region
WFLIPS( adr len -- )Exchanges bytes within 16-bit words in the specified region
W!( w adr16 -- )Stores a 16-bit word at adr, must be 16-bit aligned
W@( adr16 -- w )Fetches the unsigned 16-bit word at adr, must be 16-bit aligned
W?( adr16 -- )Displays the 16-bit number at adr
<W@( adr16 -- n )Fetches the signed 16-bit word at adr, must be 16-bit aligned
Assembly-language programming
CODE name( -- )Begins the creation of an assembly language routine called name. Commands which follow are now interpreted as assembler mnemonics.
C;( -- )Ends the creation of an assembly language routine. Automatically assembles the Forth interpreter "next" function so that the created assembly-code word, when executed, returns control to the calling routine as usual.
LABEL name( -- )Begins the creation of an assembly language routine called name. Words created with LABEL leave the address of the code on the stack when executed. The command which follow are now interpreted as assembler mnemonics. As with code, LABEL is present even if the assembler is not installed.
END-CODE( -- )Ends the assembly-language patch started with LABEL
Defining words- Create new words in the dictionary
: (colon)( -- )Begins colon definition
; (semicolon)( -- )Ends colon definition
CONSTANT name( n -- )Creates a constant
VARIABLE name( -- )Creates a data variable
VALUE name( n -- )Creates named value-type variable (change with IS)
Dictionary search- Search dictionary for desired definitions
‘ name( -- acf )Finds the word (while interpreting)
[‘] name( -- acf )Finds word (while compiling)
which call the word whose compilation address is acf
$FIND( adr len -- adr len false | acf n )
Finds a word. n=1 if immediate, n=-1 otherwise
FIND( pstr -- {acf n} | {pstr 0} )
Finds the word. n=0 if not found, n=1 if immediate, n=-1 otherwise
SEE see( -- )Decompiles (or assembles) word
(SEE)( acf -- )Decompiles (or assembles) word
SIFT( pstr -- )Displays names of all dictionary entries containing string pointed to by pstr
SIFTING ccc( -- )Displays names of all dictionary entries containing that sequence of characters. ccc contains no spaces.
WORDS( -- )Displays names of all words
Memory buffer allocation
ALLOC-MEM( n-bytes -- adr )Allocates n bytes of memory and returns its address
FREE-MEM( adr n-bytes -- )Frees memory allocated by ALLOC-MEM
Time Utilities
GET-MSECS( -- ms )Returns the approximate current time, in milliseconds
MS( n -- )Delays for n milliseconds. Resolution is 1 millisecond
Data Exception Tests
CPEEK( adr -- false | byte true )
Reads the 8-bit value at adr, returns false if unsuccessful
WPEEK( adr -- false | word true )
Reads the 16-bit value at adr, returns false if unsuccessful
LPEEK( adr -- false | long true )
Reads the 32-bit value at adr, returns false if unsuccessful
CPOKE( byte adr -- ok?)Writes the 8-bit value at adr, returns false if unsuccessful
WPOKE( words adr -- ok? )Writes the 16-bit value at adr, returns false if unsuccessful
LPOKE( long adr -- ok? )Writes the 32-bit value at adr, returns false if unsuccessful
Miscellaneous operations
CACHEABLE( space -- cache-space )
Modifies the address space so that the subsequent address mapping is made cacheable
FIRMWARE-VERSION ( -- n )Returns major/minor CPU firmware version, that is, 0x00020001 = firmware version 2.1
PGMAP?( virt -- )Displays the page map entry (decoded and in English) corresponding to the virtual address virt
RESET( -- )Resets the entire systems (similar to doing a power cycle)
NOOP( -- )Does nothing
SBus access- SBus handling support
BYTE-LOAD( adr len -- )Interprets downloaded FCode binary file
CPU-INTR>SBUS ( n1 -- n2 )Converts CPU interrupt level to an SBus interrupt level
MAP-SBUS( phys size -- virt )Maps a region of memory in ’sbus’ address space
PROBE-SLOT( slot# -- )Probes the SBus slot whose number is taken from the stack
SBUS-INTR>CPU( sbus-intr# -- cpu-intr# ) Translates SBus interrupt# into CPU interrupt#
Diagnostic Test Commands- Testing hardware
PROBE-SCSI( -- )Identifies attached SCSI devices
TEST-ALL( -- )Tests all devices that have a built-in self-test method
TEST FLOPPY( -- )Tests the floppy drive, if installed
TEST /MEMORY( -- ) Tests main memory (number of megabytes indicated in NVRAM configuration parameter self-test-#megs)
MEMORY-TEST-SUITE ( adr len -- status ) Calls memory tester for the given region
TEST NET( -- )Tests the network connection
WATCH-NET( -- )Monitors the network connection (not on all systems)
WATCH-CLOCK( -- )Tests the clock function
System Information- Display system information
BANNER( -- )Displays power-on banner
Emergency Commands - Typed from keyboard
L1-A( -- )Stops current operation and redirects input to come from keyboard
L1-F( -- )Presses and hold during power-up to redirect input and output to ttya, skip SBus probing and most self-test
L1-D( -- )Presses and hold during power-up to set the input NVRAM parameter diag-switch? to true (system in diagnostic mode)
L1-N( -- )Presses and hold during power-up to reset all NVRAM parameters to default settings
Disk Drives - diskette and hard disk control
EJECT-FLOPPY( -- )Ejects the diskette from the floppy drive
SYNC( -- )Calld SunOS to write any pending information to the hard disk. Also boots after syncing file systems
I/O Control- Select I/O devices
INPUT( source -- )Selects source for subsequent input (ttya,ttyb,or keyboard)
OUTPUT( source - -)Selects source for subsequent output ( ttya, ttyb, or screen )
IO( source -- )Selects source for subsequent input and output
L1-A( -- )Redirects input to come from keyboard
Line Editor Commands( ∗ also work with nvedit keystroke editor )
Control-BBackward one character ∗
Esc-BBackward one word
Control-FForward one character ∗
Esc-FForward one word
Control-AStart of line
Control-EEnd of line
Control-HErases previous character (also Delete or Back Space)
Esc-HErases previous portion of word (also Control W)
Control-DErases this character
Esc-DErases this portion of word, from here to end of word
Control-KErases forward, from here to end of line
Control-LShows command history list
Control-NRecalls subsequent command line
Control-UErases entire line
Control-RRetypes line
Control-QQuote next character (to type a control-character)
Control-PRecalls previous command line (also Control-N)
Control-YInserts save buffer content before the cursor
nvramrc Editor Commands
NVEDITEnters the nvramrc editor. If data remains in the temporary buffer from a previous nvedit session, NVEDIT resumes editing those previous contents. If not, NVEDIT reads the content of nvramrc into the temporary buffer and begins editing it.
NVSTORECopies the contents of the temporary buffer to nvramrc and discards the contents of the temporary buffer
NVQUITStops editing nvramrc and discards the changes
NVRECOVERAttempts to recover the contents of the nvramrc if they have been lost as a result of the execution of set-defaults, then enters the nvramrc editor as with NVEDIT. NVRECOVER fails if NVEDIT is execute between the time that the nvramrc contents were lost and the time that NVRECOVER is executed.
NVRUNExecutes the contents of the temporary buffer
Debugging- symbolic debugging support
DEBUG name( -- )Marks the named Forth word for debugging. Subsequent attempts to execute that word enter the Forth source-level debugger. Debugging basic Forth words like "." is not recommended. After executing debug, the execution speed of the system may decrease, until debugging is turned off with debug off
(DEBUG( acf -- )Marks for debugging the word whose compilation address is acf
STEPPING( -- )Sets "step mode" for the Forth source-level debugger, allowing the interactive step-by-step execution of the word being debugged. Step mode is the default
TRACING( -- )Sets "trace mode" for the Forth source-level debugger, the execution of the word being debugged will be traced, showing the name and stack contents for each word called by that word
DEBUG-OFF( -- )Turns off the Forth source-level debugger
RESUME( -- )Exits from a "subordinate interpreter" back to the stepper ( see the F key-stroke)
SPACE( -- )Executes the word just displayed and proceeds to the next word
D( -- )Marks for debugging the word whose name was just displayed and then execute it
U( -- )Unmarks the word being debugged, marks its caller for debugging, and finish executing the word that was previously being debugged
C( -- )Switches from stepping to tracing, thus tracing the remainder of the execution of the word being debugged
F( -- )Starts a subordinate Forth interpreter. When that interpreter exits (with RESUME), control returns to the debugger at the place where the F command was executed
Q( -- )Aborts the execution of the word being debugged and all its callers, returns to the Monitor
Breakpoints Commands
.bp( -- )Displays all current set breakpoints
+bp( adr -- )Adds a breakpoint at the given address
-bp( adr -- )Removes the breakpoint at the given address
--bp( -- )Removes the most recently set breakpoint
bpoff( -- )Removes all breakpoints
.breakpoint( -- )Performs a specified action(s) when a breakpoint occurs
step( -- )Single step one instruction
steps( n -- )Executes n steps
hop( -- )Like step, but treats a subroutine call as a single instruction
hops( n -- )Executes n hops
skips( -- )Skips (do not execute) the current instruction
.step( -- )Performs a specified action(s) when a single step occurs
till( adr -- )Executes until the given address is encountered, equivalent to +bp go
return( -- )Executes until the end of this subroutine
returnL( -- )Executes until the end of this leaf subroutine
finish-loop( -- )Executes until the end of this loop
go( -- )Continues from a breakpoint
gos( n -- )Executes go n times
.instruction( -- )Displays the address, opcode for the last encountered breakpoint
Symbolic Debugging Commands
.ADR( adr -- )Displays the symbolic name (plus offset) for the given address
LOADSYMS( adr1 len adr2 -- )Loads a symbol table for use by the disassembler adr1 len is the virtual address and length in bytes of an xdr-encoded array of symbol entries
Disassembler Commands
DIS( adr -- )Displays the symbolic name (plus offset) for the given address
+DIS( -- )Continues disassembling where the last disassembly left off
SPARC Registers Commands
%g0 through %g7( -- value )Returns the value in the given register
%o0 through %o7( -- value )Returns the value in the given register
%L0 through %L7( -- value )Returns the value in the given register
%I0 through %I7( -- value )Returns the value in the given register
%pc %npc %psr( -- value )Returns the value in the given register
%y %wim %tbr( -- value )Returns the value in the given register
%f0 through %f31( -- value )Returns the value in the given floating point register
%fsr( -- value )Returns the value in Floating Point Status Register
TO regname( value -- )Changes the value stored in any of the above registers. Use in the form: value TO regname
SET-PC( value -- )Sets %pc to the given value, and %npc to (value+4)
W( window# -- )Sets the current window, for displaying %ix %lx or %ox
CTRACE( -- )Displays the return stack showing C subroutines
.LOCALS( -- )Displays the values in the I, L and O registers
.PSR( -- )Formatted display of the %psr data
.REGISTERS( -- )Displays values in %g0 through %g7, plus %pc, %npc, %psr, %y, %wim, %tbr
.FREGISTERS( -- )Displays values in %f0 through %f31
.WINDOW( window# -- )Same as w locals, displays the desired window
Monitor - Revert to Restricted Monitor ( > prompt )
OLD-MODE( -- )Goes to Restricted Monitor, supports only bxx(boot xx) and c (go)
Help - On line help for common commands
HELP( -- )Shows main help commands
HELP category( -- )Shows help for these commands
HELP name( -- )Shows help for single command
Commands for Non-SPARC based Systems
The following commands are available on non SPARC based systems:
+|− 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 device arguments, where device is 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. /kernel/unix is the default.
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, and
• 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 its 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 When the monitor is running as a result of the system being interrupted, force a panic and produce a crash dump.
g4
When the monitor is running as a result of the system being interrupted, force a kernel stack trace.
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. If 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 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
FILES
/kernel/unix
SEE ALSO
Open Boot PROM User’s Guide
SunOS 5.1/SPARC — Last change: 12 Jun 1992