Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

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

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

enable(1)

sash(1spp)



PROM(1prom)         RISC/os Reference Manual          PROM(1prom)



NAME
     prom - general features of the PROM monitor

DESCRIPTION
     NOTE:  In the following description, some PROM features are
     noted as applicable only on RC6380 computers with a PROM
     monitor.

     The PROM monitor provides the tools for examining and chang-
     ing PROM memory; downloading programs over serial lines
     (RS-232C); and booting programs from disk, tape, or Ether-
     net. The PROM monitor also provides tools for altering con-
     figuration power-up options in NVRAM (nonvolatile RAM),
     displaying hardware registers, and controlling PROM environ-
     ments.

     On RC6380 computers, the PROM monitor resides in PROM on the
     IOC board and is entered when the system is reset or the
     system is powered up. The PROM monitor initializes the CPU,
     IOC, and memories. On other computers, the PROM monitor
     resides in PROM on the CPU board and initializes the CPU and
     memories (IOC does not exist).

     The processor is initialized by initializing the system
     coprocessor Status and Cause registers, and by 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, inspecting the contents of
     NVRAM and reinitializing it if necessary, and initializing
     environment variables from NVRAM.

MEMORY USAGE
     The PROM monitor uses system memory between physical
     addresses 0x500 and 0x10000 (0x500 and 0x1ffff on RC6380
     computers). The include file prom/entrypt.h describes con-
     ventions for memory use by standalone programs.

FILE NAME SYNTAX
     When the PROM monitor requires a file name, the components
     for the different devices should be listed in the following
     order:

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

          2. SCSI tape:       scsi_tape_device(controller, unit,



                        Printed 11/19/92                   Page 1





PROM(1prom)         RISC/os Reference Manual          PROM(1prom)



                              file)path


          3. Ethernet devices:
                              boot_protocol(controller,
                              Ethernet)path

     Each component is defined as follows:

     controller
               Because a system can have more than one device
               controller of a particular type installed, the
               controller field indicates the specific con-
               troller. 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 (defaults
               to egl).

     file      File is the file number on the SCSI tape.

     partition Disk devices are frequently broken down into logi-
               cal subunits, called partitions. The partition
               field selects a disk partition within a unit. The
               partition's base cylinder and size are 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 0; 0 is
               the first file on the tape, 1 specifies the second
               file on the tape, and so on.

     path      The path field 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 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



 Page 2                 Printed 11/19/92





PROM(1prom)         RISC/os Reference Manual          PROM(1prom)



               a single device controller, the unit number field
               indicates the specific device. If you do not
               specify a unit number, then the default value of 0
               is used. If you are using the tqij device, then
               the default value is 6.

ENVIRONMENT VARIABLES
     The PROM monitor maintains environment variables that are
     passed to booted programs. These variables function like
     EP/IX system shell environment variables. Some of the
     environment variables affect the operation of the PROM moni-
     tor and are maintained in NVRAM. This means that when you
     reset the machine or power it down, the monitor still main-
     tains these variables.

     bootdev  Specifies the device from which a boot operation
               was last performed. This variable is not saved in
               NVRAM but is set and passed on as one of the
               environmental variables inherited by the invoked
               program after a boot operation. For example, after
               the following boot command the variable bootdev
               is set to bfs:

                    boot -f bfs()sash_std

     bootfile  Specifies the default program that boots when you
               do not specify the -f option to the boot command.

     bootmode  Controls the PROM monitor's action in response to
               system resets.  bootmode values are as follows:

               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 sys-
                         tem. The PROM monitor determines if such
                         an image is present by looking for a



                        Printed 11/19/92                   Page 3





PROM(1prom)         RISC/os Reference Manual          PROM(1prom)



                         properly formatted restart block. If a
                         restart block is not found or is
                         incorrectly formatted, or a warm boot
                         has already been attempted with the res-
                         tart block, then a cold boot is per-
                         formed.

               d         facilitates system debugging by preserv-
                         ing the contents of memory across
                         resets. It also skips the running of
                         system diagnostics and initialization of
                         memory on power up. Thus, if the system
                         is powered up with a bootmode value of
                         d, the monitor command init should be
                         issued before booting of system pro-
                         grams.

               e         On system power up, except when bootmode
                         has a value of d, a set of diagnostic
                         tests is run and the result reported on
                         the enabled consoles. If some of the
                         tests faile, bootmode is changed to e.
                         bootmode e skips the running of diagnos-
                         tics on further power ups or resets.

     console   Selects which console devices are considered con-
               soles 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 con-
               sole is r, then both tty(0) and tty(1) are enabled
               as consoles.

     cupid     Reserved for future use.

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

     ioaparameter
               When non-zero, the I/O subsystem is not initial-
               ized by the PROM. This is a maintenance troub-
               leshooting tool. Do not attempt to use it unless
               you are experienced and familiar with its possible
               effect on computer operations.

     lbaud     Specifies the baud rate for tty(0), which is uart
               A on the CPU board and typically the local con-
               sole. 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.



 Page 4                 Printed 11/19/92





PROM(1prom)         RISC/os Reference Manual          PROM(1prom)



     magic     If this parameter is not equal to RISCPROM, the
               vendor and model parameters are set to their
               default values on the next reset.

     model     This parameter, an ASCII string of up to 16 char-
               acters, forms part of the PROM monitor invocation
               string. The default value is the MIPS model as
               determined by the PROM monitor.

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

     rbaud     Specifies the baud rate for tty(1), which is uart
               B on the CPU board and typically the remote con-
               sole. 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.

     rootname  Specifies the device in which the root partition
               of the UNIX kernel resides.  The default value of
               0 implies that the kernel uses default rules to
               determine the root device. This variable can be
               overridden by the root= option in the boot com-
               mand. For example, the following command specifies
               that the root device is on partition 0 of disk 0
               on the Jaguar controller 0:

                    rootname = ijc0d0s0

     vendor    This parameter, an ASCII string of up to 16 char-
               acters, forms part of the PROM monitor invocation
               string. The default value is MIPS.

     version   Indicates the version of the installed PROMs, and
               is used by the kernel to determine which PROMs are
               installed in the machine. This environment vari-
               able cannot be changed.

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.




                        Printed 11/19/92                   Page 5





PROM(1prom)         RISC/os Reference Manual          PROM(1prom)



          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 nor-
                    mally.

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 rate changes made by 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 specifica-
     tion consisting of a device name, controller, unit, parti-
     tion fields as necessary, and a file path. If the environ-
     ment 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
     enable(1), sash(1spp)


















 Page 6                 Printed 11/19/92






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