unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (SunOS-4.1.3)
Page:
Section:
Apropos / Subsearch:
optional field

MONITOR(8S)                                                        MONITOR(8S)



NAME
       monitor - system ROM monitor

SYNOPSIS
       L1-A
       BREAK

DESCRIPTION
       The  CPU  board  of  the  Sun  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:

              >>

       and accepts commands interactively.

       On a Desktop SPARCsystem or a SPARCsystem 600MP, 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 sys-
       tem will not auto-reboot in  fully  secure  mode.   The  authentication
       password must be entered before booting will take place.

   Commands
       Note:  the  following  commands are available on all Sun systems except
       Desktop SPARCsystems and SPARCsystem 600MP series; only the b, c, and n
       commands listed below are available on those 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 pro-
                   gram.

       ^T virtual_address
                   (caret-T)  Display  the  physical  address  to  which  vir-
                   tual_address is mapped.

       a [n] [action]...     (Sun-3 systems only)
                   Open A-register (cpu address register) n, and perform indi-
                   cated actions.  The number n can be any value from 0 to  7,
                   inclusive.   The  default value is 0.  A hexadecimal action
                   argument assigns the value you supply to the register n.  A
                   non-hex action terminates command input.

       b  [  device [ (c,u,p) ] ] [ pathname ] [ arguments_list ]   (SPARCsta-
                   tion 1 systems only)
                   See openboot(8S) for details.
       b [ device-specifier ] [ pathname ] [ arguments-list ]    (SPARCstation
                   2 systems, SPARCsystem 600MP series only)
                   See openboot(8s) for details.

       b [ !  ] [ device [ (c,u,p) ] ] [ pathname ] [ arguments_list ]

       b[?]        Reset  appropriate parts of the system and bootstrap a pro-
                   gram.  Note: the `b!'  and `b?'  commands are not available
                   on  Desktop  SPARCsystems and SPARCsystem 600MP series, see
                   openboot(8S).  A `!'  (preceding the device argument)  pre-
                   vents  the  system  reset  from occurring.  Programs can be
                   loaded from various devices (such as a disk, tape, or  Eth-
                   ernet).   `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 (Sun-3, Sun-4 systems only)
                          sd  SCSI disk, CDROM
                          st  SCSI 1/4" or 1/2" tape
                          fd  Diskette  (Sun386i,  Sun-3/80  systems,  Desktop
                              SPARCsystems only)
                          id  IPI   disk  (Sun-4  systems,  SPARCsystem  600MP
                              series only)
                          mt  Tape Master 9-track 1/2" tape (Sun-3, Sun-4 sys-
                              tems only)
                          xd  Xylogics 7053 disk (Sun-3, Sun-4 systems only)
                          xt  Xylogics 1/2" tape (Sun-3, Sun-4 systems only)
                          xy  Xylogics  440/450  disk  (Sun-3,  Sun-4  systems
                              only)

                   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.  /vmu-
                          nix is the default.

                   arguments_list
                          A  list of up to seven arguments to pass to the pro-
                          gram being booted.

       c                       (Desktop SPARCsystems, SPARCsystem 600MP series
       only);
       c [virtual_address] (Sun-3, Sun-4 and Sun386i systems only)
                   Resume  execution  of  a program.  Desktop SPARCsystems and
                   SPARCsystem 600MP series do not accept a  virtual  address;
                   the  current  PC  is  assumed.   See  the Open PROM Toolkit
                   User's Guide or Open PROM  2.0  Toolkit  User's  Guide  for
                   details   on   changing   this  value.   When  given,  vir-
                   tual_address is the address at which execution will resume.
                   The  default  is  the  current PC (EIP on Sun386i systems).
                   Registers are restored to the values shown by the a, d, and
                   r  commands (for Sun-3 systems), or by the d and r commands
                   (for Sun-4 systems), or by the d command (for Sun386i  sys-
                   tems).

       d [window_number]     (Sun-4 systems only)
                   Display  (dump)  the state of the processor.  The processor
                   state is observable only after:

                          o  An unexpected trap was encountered.
                          o  A user program dropped into the monitor (by call-
                             ing abortent).
                          o  The  user  manually entered the monitor by typing
                             L1-A or BREAK.

                   The display consists of the following:

                          o   The special registers: PSR, PC, nPC,  TBR,  WIM,
                              and Y
                          o   Eight global registers, and
                          o   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 regis-
                              ters 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.

       d    (Sun386i systems only)
                   Display  (dump)  the  state of the processor.  This display
                   consists of the registers, listed below:

                          Processor Registers:        EAX, ECX, EDX, ESI, EDI,
                                                      ESP, EBP, EFLAGS, EIP
                          Segment Registers:          ES, CS, SS, DS, FS, GS
                          Memory Management Registers:
                                                      GDTR, LDTR, IDTR, TR
                          Control Registers:          CR0, CR2, CR3
                          Debug Registers:            DR0,  DR1  ,  DR2 , DR3,
                                                      DR6, DR7
                          Test Registers:             TR6, TR7

                   The processor's state is observable  only  after  an  unex-
                   pected  trap, a user program has "dropped" into the monitor
                   (by calling monitor function abortent) or the user has man-
                   ually  "broken  "  into  the monitor (by typing L1-A on the
                   Workstation console, or BREAK on the dumb  terminal's  key-
                   board.

       d [n][action]... (Sun-3 systems only)
                   Open  D-register  (cpu  data register) n, and perform indi-
                   cated actions.  The number n can be any value from 0 to  7,
                   inclusive.   The  default  is  0.   See the a command for a
                   description of action.

       e [virtual_address][action] ...
                   Open the 16-bit word at virtual_address (default zero).  On
                   Sun-3, and Sun-4 systems, 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]    (Sun-3 and Sun-4
                   systems only)
                   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  pro-
                   gram  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   (Sun-3, and Sun-4 only)
                   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    (Sun-3 and Sun-4 and Sun386i systems)
                   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]...       (Sun-3/200  series  and  Sun-4
       systems only)
                   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]...     (Sun-3/200 series and Sun-4 sys-
                   tems only)
                   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   CPU reset only (Sun-3 systems).   Reset  VMEbus,
                              interrupt  registers,  video monitor (Sun-4 sys-
                              tems).   This  is  the  default.   Reset   video
                              (Sun386i systems).
                          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  vir-
                   tual_address  (default  zero).  On Sun-3 and Sun-4 systems,
                   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).  On Sun-3 and Sun-4 systems, the address is
                   interpreted in the address space defined by the s  command.
                   Not supported on Sun386i.  See the a command for a descrip-
                   tion of action.

       n    (Desktop SPARCsystems, SPARCsystem 600MP series only)
                   Enter the new command mode. Type `old-mode'  to  return  to
                   the  old  command  mode.   See the Open PROM Toolkit User's
                   Guide for a complete list of commands available on a SPARC-
                   station  1  systems;  See  the  Open  Boot PROM 2.0 Toolkit
                   User's Guide for a complete list of commands  available  on
                   SPARCstation 2 and SPARCsystem 600MP series.

       nd   (Sun386i systems only)
       ne
       ni          Disable, enable, or invalidate the cache, respectively.

       o [virtual_address][action]...
                   Open   the  byte  location  specified   by  virtual_address
                   (default zero).  On Sun-3 and Sun-4 systems, 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.

       p    [port_address]    [[nonhex_char    [hex_value]    |     hex_value]
       ...]     (Sun386i systems only)
                   Display  or  modify  the  contents  of one or more port I/O
                   addresses in byte mode.  Each port address is treated as an
                   8-bit unit.  The optional port_address argument, which is a
                   16-bit quantity, specifies the initial  port  I/O  address.
                   See the e command for argument descriptions.

       q [eeprom_offset][action]...    (Sun-3 and Sun-4 systems only)
                   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.  On Sun386i
                   systems, open the NVRAM nvram_offset (default zero).   This
                   command  is used to display or modify configuration parame-
                   ters, 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 [reg_name] [[nonhex_char [hex_value] | hex_value] ...]  (Sun386i sys-
       tems only)
                   Display or modify one or more of the  processor  registers.
                   If  reg_name is specified (2 or 3 characters from the above
                   list), that register is displayed first.   The  default  is
                   EAX.  See note on register availability under the command d
                   (for Sun386i systems).  See  the  e  command  for  argument
                   descriptions.

       s [step_count]      (Sun386i systems only)
                   Single  step the execution of the interrupted program.  The
                   step_count argument specifies the number of single steps to
                   execute  before displaying the monitor prompt.  The default
                   is 1.

       r [register_number][action]...  (Sun-3 systems only)
                   Display  and/or  modify  the  register  indicated.   regis-
                   ter_number can be one of:

                          CA  68020 Cache Address Register
                          CC  68020 Cache Control Register
                          CX  68020 System and User Context
                          DF  Destination Function code
                          IS  68020 Interrupt Stack Pointer
                          MS  68020 Master Stack Pointer
                          PC  Program Counter
                          SC  68010 System Context
                          SF  Source Function code
                          SR  Status Register
                          SS  68010 Supervisor Stack Pointer
                          UC  68010 User Context
                          US  User Stack Pointer
                          VB  Vector Base

                   Alterations  to  these  registers (except SC and UC) do not
                   take effect until the next c command is executed.  See  the
                   a command for a description of action.

       r [register_number]   (Sun-4 systems only)
       r [register_type]
       r [w window_number]
                   Display  and/or  modify one or more of the IU or FPU regis-
                   ters.

                   A hexadecimal register_number can be one of:

                          0x00--0x0f  window(0,i0)--window(0,i7),         win-
                                      dow(0,i0)--window(0,i7)
                          0x16--0x1f  window(1,i0)--window(1,i7),         win-
                                      dow(1,i0)--window(1,i7)
                          0x20--0x2f  window(2,i0)--window(2,i7),         win-
                                      dow(2,i0)--window(2,i7)
                          0x30--0x3f  window(3,i0)--window(3,i7),         win-
                                      dow(3,i0)--window(3,i7)
                          0x40--0x4f  window(4,i0)--window(4,i7),         win-
                                      dow(4,i0)--window(4,i7)
                          0x50--0x5f  window(5,i0)--window(5,i7),         win-
                                      dow(5,i0)--window(5,i7)
                          0x60--0x6f  window(6,i0)--window(6,i7),         win-
                                      dow(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 mon-
                          itor  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 win-
                   dow_number is omitted, the  window  that  was  active  just
                   prior  to  entering the monitor is used.  If the PSR's cur-
                   rent window pointer is invalid, window 0 is used.

       s [code]    (Sun-3 systems only)
                   Set or query the address space to  be  used  by  subsequent
                   memory access commands.  code is one of:

                          0   undefined
                          1   user data space
                          2   user program space
                          3   user control space
                          4   undefined
                          5   supervisor data space
                          6   supervisor program space
                          7   supervisor control space

                   If code is omitted, s displays the current address space.

       s [asi]     (Sun-4 systems only)
                   Set or display the Address Space Identifier.  With no argu-
                   ment, 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

       t [program] (Sun-3 systems only)
                   Trace  the  indicated  standalone program.  Works only with
                   programs that do not affect interrupt vectors.

       u [ echo ]
       u [ port ] [ options ] [ baud_rate ]
       u [ u ] [ virtual_address ]
                   With no arguments, display the current I/O  device  charac-
                   teristics  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 cur-
                                      rent I/O device.  port can be one of:

                                             a   serial port A
                                             b   serial   port  B  (except  on
                                                 Sun386i systems)
                                             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 sup-
                                      plied with no options,  it  is  assigned
                                      for output only.

       v  virtual_address1 virtual_address2 [size]    (Sun-3 and Sun-4 systems
                   only)
                   Display  the  contents  of  virtual_address1  (lower)  vir-
                   tual_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]   (Sun-3 and Sun-4 systems only)
                   Set the execution vector to a predetermined or default rou-
                   tine.  Pass virtual_address and argument to that routine.

                   To set up a predetermined routine to jump to, a  user  pro-
                   gram  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    (Sun-3 and Sun-4 systems only)
                   Display a menu of extended tests.  These diagnostics permit
                   additional  testing  of such things as the I/O port connec-
                   tors, video memory, workstation memory  and  keyboard,  and
                   boot device paths.

       yc context_number   (Sun-4 systems only)
       yp|s context_number virtual_address
                   Flush  the indicated context, context page, or context seg-
                   ment.
                          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

       z [number] [breakpoint_virtual_address [type] [len]]   (Sun386i systems
       only)
                   Set or reset breakpoints for debugging.  With no arguments,
                   this command displays the existing breakpoints.  The number
                   argument is a values from 0 to 3, corresponding to the pro-
                   cessor debug registers, DR0 to DR3, respectively.  Up to  4
                   distinct  breakpoints  can  be specified.  If number is not
                   specified then the monitor  chooses  a  breakpoint  number.
                   The   breakpoint_virtual_address   argument  specifies  the
                   breakpoint address.  The type argument can be one of:

                          x   Instruction Execution breakpoint (the default)
                          m   for Data Write only breakpoint
                          r   Data Reads and Writes only breakpoint.

                   The len argument can be one of: `b', `w',  or  `l',  corre-
                   sponding  to  the breakpoint field length of byte, word, or
                   long-word, respectively.  The default is  `b'.   Since  the
                   breakpoints  are  set in the on-chip registers, an instruc-
                   tion breakpoint can be placed in ROM code or in code shared
                   by  several tasks.  If the number argument is specified but
                   not breakpoint_virtual_address,  the  corresponding  break-
                   point is reset.

       z [virtual_address]   (Sun-3 systems only)
                   Set  a  breakpoint  at virtual_address in the address space
                   selected by the s command.

FILES
       /vmunix
SEE ALSO
       boot(8S), eeprom(8S), openboot(8S)
       Open PROM Toolkit User's Guide
       Open PROM 2.0 Toolkit User's Guide



                                 23 April 1991                     MONITOR(8S)