1
0
mirror of https://github.com/DoctorWkt/unix-jun72.git synced 2026-02-15 20:36:59 +00:00

- Added the boot stuff from James.

We may want to move the location of the various files at some point,
  but I wanted to make sure it got into the svn.
This commit is contained in:
tim.newsham
2008-05-11 22:00:02 +00:00
parent 9005bfe4ea
commit 656be7063b
13 changed files with 344 additions and 0 deletions

47
boot/README Normal file
View File

@@ -0,0 +1,47 @@
UNIX V1 bootstrap
The UNIX V1 bootstrap procedure is described in UNIX_ProgammersManual_Nov71.pdf,
section BOOT PROCEDURES (VII).
To install the bootstrap and kernel, prior to running the V1 system, use
the boot/installboot command. This will install the bos program as well
as the recently-built kernel from build/loadfile into the warm boot area
of the rf0 disk:
boot/installboot
The system can be warm booted with:
tools/pdp11 boot/simh.cfg
Alternatively, everything can be installed while running under the V1 system
using the following procedure:
First, build the support programs: bos and msys
chdir /usr/boot
sh run
Install the bootstrap and unix:
msys b bos
msys u wunix
If you build a kernel under V1, then you can install it into the warm
boot area with:
msys u name_of_kernel
You can install it into the cold boot area (such as for testing) with:
msys 1 name_of_kernel
The default installation does not copy an image into the cold boot area.
However, if the cold boot area is being used for testing new kernels,
then the kernel can be bootstrapped using:
tools/pdp11 boot/simh_cold.cfg
NOTE: the 32W bootstrap normally resides at location 173700, but because the
simulator does not have memory at that location, the current bootstrap is
copied into 073700 in the simulator. This does not change the behavior at all.

BIN
boot/bos Normal file

Binary file not shown.

22
boot/installboot Executable file
View File

@@ -0,0 +1,22 @@
#!/bin/sh
RF0IMAGE=rf0.dsk
KERNEL=build/loadfile
BOS=boot/bos
if [ ! -f $KERNEL ]
then echo "You must build the kernel, $KERNEL, before you can install"
echo "the bootstrap."
exit 1
fi
# Install bos 32KW below the top of the rf0 image
#
dd if=$BOS of=$RF0IMAGE bs=512 seek=960
# Install Unix in the warm boot area, 31KW below the top of the
# rf0 image. Because the kernel is in simh load format, the first
# 6 bytes are skipped and the following 16K byte are copied onto
# the rf0 disk.
#
dd if=$KERNEL bs=1 skip=6 count=16384 | dd of=$RF0IMAGE bs=512 seek=964

BIN
boot/m792low.load Normal file

Binary file not shown.

30
boot/m792low.s Normal file
View File

@@ -0,0 +1,30 @@
/ UNIX bootstrap ROM, based on BOOT PROCEDURES (VII) 11/3/71
. = 73700
/ 173700 -- load bos from 1700000 of rf0 (RF11)
mov $177472,r0
mov $3,-(r0) / rf11.dae.ta[6:5] = 3
mov $140000,-(r0) / rf11.dar = 140000
mov $54000,-(r0) / rf11.cma = 54000
mov $-2000,-(r0) / rf11.wc = -2000 (1K words)
mov $5,-(r0) / rf11.dcs = read,go
tstb (r0) / done?
bge .-2 / no, loop
jmp *$54000 / jump to bos
/ 173740 -- load from tap0 (TC11 DECtape)
mov $177350,r0
clr -(r0) / tc11.tcba = 0
mov r0,-(r0) / tc11.tcwc = 177346 (282. bytes)
mov $3,-(r0) / tc11.tccm = rnum,do
tstb (r0) / done?
bge .-2 / no, loop
tst *$177350 / block 0?
bne . / no, loop forever
movb $5,(r0) / tc11.tccm = rdata,do
tstb (r0) / done?
bge .-2 / no, loop
clr pc / jump to location 0

BIN
boot/m792uv1.load Normal file

Binary file not shown.

30
boot/m792uv1.s Normal file
View File

@@ -0,0 +1,30 @@
/ UNIX bootstrap ROM, based on BOOT PROCEDURES (VII) 11/3/71
. = 173700
/ 173700 -- load bos from 1700000 of rf0 (RF11)
mov $177472,r0
mov $3,-(r0) / rf11.dae.ta[6:5] = 3
mov $140000,-(r0) / rf11.dar = 140000
mov $54000,-(r0) / rf11.cma = 54000
mov $-2000,-(r0) / rf11.wc = -2000 (1K words)
mov $5,-(r0) / rf11.dcs = read,go
tstb (r0) / done?
bge .-2 / no, loop
jmp *$54000 / jump to bos
/ 173740 -- load from tap0 (TC11 DECtape)
mov $177350,r0
clr -(r0) / tc11.tcba = 0
mov r0,-(r0) / tc11.tcwc = 177346 (282. bytes)
mov $3,-(r0) / tc11.tccm = rnum,do
tstb (r0) / done?
bge .-2 / no, loop
tst *$177350 / block 0?
bne . / no, loop forever
movb $5,(r0) / tc11.tccm = rdata,do
tstb (r0) / done?
bge .-2 / no, loop
clr pc / jump to location 0

23
boot/simh.cfg Normal file
View File

@@ -0,0 +1,23 @@
#!tools/pdp11
set cpu 11/20
set cpu 32K
set rk0 enabled
att rk0 rk0.dsk
set rf 2p
set rf enabled
attach rf rf0.dsk
set tc enabled
att tc tape
set hk disabled
set rha disabled
set tm disabled
set rx disabled
set rl disabled
set tq disabled
set tc enabled
set rf enabled
set ke enabled
set cpu history=1000
load boot/m792low.load
d sr 173700
go 73700

23
boot/simh_cold.cfg Normal file
View File

@@ -0,0 +1,23 @@
#!tools/pdp11
set cpu 11/20
set cpu 32K
set rk0 enabled
att rk0 rk0.dsk
set rf 2p
set rf enabled
attach rf rf0.dsk
set tc enabled
att tc tape
set hk disabled
set rha disabled
set tm disabled
set rx disabled
set rl disabled
set tq disabled
set tc enabled
set rf enabled
set ke enabled
set cpu history=1000
load boot/m792low.load
d sr 1
go 73700