Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ 70boot(8) — UNIX System III

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

romboot(8)

unixboot(8)

11/70 BOOT(8)  —  UNIX 3.0

NAME

70boot − 11/70 bootstrap procedures

DESCRIPTION

To bootstrap programs from a wide range of storage media, the PDP-11/70 has a dedicated diagnostic bootstrap loader called the M9301-YC.  The M9301-YC contains two 256 word ROMs (17 765 000 to 17 765 776 and 17 773 000 to 17 773 776) which contain hardware verification diagnostic routines and bootstrap loader routines. 

The diagnostic portion tests the basic CPU to verify correct operation.  The branches, registers, all addressing modes, and most of the instructions are checked.  If requested, memory management and the UNIBUS map are turned on.  Then memory is tested from virtual address 001 000 to 157 776 with the cache disabled.  Next the cache is enabled and tested. 

The physical memory tested is determined by the console switches.  Console switches <15:12> are used to set physical address bits <19:16>.  If console switches <15:12> are zero, memory management and the UNIBUS map will not be enabled, so that physical memory 0 to 157 776 will be used.  If console switches <15:12> are non-zero, then memory management, the UNIBUS map, and 22-bit mapping will be enabled.  Table I describes the physical address ranges for each switch setting.  In all cases, virtual addresses 160 000 to 177 776 are mapped to the peripheral page, physical addresses 17 600 000 to 17 777 776.  Note that physical memory above 512K words is not accessible by this program even though the physical memory maximum is 1920K words. 

The bootstrap portion of the M9301-YC attempts to BOOT from the device and drive number specified in the console switches.  Console switches <7:3> select the device and console switches <2:0> select the drive number.  Table II describes the devices selected for each switch setting.  If console switches <7:0> are zero, the program will read a set of switches on the M9301-YC, set by field service, to determine a default boot device and drive number.  These switches appear at location 17 773 024, however bits <8:4> select the device and bits <3:1> select the drive number. 

Having selected a boot device, the program will read a block of data into memory starting at virtual address 0, and then jump to virtual address 0.  Table III describes the details of booting for each device.  Note that the physical address selection is the same as described above for the diagnostic portion.  Excluding the RX11/RX01 floppy disk, bootstrap programs must fit in one block of 256 words, even though this program may read in more. 

To start operation of the bootstrap loader, halt the CPU by depressing the HALT switch, set the Address Display select switch to Console Physical, set the Console Switch Register to 165 000, and depress the Load Address switch.  Then reset the console switches to 0 and set switches <15:12> for the desired physical memory (normally 0) and switches <7:0> for the desired device (normally 0 for the default boot).  Put the HALT switch in the ENABLE position and depress the START switch.  The diagnostic portion will then run followed by the boot from the selected media.  This takes approximately three seconds. 

Any error during the diagnostic portion will cause the CPU to halt.  Table IV lists the addresses and error indications.  Only cache errors are recoverable in that by pressing the CONTINUE switch the program will disable the cache by forcing misses and proceed to the bootstrap section.  If there is an error in reading the boot block, the program will do a RESET instruction and jump back to the memory test section (test 24) and then attempt to boot again. 

SEE ALSO

romboot(8), unixboot(8). 

Table I − Physical Memory Selection
Console switches <15:12>   Physical addresses
            0000 000 000 -  00 157 776
            0100 200 000 -  00 357 776
            0200 400 000 -  00 557 776
            0300 600 000 -  00 757 776
            0401 000 000 -  01 157 776
            0501 200 000 -  01 357 776
            0601 400 000 -  01 557 776
            0701 600 000 -  01 757 776
            1002 000 000 -  02 157 776
            1102 200 000 -  02 357 776
            1202 400 000 -  02 557 776
            1302 600 000 -  02 757 776
            1403 000 000 -  03 157 776
            1503 200 000 -  03 357 776
            1603 400 000 -  03 557 776
            1703 600 000 -  03 757 776

Table II − Device selection
Console switches <7:3>         Device
            00illegal
            01TM11/TU10Magnetic tape
            02TC11/TU56DECtape
            03RK11/RK05Disk pack
            04RP11/RP03Disk pack
            05reserved
            06RH70/TU16Magnetic tape
            07RH70/RP04Disk pack
            10RH70/RS04Fixed head disk
            11RX11/RX01Diskette
            12-37illegal

Table III − Boot procedures
TU10:Select drive, wait until online,
set to 800 bpi, rewind,
space forward 1 record,
read 1 record (maximum of 256 words).
TU56:Select drive, rewind, read 512 words.
RK05 or
RP03:Select drive, start at block 0, read 512 words.
TU16:Select drive on first TM02, wait until online,
set to 800 bpi, PDP format, rewind,
space forward 1 record,
read 1 record (maximum of 512 words).
RP04:Select drive, read-in preset,
set to 16-bits/word, ECC inhibit,
start at block 0, read 512 words.
RS04:Select drive, start at block 0, read 512 words.
RX01:Select drive 0 or 1,
start at track 1, sector 1 (IBM standard),
read 64 words.

Table IV − Error halts
Address displayedTestSubsystem under test
17 765 0041Branch
17 765 0202Branch
17 765 0363Branch
17 765 0524Branch
17 765 0665Branch
17 765 0766Branch
17 765 1347Register data path
17 765 14610Branch
17 765 16611CPU instruction
17 765 20412CPU instruction
17 765 21413CPU instruction
17 765 22214CPU instruction
17 765 23614CPU instruction
17 765 26015CPU instruction
17 765 27016Branch
17 765 31216CPU instruction
17 765 34617CPU instruction
17 765 36020CPU instruction
17 765 37420CPU instruction
17 765 45021Kernel PAR
17 765 47422Kernel PDR
17 765 51023JSR
17 765 52023JSR
17 765 53023RTS
17 765 54223RTI
17 765 55023JMP
17 765 74225Main memory data compare error
17 765 76025Main memory data compare error
17 776 00025Main memory parity error;
   no recovery possible from this error
17 773 64426Cache memory data compare error
17 773 65426Cache memory no hit, recoverable
17 773 73627Cache memory data compare error
17 773 74627Cache memory no hit, recoverable
17 773 76425/26Cache memory parity error, recoverable

May 16, 1980  —  PDP-11 only

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