From 656be7063bfedbbc29c9509fb448c97544e86292 Mon Sep 17 00:00:00 2001 From: "tim.newsham" Date: Sun, 11 May 2008 22:00:02 +0000 Subject: [PATCH] - 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. --- boot/README | 47 ++++++++++++++++++++++++ boot/bos | Bin 0 -> 296 bytes boot/installboot | 22 ++++++++++++ boot/m792low.load | Bin 0 -> 77 bytes boot/m792low.s | 30 ++++++++++++++++ boot/m792uv1.load | Bin 0 -> 77 bytes boot/m792uv1.s | 30 ++++++++++++++++ boot/simh.cfg | 23 ++++++++++++ boot/simh_cold.cfg | 23 ++++++++++++ fs/usr/boot/bos.s | 78 ++++++++++++++++++++++++++++++++++++++++ fs/usr/boot/msys.s | 87 +++++++++++++++++++++++++++++++++++++++++++++ fs/usr/boot/run | 4 +++ fs/usr/boot/wunix | Bin 0 -> 16384 bytes 13 files changed, 344 insertions(+) create mode 100644 boot/README create mode 100644 boot/bos create mode 100755 boot/installboot create mode 100644 boot/m792low.load create mode 100644 boot/m792low.s create mode 100644 boot/m792uv1.load create mode 100644 boot/m792uv1.s create mode 100644 boot/simh.cfg create mode 100644 boot/simh_cold.cfg create mode 100644 fs/usr/boot/bos.s create mode 100644 fs/usr/boot/msys.s create mode 100644 fs/usr/boot/run create mode 100644 fs/usr/boot/wunix diff --git a/boot/README b/boot/README new file mode 100644 index 0000000..09c9e95 --- /dev/null +++ b/boot/README @@ -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. diff --git a/boot/bos b/boot/bos new file mode 100644 index 0000000000000000000000000000000000000000..8122c80d40a5193436ad642ab259f10bfdec6017 GIT binary patch literal 296 zcmZQ)tYQEG6)?%ba8T6h{{iue|KbV4=i%wp(rmq$Q%ZSe~b_e ibpqX~^2DNCkflrvA`ChCi77>CAhr@iMq*A0%rOA787*-D literal 0 HcmV?d00001 diff --git a/boot/installboot b/boot/installboot new file mode 100755 index 0000000..bc4949e --- /dev/null +++ b/boot/installboot @@ -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 diff --git a/boot/m792low.load b/boot/m792low.load new file mode 100644 index 0000000000000000000000000000000000000000..b7578d34baf90314ae29e1ed6e96a76bebf410f5 GIT binary patch literal 77 zcmZQ%aAP=7en8af{{vBGh6kby2Y@&Ni2pngWo0|{eY;|{|BPX3=c#Z4ghfk5dV1~%F1w}`yWd@14G0C(HH*|xD*6HYCvN5 XxnKPI&varcL + +badcmd: + mov $1,r0 + sys write; 1f; 2 + 4 + sys exit +1: + + +disk: + + .even + +buf: .=.+512. diff --git a/fs/usr/boot/run b/fs/usr/boot/run new file mode 100644 index 0000000..d0de63b --- /dev/null +++ b/fs/usr/boot/run @@ -0,0 +1,4 @@ +as bos.s +mv a.out bos +as msys.s +mv a.out msys diff --git a/fs/usr/boot/wunix b/fs/usr/boot/wunix new file mode 100644 index 0000000000000000000000000000000000000000..832d4b35e92d7930ec3d1e82b0881e62b0d04a08 GIT binary patch literal 16384 zcmeHseQ*@lmG8N?duCeQBh(|Qr9n)iu>dg|K8!va13^MYF2eItENcwU<;28BTH-QZ z7hyf5p4T3Yu)rhMtF;Zd{De(84&gcAH9XrxrSfd`2w1GOSwaXRJQiy)QV79B5=1S& zH1Bt3#PfP7U3&3L;gFl`}10zqjS=CenA4 zAL(f%HK+IM#{XpLs@a(yxlrVjGv#!}pYV!J-c4^8@1|DddyvPGzl;23pYGFtVZ6tE>Msl;pK2*DXJ0I#sAK$W z%Eq!zUzjAE|v`7O{3y{e##ZRJ8Q3ozA);jDb;Bl3ZF1G=_ias`U%Z8 z6gpw_7TfA=o-{_8ZKP6`vZNr{$LW^aHaaELPPhAfv_jt*oE*BzJB>23^kX4Qzxb_A zgOSyqx6sl*!2c`LtoBW%&PtM>3R%jriB4N%=ni+{kIc|sD&V=?!wPWn_cm^P;@s6=;okLseE{4wfuO7$i^YRW|Z&W4dxr*{)A;j8%u{$2h!Z{kn#J^X1N zH94uQSyz~?yBYJzY>|(%W>fHs>I%2u9nEjGs~P$Dr&^BG*|>w(=rT1MQG-*Inkhyt zw3%L{R@#!TjX)X_@q=M5MQB~hG2WZfKfP2>_~=_r`X0SsFZDI~`ptn`{pQtlO871; zh?=>A%07Cj(_0u^OpUF>4gX5{v1E8vR6^HgW4PJ z)!NhADJ`Hr>3z=o!NlQ-z22MNPVKn&sF&1ZZrM}i+3M+c+vf8N23Io7=(N4Rpot$f zpI*QqF;jJ?%@y`YRy8%%y%|?q6GXzhB^bMCf@q=ZS@^<#KjDr^o7dS?~oV&nM-gJYwiH>l;*WuU$xIoFHn|L9(O}BEOqAm;gvdiaLUy5 z%<|8tI=|KTPZSNw`%T*~&Ycpt_z+2S2)OyCK{RDju&dXs*ub}s`t4s4p z_O4&gI{>OIWrcEq8!CRZs_ChQWbc8esjqemXDG{*&~Gq`7$> zmnuMGW=9oSwl|^9nKo$7oOW({?A4?5UfzT)Vf_eQ$g)8B!n0FNV#Zs0lg6~Jo zl6j}K#P(J5Qs&51|Gdm9Os(%YR_l_IUhy1^9}Zp&+CGn^yg$K%f4TVg zV_BSQYfj1>xbM_`yHUHtb+*=0+Fj>r?c(Hpma!r-7OGUckvl$ce4M9H5+yVL9aErZ1chUx;0sR(-6M$bI7@v~HG9gCnb@_fTHvb@pGF`;&kqIc;a>{usB?>rFu0?F%HJ z)Ak15M4z>^2Rg7hFVfK*Qt1n0H;sbwWjYaK*O_e&r-XdCXSk&ZbQ(@0i|7(|7&BV( zxiqNLNG6v@4&=u|5xO*LDLSnP(8!8_j3nw#q3()w24^&RuBE)eZH>8^X7^2i23083 zYJ0_#H1p?*(>p0y%In+&ZF{wZF={pG{pOw$OPPtbC}&J(iD^4ZvUwtJz_OGl#l2CU z*AnrMC!voPp@p|1H0PGncFEGDesdj0uF;%os_U3^4Sa|6Yhsm0CBdgT{I{%0x0Dkp zOMTmN`c!JioOS6r!;qYFsuORT^eZ4w^yt^fRp%$?ZbRWRi_&FebOH6 zxhcn~4$^Ru8>cnX!kO**s%Wb9BJ?G+GUj6B#k-2nc2cnBen;G|Cf^ZQ{ln0RmhVhW zEbpW?$}eaw{+ENEEx&9V<$bSr2k*ol@(r_T@gofk_m}E62YKs{^KY}meJFdU`KGCT zsEzpYsZWdeo~t?1r&GlDObz(vqB?^1++6bjG_034)d;P-uEtWIM5|wW(RZXTgpq4% z7$eB!b2T0|nLCX#Ev?DWw7BMoxvu8O`lcGkTw8NC74cPJ*i{)99`1 zN1K`xMD12~rncWaUTqhDgt`i7j6BH$Npqp?Iiz~h@LrMCV*G`kG(Mj4YW~jPnJKrq zxX+^_5t47DZA0rKXeCw3NTuDF3`O*f)e(P5aFIVsw)tqaW5%oVgFXN7c=f%|^a=Hm zYTGOgS}FxoZOf_`;w+;ICn0m8i6WR6R}Z0q3({Y;f@UZ^^( zCHaZ8bU#l*x>uxL#eT1QGPHE~x8V-IS>>3ki@U3~qGcUqadxU1rG<*qcBl%HxBrL! z_p1ahxq>@;-V-x~yq-#ly*%pYQnFzVCE8c`1s^|7Ic=M(WJySEonPjO_HX&YM~cuv z$2R9wt)84qgK29b=D3m)6!oXh)G|GqciaqBeVc~Op+Xt&tA(7NfM%?z`Yspx>0F`E zPiG4MJM@oIB~X^y@<32YV=N~5;txQAed=w{up`x5`v8L;jS74E++<5}dl;c?gs2%7 ze~zd7|GYbNlXw5iJ44Wl;PQ^bYp#g?QKirXOJH5Xw{3H8rKK!D`5FH4l=D*(#)d*? z*SnQ}Rp@MIw64%GA1r(p?F)w z8y%{(O||lL8Xf$S*>Ck$M0V#@3T^JK{FF!9-IbAcsq!dG?YdKOxFVU>WDD-tT7h&z ztA|c6j~~Mfhbji+oV@ZLy z4~K_c(9~(0d&$-P`QwAoS8hvvs31xQ;~pSed)JnV3?c}!FN{uDj-+uWd{Xo9ox$_r zThMY9?4v0|?1GlimsK>swqmy|UC@?xd?&$-d57uEo3weMP|D_0Q$D_kg}2v?y?UdPH9s5cstwU@5U|r|sUr z9ge+uBY_2>(m(_~CX05t0PT;XJqPVyn48P}^o1EMSHOp)`FMI=Z%ZOLuRN=@ORTph z`PJ<5ANdo(2g+|_zLRaT)bh#?+P@RxY(sl0wX{8{Mj@$tbe7NaeQJI1&XzPjrvAdw zl;BOjd18{4|Jfw$%{V&gEn_q#q~nkmvok~OQt!YjeFl4y@frHfwh;1Z7)27f%x9A%sahvl|$jEw^O|?*Ft*NrR>5D zskhW;Qg%Z$wJMkmByB_ItqQ(Cg*aaYXm|pPw7+Ls%Fj_NlR%)*ds5H-d6RO;++ryu z>`WMz4tlU3x@SYX8~f*^Gsl=t=`uTqc1OLLx{=0x*P*kX!97eEJBsdl8ysWKjoP~! z%pcNJUDapm3-SJ?7U1BZKQdtC!U}isNmN4^EDL1Ho z-wnTnJ*Gd6K218$m-6k7^WiKh5xg{;w_5R4fy(%KcpmXP8I7`lCNY-Zgg%42el`1i zxZiwuqNO}|J7FwCKAF6%d3zQ-?{neIEe2}8BP1{iT|O`<rEH$i}n4qRBtx+mH!tz87asj(mHwu*HdZ{kKXE-QMl zE-H|5(%h>%`+uUJpUHV_TWnkV92a-mPRtbceZl}VDePOQ$T6SN-_RX%oxVdy9dPER z-(khRGHTJgu&$#&^SjK7;8=Q>{;}0wUK?u^9y8=5NQE+YX5B8hT@ZqOIyq5Cbl|gz z0=r)>05&Ob%-(|D0!x`oLZ6*3fCmJ0=4hW4C_EDEEdXWaxq^?;_gq0lKZyPZ3*JM2 zs0m=Mw_$Va#$rf&vp4eq?Rk!A!cy$<9B&v%C5+@{$8gc%%SYB9x@-g8bs0LH(A?6> z{EV*L?TON#8=@>^=Rw%2!#F3uv_}^*_k4~n2~VKHBlPPc!!7meO^}(#M_)wbqDvii z3&ilyXw29dJT>J@?lh3TG{;hrl({z#PdNq2d~eh?M}!Smm(Ostr85{-YSLE)L&QB1 zdLB0AhqNdER6ZGAvBRy#2gXI?syK3tYu-(8jn?#q^2 z68fHO#1HNu`gyCT_T91+lX=gqePu96Sg9WV`&y(5T9MwlrEGFJ+RJ5^c!cs(j<&fh zOLElb%j~x{l_gY>o+*ox-~#M^@uOw9BP(e%*+8T9-?Pn!$|TJRE-&LPUFOmtn5bh(6w(Lty>oL5*jmLP*0OAQh|rL8eEc2Sn>#d;L6ak;F3RCZziE4Wbu~ zfid0Ov%foUGPzrOELfeboD1tCIl(tH`a&LF7$ukKkGmFA3o2PeDhhD zjw*HBWN9C7v9=ho@es`zn`tX%>X`Va%_L&v&!ohAW9o=W`rpPK%|Bh@5nt|fN}reD zfM`dYxUD%qhu=NXeWQpYvJv1BPT$WL*x@I>-{20^T(&jSCFuEbj2{2Q=)|pmgr1Wn z-+aW*#MmQaV;{oUKem@|jyzd%#H`EtJpN;#oL}eNrP2*5J3yt_!BeSzV=cZ)K$G1$ zuHKSQYkvoMxj5)(7xWtFw})UC^irXN-x!$9BKl|W1^%ag2XUUmdg9e~Jz?zD1rBdT zkF)R=UqD*`GrTe=Jj(*upbkA3_U$iGZ>jCNrN(tH+8-S7FuPAC*|RE`MM7IeNdIkw z3Vz${74;E)31(bK_5AMtx%mG+{tH_;6Xg<8@CC~X!cjIfIz zoYrq}S`zfMihZ1f^f#-=RmXi=vy10UTOM52`iUBv1{6=9ucW%qt7)oF>X~&chf$Wt zX?rWz&Bg6}aJV>qJ1u4C+QBJT*yjx*PPm+oz%LV+bH(MGffxoABj9 zLHE?y`+Ze&<0gPBYq05+;DpjBDz&)cp;mdUN$dg z-~UQiA1Cx*c|SRN;KKd6T@9%lpEi*Dey?~wT`oNFSZvInp*?zrKc#9C-|1e=2S0}y ze_4chm>6J-nrZrFZkc<6Fbkth<^Nx76K0ilBdLwu^PI z6y;9SpDlK%W_NGDA1BdiTpBGefkkqibFTr<)}(p%XM$(J4A0`*MgOy2$2ei0^Zq&O zG^hS+XQM>rK~87gHUkglSPG2_zJB24yc=8uhQD?uTuk$Duib;f+nbYm4L(;1n~0k0 z1CNn{7|)Q3Zca zs-1m%iaWiQQiRdrfl_>_MRcOiO`Tp*i}(d>V{_i3^qQU-Dk-suuENI@tM(6^#j4GD z8E;{*?Wf@i9?KhQlSgLD%^lHDMLZg^wJe_aH~U)c5EV1Q=leU9dt}-EmvC-{cMVNV4&T&<|*HFdmNrGkI7Mo5k*B-SN4y8n0pE+pq^? zbYLV&8iL=?sO6Qgq{hd-EP1;i_eD(1Dv=_^M$~Y?C$i~W< zf0_Ebb$_h=ZvEYUck{9O7{0|{{~FWB^5CQ514Bah(oRT51?2!Os>6g>e5u}v?@OJ1 zp0N|H7>yde!29qOQ$j8m{~jl3{9jn_0DLFg+oU%@)&<(l=Ywgv%a;1#MbD+vh(ioP z%4tM+giEePX!SLG2fSWYa$5V3e5TTC!e^?w7DKezHe}i`hel*Rgg7FNL`lfR*WbeG z|L`?-cFduan}m(tdsQIlFVeKt13?Pvl8tUU(B2$s&Kpe2i^>O$Z!;Q+U_P;*jTke? z#2!9x%NlDFJ>-$W?OP#Fe;Yro0son*z<;JdEt!3%N5ms^6_kws#yK#~fpHFub6}hU z;~W_0z&HoSIWW$FaSn`gV4MTv92n=oI0wc#FwTK-4vcePoCD(=80Ww^2gW%t&Vg|b J{MYBe{{yB*<^ccz literal 0 HcmV?d00001