Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ prom(1prom) — mips UMIPS RISC/os 4.52

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

sash(1Mspp)

intro(1spp)

dbgmon(1spp)



     PROM(1prom)         UMIPS-V Reference Manual          PROM(1prom)



     NAME
          prom - general features of the prom monitor

     DESCRIPTION
          This man page describes the PROM Monitor.  The PROM Monitor
          provides the tools for examining and changing PROM memory,
          downloading programs over serial lines (RS-232C), and
          booting programs from disk, tape or Ethernet.  The PROM
          Monitor also provides tools for altering configuration
          power-up options in non-volatile RAM

          The PROM Monitor resides in PROM on the CPU board and is
          entered when the system is reset or the system is powered
          up. The PROM Monitor initializes the processor, the memory
          boards, and the CPU board.

          The processor is initialized by initializing the system
          coprocessor Status and Cause registers, and flushing the
          translation buffer.

          The memory cards are initialized by probing to determine how
          many cards exist, determining the best memory interleave
          configuration, configuring the boards for refresh slot
          assignment and assigning base addresses.

          The CPU board is initialized by sizing and flushing the
          instruction and data caches, by inspecting the contents of
          non-volatile memory and reinitializing it if necessary, and
          by initializing environment variables from non-volatile
          memory.

     MEMORY USAGE
          The PROM Monitor uses system memory between physical address
          0x500 and 0x10000.  The include file "prom/entrypt.h"
          describes conventions for memory use by standalone programs.

     FILE NAME SYNTAX
          When the PROM Monitor requires a filename, the components
          should be listed for the different devices in the order
          shown below.

               disk devices:            device(controller, unit,
          partition)path

               SCSI tape:               scsi_tape_device(controller,
          unit, file)path

               ethernet devices:        boot_protocol(controller,
          ethernet)path


          controller     Since a system can have more that one device



     Page 1                                          (printed 3/13/90)





     PROM(1prom)         UMIPS-V Reference Manual          PROM(1prom)



                         controller of a particular type installed,
                         the controller field indicates the specific
                         controller.  The system defines control
                         register addresses for multiple controllers
                         for the system.  If you do not specify a
                         controller number, the default value of 0 is
                         used.

          device         The device field associates the file name
                         with a particular type of hardware.

          ethernet       ethernet is the name of a UDDP/IP device.
                         (cmc or egl are the only devices correctly
                         supported.)

          file           File is the file number on the SCSI tape.

          partition      Disk devices are frequently broken down into
                         logical sub-units, called partitions.  The
                         partition field selects a disk partition
                         within a unit.  The partition's base cylinder
                         and size is determined by accessing the disk
                         volume header stored on the disk itself.  If
                         you do not specify the partition field, the
                         default value of 0 is used.  For tape drives
                         the partition number specifies the file
                         number on the tape.  Numbering starts at
                         zero; zero is the first file on the tape; 1
                         specifies the second file on the tape, and so
                         on.

          path           The path indicates a particular file on the
                         media specified by the device, controller,
                         unit, and partition fields.  The file
                         referred to by path is located by consulting
                         a directory located on the device itself.
                         The PROM Monitor does not include code that
                         locates files.  However, the sash does have
                         code to locate files from disk volume
                         headers, tape directories, and disk
                         directories.  If you want to use this option,
                         then boot sash first using the boot command.
                         If you do not specify a path, then the file
                         name is assumed to refer to the raw device.

          unit           Because you can attach multiple storage
                         devices to a single device controller, the
                         unit number indicates the specific device.
                         If you do not specify a unit num ber, then
                         the default value of 0 is used.  If you are
                         using the tqij device, then the default value
                         is 6.



     Page 2                                          (printed 3/13/90)





     PROM(1prom)         UMIPS-V Reference Manual          PROM(1prom)



     ENVIRONMENT VARIABLES
          The PROM Monitor maintains "environment variables" that are
          passed to booted programs.  These variables function like
          UNIX system shell environment variables. Some of the
          environment variables affect the operation of the PROM
          Monitor and are maintained in non-volatile memory.  This
          means that when you reset the machine or power it down, the
          Monitor still maintains these variables.

          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, 9600, or 19200.  If you specify
                         an illegal baud rate, 9600 baud is used.

          rbaud          Specifies the baud rate for tty(1), which is
                         uart B on the CPU board and typically the
                         remote console. You can set the baud rate to:
                         75, 110, 134, 150, 300, 600, 1200, 1800,
                         2400, 4800, 9600, or 19200.  If you specify
                         an illegal baud rate, 9600 baud is used.

          netaddr        Specifies the internet address for the node.
                         This is used by the bootfile service software
                         in the standalone I/O (saio) library.

          console        This variable selects which console devices
                         are to be considered consoles on power-up and
                         after resets. You can enable and disable
                         consoles by command after reset, see
                         enable(1).  When set to 'l' (the letter L),
                         only tty(0) is initially enabled as a
                         console, if console is 'r', then both tty(0)
                         and tty(1) are enabled as consoles.

          RS2030 console variables
                         The console variables and the devices that
                         they enable are given below:


                         '0'            enables tty(0)

                         '1'            enables tty(1)

                         'g'            enables graf(0)

                         't'            enables tty(0) and tty(1)

                         'a'            enables everything possible

                         'l'            if a graphics board is in the



     Page 3                                          (printed 3/13/90)





     PROM(1prom)         UMIPS-V Reference Manual          PROM(1prom)



                                        system, then 'l' enables
                                        graf(0); otherwise it will
                                        enable tty(0), the logical
                                        console.

                         'r'            if a graphics board is in the
                                        system, 'r' enables graf(0)
                                        and tty(0).

          bootfile       Specifies the default program that boots when
                         you don't specify the -f option to the boot
                         command.

          bootmode       Controls the PROM Monitor's action in
                         response to system resets.  The bootmodes are
                         given below(?).


               Bootmode       Description

                    m         the PROM monitor enters command mode
                              after reset.

                    c         the PROM monitor does a cold boot.  A
                              cold boot loads the file specified by
                              the environment variable "bootfile" and
                              passes it the argument "-a".  Typically,
                              the bootfile is the standalone shell
                              (sash).  The standalone shell interprets
                              the "-a" flag as a request to load the
                              operating system as specified in the
                              volume header of the device from which
                              sash itself loaded.

                    w         attempts a warm boot on reset.  A warm
                              boot transfers control to an memory
                              image loaded before you reset the
                              system.  The PROM Monitor determines if
                              such an image is present by looking for
                              a properly formatted "restart block",
                              see restart(5spp).  If a restart block
                              is not found, a restart block is
                              incorrectly formatted, or a warm boot
                              has already been attempted with the
                              restart block, then a cold boot is
                              performed.

                    d         the PROM Monitor operates like command
                              mode ('m') except that the Monitor
                              attempts to preserve the contents of
                              memory across resets.




     Page 4                                          (printed 3/13/90)





     PROM(1prom)         UMIPS-V Reference Manual          PROM(1prom)



          cpuid          Reserved for future use.  Currently this
                         variable must be set to zero.

          resetepc       This variable indicates the program counter
                         the machine was executing when the machine
                         was reset.

          resetra        This variable indicates the contents of the
                         Return Address register when the machine was
                         reset.

          memparity      Setting this variable to one (1) enables
                         parity, and setting this variable to zero (0)
                         disables parity.  This variable should be
                         used in conjunction with the kernel argument
                         "mem_parity" to enable and disable parity
                         when running UNIX. (Not supported on M/2030).

          version        This variable indicates the version of the
                         installed PROMs, and it is used by the kernel
                         to determine which PROMs are installed in the
                         machine.  This environment variable cannot be
                         changed.

          flag           When non-zero, this variable suppresses the
                         printing of the MIPS header for the PROMs and
                         standalone programs (such as sash).

     INPUT EDITING
          The following basic editing commands are available for the
          PROM Monitor.

          control-H or DEL
                         Erases the previous character.

          Control-U      Erases the entire line.

          Control-C      Aborts the program that is currently running
                         and returns control to the PROM Monitor.

          Control-Z      Causes the current program to execute a
                         breakpoint instruction.  This command is used
                         in conjunction with the standalone program
                         dbgmon.

          Control-D      Causes the standalone program to exit
                         normally.

     USING BREAKS TO CHANGE BAUD RATE
          You can also cycle the baud rate for tty(0) and tty(1) among
          the baud rates, 110, 300, 1200, 2400, 4800, 9600, and 19200
          baud by entering a BREAK.  Baud rates changes made by



     Page 5                                          (printed 3/13/90)





     PROM(1prom)         UMIPS-V Reference Manual          PROM(1prom)



          BREAK's are temporary 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.

     EXTENDING THE PROM MONITOR
          If you give the PROM Monitor a command that is not built-in,
          then the Monitor uses the first word of the command as the
          name of a file and tries to boot that file passing any other
          arguments on the command line onto the booted program.  If
          the environment variable $path is undefined, then the first
          word of the command must be a complete file name
          specification consisting of a device name, controller, unit,
          partition fields as necessary, and a file path.  If the
          environment variable $path is defined, the PROM Monitor
          tries to boot the program file formed by prepending the
          contents of $path to the command.  If $path is a list of
          prefixes separated by spaces, then the PROM Monitor tries
          each prefix from $path in turn until the file boots
          successfully or all prefixes have been tried.

     SEE ALSO
          sash(1Mspp).
          intro(1spp), dbgmon(1spp) in the System Programmer's
          Package.































     Page 6                                          (printed 3/13/90)



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026