From 04142da99c114e6f5f7a5c3822f0a09b5a6980f6 Mon Sep 17 00:00:00 2001 From: Mark Pizzolato Date: Fri, 17 Apr 2015 14:43:52 -0700 Subject: [PATCH] SCP: Added simulator version checking while performing a RESTORE operation. Added -Q switch to suppress version check messages Added -D switch to disable the detach_all at the beginning of a restore and any actual attach operations during the restore --- doc/simh_doc.doc | Bin 199168 -> 205312 bytes scp.c | 27 +++++++++++++++++++++------ 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/doc/simh_doc.doc b/doc/simh_doc.doc index 1613465d2e817884ffce38e2a923539c04959804..21e45938fb6803dd1416ed0fd68e787f7b0e8f72 100644 GIT binary patch delta 18911 zcmcKC30zIv-}v#hPf1DSQb>_`PN>LqEAz}XPf<#ulp=*3u6Yd6b_tn6A+BgZW|?Is znW9T5vrOs#S>@d8@q2#H^Z&nI|KB;U_t|@&z0cljf7jY;uf6uJ=_^W3KT&e2ZG#1h zD0-O+v6yi=`K_R!Kz=!giMg1E`A8_E(c7#n*XVa0{=i6Ih>yP<{`ce?xSg<9cogvq#RzeC>sBthUI=( zF$peA@zd|W`|pMx>_In6Ar3Os&A${YgolQtR~A|kTwI9hHH+5z?}kHa39-7E5bx^? z5y^^{H54L^pY&iwtVi@>C}00K!x}8tbe9nO`C;~MV80)iEc$d zuULlQ$CrKk@Yls1Y;@`S*V+GUuM~wTdIQ;_Q6GL*x@gTfXkG+z4{fYfsU1YZr4DHHgWFLgVo8|s3mn85pgHX&9nrYVeAtrohu zKM!@O|M~lWro%0ZuWO=9^FLqz*Ny(`_i|s`{M$sz>dwQ0d($FK+dP>7l@?(5x_|-v=v=JWGfs?!^j2vz47Ubvc5oqn;As*uO1BQbAkTmRZx0rlFxu1F z!)=16^#pHU7IX9Uw;nm#bL3d-QGNl|MeFqRupTwg+vmSs<9O@9iT?g_nk&OCvkA+~ zdlz0Fym#>4g@du{m#&}1d)j&*SD&sNuomj{UzJ+w#+8bty1%)yNzb?IRyE2|siLlR zRNR#c(Jd5>s^3cSuk`xq>nn%jHm}?~bLHlhhy4ySJ?L|ZetZ@~>VT2H^pv87Pzz{bfW@8>!BMO`F02b~- zR7PF6zy|?{#ZmmK_Fk-1vb>RdHuvo3+_N`6=l=XoQI{=NDyTaaD@_YSY8tAT>2)xE zrpgiZ{$j;i=^C*_X=jtm{=fVl3tb$H*yq8}#bY<)uI%^l!D{1hWu0morc6|qCMzaC zd}J(9?9>NginUfoYbw^_5M<<@Ko_;sMD7t0dJJ8(CJ`+ev3>-rKgtrIatOsV$e_jG zK4kC&L8^=mWjqGDXdh#|+DIX)V;Pns5lN`$Aw+$2MF0X3jpI0hPxzj=g!ENPc|}c|MxaPu zZ5b^Ct)ihZQCbMAUs+pw=+=IS@#DCH>yTTKTbP6?SdGolZS6DTil-2zVT!7#0|zui zNAyGhCLkUMJ+;J?k%zDwMeOkb`4HYhG(s_7PW=8tbcexsA;!WkP>40yi$om6zzO^W zV=xB`u>_kD4d;nMv_)_9MK*GJ@}U>RMoOo@=CVmbCB0TriEzhW7dWB*i65V(joq0}sJhl*9m*HtV+y)cbpMRH6M zevjnjrk-1?*l8`~2IR^sv$6*0g<(IeShrGJje{KqQ}Mgwx5sZ;7r!n(B0geqM7&UIY)}%_ z7NJTFZ3*+yb;j$7US0G=Ga1$UcmV5Z9EaG8c<6%E>xTe+WBl86jypILAQ$*R7qBG8 zKYkBXWdh}dsW^NUb9#K1Y zf1;al>4{<-KEmJ^_0D>wrn_8WDr9cFM{5GF%Z(7mlaLHuh6IoyGBaGT9N}m>k3$3{ z<_lqrl?#e8NoLTgg=((^rS1=B)t^qX|4jO(ki@7Rib?b)MHzSMhumFFuCDnZhx?Gb zx?HZYM2MOgL(Yyx4|2CBWG?qXJi2my}V4Z}AQd!l_5$g|Uc646=}onky*uD6^8f8MROwJCTCJ zE4do|P37oWCB#U0z!UrM`43K&tNGzNS`sirBiNxCx}zuN;uM~u)_R&_Sb=r;^!|0u zfBXKFopt~6k;~aR<&rMP=EUY~UbAxkKW{Z-u~J=ay z2G+!-stF&xA%iqfRi{VGmXT}}Ma`iSON&-)70-dp(*^E#0ypz}01tc*;uiv0fk0M- z4Co>(Mk$&ep2&X(yp&}CRE<4>T=xY}fxVHD>+IHCoHAQbCy1V^LPWplXFkOz(` z51|CcMkrdD*_&}4x6tDI@+TRd!F@c0#Ri%M z__&1(j;5q(JKUkm22qMiCLBBcs(FGGb$}05Wn1A)|K(8AR|d)bCNd_&sXI zM63~H^j1Me@ESgCR*z1jiY%nCQ_AizVg45y$A_y~foVjJ$lir_n7 z40M^{PV8ld=<>jrm^u+dXH1VtaQ#!+sA#7%A%naUGSIQeK`v4Wv@YNUj8`PUy1=(% zd^~g+u!->$$c#7#nHd=p?80SAx|^MfQ4ozWfBu^h2T#p#1$fH=cQ2Fe}ciV-<5NTJ<%n06fRYQ(tda!iaEs8=4CTBPxP5M1FFFx<&)Yzl$zClk5Ya}JsB?DJ}m#f zAC{!i3ZC$VO#35zgA+;W1etc3=5UbS!sM1Ei88slczH-w&J`VW7AhsdBq1hQ>94rH zWS(vpWb&(F5`yLUQED;-BLuTC2ijv4LR>~3KEnJ2g&$)u7U5WNqNu9oBxNGcSZuux{uW^zS6FOileBg_5n1e(l z<0QU9IYlW!1XjW3v=}7%p5})*gn~01^Ji&2p*jY`74xwdAD*S3J&}?amza{cJ#qWm z6}-1EoE@Tj`-b@H#;L4&9aZL3Fx52?DmHd2Y&Q$q(2T2TM-{Wu=SmeT`m(b5=vghA zsY?$j76y#-ec`yayqO%Qg&{wEI|==9m}sb!`Im1*y%j{{=LpPYuTT6CfqcfNr*f#{ z9`2(aJ6#`caEC4kmClOtV(t%nzmM^j=V)V|lbKpq-Pul_dXLFduMAGnEUEw&am9SB zz-8RVYdL+MiWd=BjYyQfKr;b#Q4dXEkJfO)UcALS*j=PTzQkdMT4)I0G)}$IY1C=h zh6E(z6jJd5mX}Ega`6(iuFwj_{;MpHM4Z4i+{7)Uqw_Tyn7D#>xx6#q1(Y4V)gR$YIa3Y8OYZCM9cs3s?sx1)5Cdj3PStccPpyvA1;60P#zqh`;rJ%%9& zbFmuxa2Z!1BPyeK8{ z`9k+nO>Qge)vy+_`$B$@Y7^NVS(ttje2(r&nL?R@Hz>(gbg7Uj_;Cwz&4#x)@~{Nq zP;npiZqvX=-*h@UFc#(RaOIF8gg*kY9i{G)?WlN9h>2KukCMNLk)>FJ_1KK9xQcfO zzEA$3^8>obA98r1EqZ0rSi;iBIV zaLSN&!z`rWBV>qcVcYi*-)8tj0idtQO19Msd!e~h=YmT$y`-e6QCd2Y9$iwbwDK1+ zV@ksbGJ|{(gJ+PLWr6P*R+wK`nAYXb`ycXX9{HrppLRdwkq7xymprP6Fy!k>C}pVB zJ|*_=LTRD8URHjWsVl8!UREk=<e2jo^&I@WX6GVkeH^8m`0O4VOl+LPI#A54o-RNMw^u0@l){YEk`w>D3`>g=wS;j81FG%6dKVMLl%i>tkbU8nausD!4mHsM z9WfA-uo|avA7&rf71Tz1jKxA6!#9|JVz)k(8)b=w_fz}WIT z`1&dAKGR=@DTv2gyhE`sWCL8_2`yA4AsOeP`AW8899AG1&rzDf(gh>2AYW~KU+E?L zAuVK2V~?UP$k4l#bbtAga#wNjTfmaLaRs@k|BX~(2KL}2-od1R5)F6E#wMJ{9c05q zC_Iy(2sbQ5GG3svqKGQ6MNdUhU*A&_RHys&fJSAIhD-OA##+7?Gq4qxVW3e&drZOx z?860oMs+4fXvjr)ckwgYb*>?VRvm| z>iFO`<3q*TPcB^rw(!Ra9K{nfAnXJl)v1qm?9RxF~k6vdBu z;tecK6yXdP^npKSVjs@Kq!fh$?GS`0+`=oAE3F7e%tr!V!q!v~gAs&CoI zcR3~`PdI__VWIAn-Rtz7H+E$)aT_JdD55odu??5;1xxTjE|PA?z7FAzn<1Y#3KiL=ALCC^q3B4&f3$pn64062`#~GZ2sG zu%;R01WzO)3Fq(#WhyD^(FaOU!rd22b!9A*!Vzu=#X20vYrKJ;r6S6r3ff^jHXs$* z(6b_`Xb(3`#s(b3eLTP$l;pl7)j`kynzR2@QzmN4OT}e4i;1@ILO7Ce3EB9FPcW{c z2s_xLBLXo2v#D;MSHGNE1IY#o8&eBE3WwmFhjgUx2ohEhG8il zqI5My48aZ@#XHoju84k^j-5D)W4MA3C~AswdTPhP%>}82df^S-Ye(Kt2iAG3+|nA= zpzPuyGNGwS`9oWHU@b1mRE zE8&k-%D}>B2B>HLzAY;kxQ6#|sK;Jo3jV}9bf{16BNCTUsR4;YS7@;lFHpK6-=jCS z;4P}yP)TDv;$YB-`UF9sb+KZVGVEW{Bj>F`DxRQ>Eyo^4;{dKhzcB{_Mqmc^A`@kr zun+hRa}a~GDAknjunlMM3Fda3tS}k!+TmZ*)2i@M3OVl%GH@3i?Wz9Z1})ZL7gBKt zdEk*u_4RTkrm#9sc=cJ)Q_9MfnaGvN70G8d-#ty>888b)W&SqR(ov~Ufvb<^e(goi zE}Futk=_hlp^5&gI2e5^R$2TaDEA3QO*Ad_wM#YhePTC`APv*;0IwkQ=*ovRY~h6e zkMp$uiIx68tW*0R-^2eoF;)N9kS4e|XqssZ$TE%Sp_XyfSgDcCHGUkcB^@;#i@xt$ z^nH+{rm13`5aXzsuVKDjD~%U}$X1%pN+b2JR+^p+99nDIvdrYxnp%1$F~8Nkf69P{ zsRa#E_0_MMa@xi=!M;8(1`S(yr$f2WM(=(#Jk;{r@~?YNRPwofasTb^E-yAe9`6&j z^UM;v4o&YZHkz@#m3fIR-q~&SLZ7$wuGA^2QFh#Ihb`T!YBx;ku)o#Fumfvq&fel- zve2$Y-o-zr#9g%Ntj1-8Z3~=Lw#UE>|AlIaT{9n5t+Xuoioajpfuz;i=l(M?%WQ0L z%4E`#q$!?x$4lF6vMQ5l*m6Xbw^rBu+g6Qk`KeWvW44*r?OF zmmKwL_jZfRhUH$P$uzEMjBSd~vCHm!^VaTOw=TQ& zuJ$pqxZU_AroM@`m*!dJy$*fYqTG0;yw+lzbAHmNyXQjU_u6iBU$}GB&3;p)O6|#)-Z@nJupO*wW|B*Sf-@l-riN)yM6WQyy)a=`|!Gk%-usW-f#-5uBK zN9y;|cIrGeafZ#ul>xhl`WjShn(Q_EW@y}yh7BX*di63HH1SN`Qw_}TjA`hSH}Fca z>H5Fb==5UVr*dJJO=Frnttk0R=8N#ohO?WsZ~Vx1XdScU*-gHxzxK4+J}=5@k=@uc z#;aZ}u6ic*;qh7B+8@uaa4^~8@r83$?jM|*8`)~|_%~10@KkMB&&v6cEt>53(5uzu zovzw~llOc6I`P}&Z+D;99)A1v(A0u&SG^ABf8JtcSbx~;2iI?2`WF29#r0JnZJN)1tC%hanC2ba=Qrva4~R*1YG7@Y+qS zCK+$2ekVg&u=s1xs6J`^-2*Gmx)l`?zHwlb(ULv>kL`oz?eUyA$*6JWWT!bsk9-j6Q*`ZBO|~{Y7J0{KT#enX4YO}LxxVoJHR|o@ zcC~)DOrM%t{nP}HHC6^y7eqVwgq_&1B!6BNm-*G6)GF)nQEB?pG^A9B)9V`(?pM9l zDKC4Bf29@uw#L^p4e^W^7!YFCbknpcfh{@=>}+Cqc*7HInfX1<^6UrY6$}|vylUwC zoIdAbY+|CCm32R~>B9|=sg=eJJE#}2==8~(xelvOHfx+=v&Q7bp$Ui8ae3NCckkpr znbhc3{lx~KB8Hrt5WCAE_wtRvJuLmE!bn0R6wws@JnfTr?B58n6?PtA1IyBss32%4XWn;4C3g_QS z|7B`tY_#vsNyj#hbL$i54p@yqE6g$$!eUK8{?PkrJJI{s3cI}!|@(+hjqq9aW@3pLV>qT=%&nkbtZpTY5 zk9-4%4c~Gts&?BAf6cry`0}O$QvGe>-*Eg1YFwZ~uOP_9=9IL%*(X{NJ{qlF(N6&uo>}A=0CR-lO>(Ms; zX`SR%Tm5ThRkWHIanh;fkR95JnwZ%hmko=Ty*=W6l*L`U=N5J6?i`jkp?XEf?sfxO zU+raf+dik>sPnsh^v3RKH9Y+0z=my0u8yAcv2XItnh7b_lJ|wW+^A{&V9?hF!}3a+ zIB(j&`g~NaihgHzUwd(K+wGPS#;s5)5>*HVg#3qwQGraoxuk7;i)l%zQrthz5slRK4;7aLSH z$#XvHH`)12>44d*@1F_rj9VJ}=|aG+>@QjFsg2CjcV1~bxYcPc9kTNG&BJ4##JFz1_Acha z;MB2ghWd;gk+pql19#7p@F%=oJoQITEL?4PZSL4vrrp#)y%CaABL6B)yc<;A4sOtqqFZUQ-&{7z zKB_mnYQn9!VIi*I1~PCT4?!2D$X91})6_0}B6)~g(Zjg%5li`4V}4N4<9+g(F8TPB zdRwbBF-|L+KG4OZTl0x3T=Vtu=vX+9uNcoJ21nK7?|QWF}qXi^+{Jx>lFc{YI?JBDiU= ziv5qGiCcp2`MOn+a)&;Zgct-5jKw-^LUl`?bb}2X(Gs1| z1^qApZWsw)_+bhLS<_q|Y0Yhbs;mTGt5K?|(~k^ejD;V1*P-OXs4n-B;06zrug`CB z1?dQEz>0AJ*HEt^B^C#830&qza>**eKe$aO(gOZRyEH ziFVvT!Or%SHB{?BQNreq)DSS}L{zY$D=WnLo|He#|BYK4STK;gY1lr9@`baw3fsYC z)nM}fkt_FrVKajK#|o@PR}bzJALe$!+i`{08e-$WGtb_+3_R-Pw@g@ zkdKi8>?A@k4ZDM>>VnCC?PQKDti&IP#$F5xrLP`d7>lkf+XsG_is@L46^KNyd6W|@ z!eZRTJ#<~b?{Ih#e{6t9$ikDQWUrQwe&K8gM_1D4j4V8Xd>T(aN|~{N+n@Lgxp<3D z2-`-YaT9m(OFS1nkPlH9z#X0_p2{PQmN;D0=@{st&3Fg=*uxX z6y69x`>XsAp_mEB8>|dIw|MvojUE;q!j24`5rP>=MZ@7xBo#UwDG2$i_2#!B^zt8wwz@=>$SOv_vcP%_iUa zG2)Feh=7Wnh({ula1obK{u#9zmSH)}o^uxk4rqqJ7eY)%SPtvLv0M%}gumfv!Uf!b z-8&M2c3M6(Lcp*ubxAJyp#t%pHyucBp-7)eAXvSCIe!4hk+ z85wwt{#EJS!c@#e5)R`wGVvKoHKKx6NW@{}As?3Xh04Ct?&yQ@n55++7@>$lG_K<| zn$l8ffnFGd*Z7D=^n=>L9xd?~a_|{SEjEG%ko}`ch^kE&A1>f3s?Z-=6F$%e@KKUJ z&N4{E5j@39?4qA@KQ7@WO3}}0F8exRjUjMD9QNW8u0r;GCLj?>SksVRaLChnabfu* z)q1$5yjo?rro#XJVaT5unGV;~{@<7UzgXFSWD!$}GfhN&Y9r)W(Bp`Dl{u`?-Opq|Fz2_zQtCsPH(YbuGs9L&eaP|jWm zm`44M9_*-W3#gFi{;>;r{1{r-MVv};04Zn?M&4sQ=lLKMUrqxOXK@L};q*qMJ-R@P zSxCWge1)=tJw{86M-Up&K4^>)aK|AWk$I zgEKe><4DQ?R$()&)|1D`jpAAb9inMkWA-+lrodqwL&aFGAY%zd@J`AA+U;gx42CN_ z_Yzh-!ZSF`vXO(C z*U3K|!%2kRpv{J$C*&d4J!KDZ3-|FHub^b}AOb4D5{+O7XLP_|xWW$;FdGXI32hV~ zM{pcBkO6~dIOq;EzPyf=MYJoWf|#Lo(7)zBB=c7v>@XH(_o{HG*JymRiNgLnvja z%rFkoIE8#z{X#iKAok)a%9mxu2*DqC1if<9UGT(eB;zA0m~p;C5R#FOlIGM~7-7Q4 zbnM3sbM>K{rc2G<4je_0*N+zX=;7n z3;9zTWrfpnTz)TK8bV+Al0RR?DL^>!(*n7I;-a4zC&t20OyX01D^sF-6)h!~W;Of` z?-@;PeH-zht!jHllc*RbWS`MQC>_Te&Z{6^rD-1PkCrPHzh|zgU6w_!l>dW^UvjodDO)EuX zZ>tWz%&xRDFdd}MzO1pfEU~$!{0A#~thff`P^MW9pClZ;tl`NTjcV{fbEA?>xcpk~ zh#bn~$sw0OYQY0d#RSubnyd;OvxWaoNd5XrGs2K7hr+1@kIx!AMc<1_HS&wbvK%)e zg+In40P;T&spr3FDm0w@eQGMhP)vgse;vvJ$9H{KnK2 z_5C-EU&mhaJ~fx|`S~Bw$ldNEE(u%yFNVFaqf@gRW9`LR#_Z_2>_GW)VXT8VCfbTL zHMT(GSo)`xsc#E3vz7FHA$oI_h!2{Q2_^OQ&TBL#CFK8xi72kuzeclmj`kfK?3^3g ny0mZG(9YT3uAz%B976e35P*Sn66UFYhcGtDVZqRFsvUXu%FrtXqfd~ff6)~{zsu);^ zB8Z}hg^gIh*8$hdy`SIb`}qFz-Q~HHJ9FlJVrI@Pv(M(8y*BTvYL#Y5k^Qn3Vh-bK z^81e;Kh(?_On6}?X2a0b)?~X}tut+x|5R>MAu$N#6HZH^6-;H(r^`1!s6 z->@G?u&|I2kqnK?9W)_^>V#h-@FvMJ%^FT_E{!h@z^(3V$xo(_N-pU;l@hY z)5f9tV$PTG>&Bt+h>Yu~>3dA<;(Klk`&P?d^6#PAevl9~e&vaAL;v2e3PH|S-)d{# znAfUeOy7Sl&R$vVFCT^J@-iV(b=t#B*;YSvUG_5Lu8i3$n(g^)^5H6R&wd%_*RL$Z zcA|KAr4XHs3mNtzNvfFKW7vS9%5L>CT_uD&xfmRfJ)KyULe8j~4idsd3|*%Z(y^Iw zh3wV-E|)5S@0n>lIOEV5JmWNZ_r|8!=ok=smecoo%x>dIm!^Xt{l8qqe@m4l_j&U#X3nrbD4UjsSb`DNnm#8WTBcKGd> z@3+J6<#;vS=VjP`^wVN`A8$#tE2w$??R;DDN^wQ zC3^{R1Q!s4SUkgXOzSPg59H}1gf)&K3CH^iaR#xtiSKaeCxjzbV}E}NA36;bq6gOF z^g!B_&x}lR7a|Z_a0o{ciO;ApNQl~KhQ3$;ADl%zdJPt00D^HHw{aiO@d_=5us&8{ zEe_#0P9pP_)-6=pIwikK&QyQ@e&5!*tdpfpgb~MU_P2lmr#C zobmdL7)>QUDo*Qg1h;!@*Eh&u&3dKms1-RX3u*UP$i7B=f*2ZO`H=Ci z#P3^<7_RymM-O7?iAsd6GW?){Sc)^qfC{M-p{tE{P~n}7V~E5z@$04SUn84q*Suv} z&DvL9%N|SemBl^OiV0A8kcpC^*z`eLbO7ySLI-dK2oTaOtqd-ONTWb)0fJQ5H6SsUTk{gmNg4dT5GH z=nQv^gb$V@2DgxbOmrAV1d)F@treU`3eg%x#|lxxQ;6XxHeQJN=_?WHU?MuVHPM3BNp}wwZ53e^RTaq!M6M#*p*>V2$0Hm^P=5r)01iad z@n>Y)Fw~9atbt7k#HBF=6-9`;ihMK79;-ziq3OGJgi?_8u`-Ry67-zO|N9RI6N;I3 z-$$0x7oJUO_TmC8#tBg!UEu=_x9}Ox9%MJBA`Ex%9jY9a#IT>`NzZT_E+YkkvZcyc zaZJN>%tLm~G~8V;9i?h6Xe4~4rCyc)B5JuRlY0=2bd;JPL`O_TFkMJc8o&=JPs z8^gFK#dAE2MK_4?9u(1@_=fLrrzj4BJ*Cb;6+xlhS}hN&YS~nMOxA+*vf!_JSwyXq zRa6M^rPWN8RH#xL3{`Tkp*khD2KFL2N9lcS8{(1_se5!=f| z1VjX^35eJpvC`+)n}ROP>_^sa|1xWM+&Nxz+${gpTF#P=+V~|h&yZSigd^!^Nb(Va zo-l@FHRG|k0b^Kv2#X3yUj$Y|Bcy~N`u<}9mGNH$4leB0khzZD=6sC)fg&n;t~c`&>9^!QHnb=G8`ijgha?d zAsS-~LSVpgyuurF+bqOgJU}uskck>WoT#xK@8GbN>#B^u-)~+%dvxpUt(RYq-wOR2 z`gQka|3b_C|I1rw>8B`0b$7`v`n+}{PtLFq_9H3K#)AE;px2(jVH*#3BZnLC^RRFJ zJak(Q-4)e;hG7T8ok&9Q4U}%I#SPeOqz+>t&O#SJHkSp~08jA@ zF54&K@|s@dt~08mKKjBPYLnqmn^c=po3YtJ z^}_s}wD*{~ix|TPYw;bWc5@|zE?A8XNI)_^;0t~r*B;u)JrrGQM(j`?8*m1nVY*j{ zhj0ic9_R-j977!5qwqc<%D^dv6Ab*|8%m22#+d`p;Br8SS_f&oF$dEQb3kwlXMT7Y zuJIX}g9w-zNEIC5jB*$Rty!pSWc%l@_FV9?w;x$~)_$$YIccZ)gvv<+TNl_aL_$`Lb1;!_>Q*!5?8DU30UWc&_PEFVL~^8>08Pggh+OBL6F_@<6G`(=2rUYbdD zMZ;BAxGX+gEgu16{8tfwl?QQfCjK3u@?#lPo}7ismo$_jZ&d!cBM`wzLsjxAXP(VH zm~}cbtUMwoNc~)vp2ByuIz(xQKQ`bxVqwhXjpTH|&)lv_2G_!POu$j7On-!eM`)Qb z0b6kssxX+t9ht`Cr!3?)S*Fc`tuhlfZ;rAQhjm>=g#`?#vu&YJZlc9(UZOqi?;dn08}sWjD5Q$tbp3ZXLl$z%u-HU!U!RaRQm@jlwy3cswbgK>LTx>sEi^pKc?SbA9}BP$ zi?A8jaRU!vcaCdMI3pAX&?=f+VJyIHIQ~VIMjbTxi?(wjBU7;zm(l$q7pjq+%ih@(ZV+^ z*t9^?R-cn?wfIwVzMf3V80W2Sg|lvp$*}BkYvbwPIL9r75dAwOL4+b9M@Z}mga3Kz zHa;N(%`b2o!VGx97#24o5M-Al99MpYMCD|8ZLD6MX-{*e9ju}>4$q*Xlba~~J33{F zhKfvY^ucAs;1Tl1P@m8N9T9njiz}SEN)wO7tEy5q*Q{@3SO2mam9kLw$+u9ne4l&>J(qMj_)&Y&t1Xp9Z zhs5<*%1#0!FOiNnc!$9^xP-)Wth-5fEuInX4T;Cv$sHv{;n2i7JU4t2$m&j?;L|wHVLM zaazI-B~T6O*gIkXreGz4a0pkBhUXwIS)q8#FzrV6<J}Sp^({fLUC0K^jD0`pkfa(d{@nSo6U=I%CPaMZ7yhxy=Sv?@h z2*Th*A=)NU?9mUS9&*WpJ&$OiFz+d0L5ox_AyMr$=PN8j^n1FNF!+NIL$DgwrKBi{ zQ#GXc0QI2o{VRH=v)=b_-+xuvIPs6+#eYm0zi=X1J+kPc%3vMO-!$u4($3^`u^-vj zcoSnNqQ-mh{95!mX{)cVLT?OeNrGq$>~6+C{S0g&f@%zI2;*s}NN{rodI8gw2(}9N zFl@pd*bs1)0gVv_l>y(3IW4ppZ&^WIi*;1}(A zRZ4@}z+0$XEQj7db8{iXGcY07RL<5w&fI;@G`X3TnfY>L=oZF}nb|)_hRz~Wn~|Z- z@$FZFh4x^zoUhX4mYw3PO11eqjim8|PVDQXQ+;nYRKYlfdr$@B9nL)FVgz$ixJAN< zCp23y79PJG1*j{9=y4kL2~}QjrpJhvtdEtin5JME3)#QY8K_!sD$!A%0C~KVmRkA^ zX{}eKu`PU{N~HlOa0L(W2Bztp%;AdG=!1z^j6j6rJnrHpUZL0Y{YIDV65uj7`LOE*GD@H zg0bqaVf+c6A_Lh0`q>Md^++V^D55WfOhig+N3i1@EEz!E&_6 z3~a{@cQ7aCbl@^q$J+9PQ{gjIzfl8`UA6jjj~e_##vA`#M(WWW|R@H^&XKhEM2zM*;^ zDTZJ*j^S}0s&IYTO#6C*vXW4b0-O7pEVMI4N>7%FJb9(4i9YCyu~>otTtN!TSV_?y z{jm~9@dml`Nl_VHu@%=~k)JSOB32?CiAc(yRY1!9DzkG{!96vA`Qj}~SxeCq3lW7h z*xE?Z4pXrUH(*gfiYjP@f$+s)B;y;L3sML$0{Vi60jcz?jLA|FF*YCurcP4SMQ?cHI%4q{Us0iu)S{B)6hp!bSxSy!Qgp=(_`!ht zuq;eA!x@!O2mP@W5lDj0ndNAR0hoa`h`=pm;4|_RAp%9Rva-`Zv(oKX8)T)OcrBX^ zWHr$bv#}4cNQJH_7jq~87j!^JxMLZXV-wEd7QUiHF)7+&8us9RvFsz)X!2-=L)49X zIydgUSs<*6OECkpIFEST!*k>>MVkY46`H2G>s9~q zY3fhRTYAV&y`_mO_fE#?)#6gf#1|BHp#-8IX5k2)!m_j!tuY$A5rcQA!3{<~Y{FSM zl_eYCjWE21Q#l$bjKM1W1zK27G- zP`5~kK6IZ?QXrXMXrU0wd%V1T(1GEYsD=MY2;Gi^P?|6iWb`w zeCJhk-XaA`ll9pSUSPuP*e`#rtyMvQGbK5Xo?rQ^F-3;9$y zq+;J(vrODa7rpcRL&WhJO|Ocu*YkGv^s64zQXlf*uTg$YK28XnVz|ApX1|$BzF!Qu z9MW;ujj_WH_S$MTv{>PZ8R7AxhfKU1Re068+E3G$Um0#VmX>67A^G>G>E9}b+*;^U zTOYLe`eXNeAw}X}kGPrV!umrm+h!Cxb!W8G%!PADmfPCykmI`+m6wJ)CO+DlUsw(8 zb=`E&sJ7?h7L|LIJk6!t?Y!yrqINjde|+g^iI_ZX243qPemsA-yiTs$KBayB6dKt0 zx9I$VMH**3%XoO^k$K}j&93Yn7cf7iN7a+xUR;eXwyklX-uvC#>khZ3^*;Y2^Gw;3 zU%yVTX&pPF%oU%io4+ZsJ5lrCFp z!U?-G7B}85jd599Cu&2xT;BqhI=_!8Kiq$+bKQDp!;^~0lx>#NX8m#1W}5YqC0p$R zrf!Xsul~4FuV42*gIc|-;6Ghor_JfnPX>2A|8mI8UgwVa6pTK3yp84L8u{C`dgIZ; z+4YlSN85aDn%Txq{5pG;<;z!H)8Zy;nRDAU>X};Qw<7H;cBsC+RM`!~eU6OE>+Rq3 zS>Eqc#vbxApIj$6c7~60MC%Kdmn+OKR^Z9{H}wL`IsfkKoVxQ*gf$Y@&o^n^YO zid=K4Fr@J+bL*{+FDLZKm6+nOFm-CWNk{vLFZoKZIMylD%rGi-v0EPNhBa*LPDFP6 zv*5{jp*3)FSoXz)gm9m%F7_S-^IU zTH=VG_8yj9OU#>Iafx|EkBc5_>z}MpCZ%fYb$>YixZ3^tm)!Ro?K6!x zY1Gdu&$3B74>zpR{p=RY9X21n=yiq6yVWn=C&}AkXNlcObK}1{JnsC%P56rR;Jy`xsQoKehgXUJdUZtJKENrn*g!0>AI<`NF2I%h=sxlJ-8h*U+}< z?v0~YuaooYJLz9}`8D0vxpv)@nG-AYKJY2tIb&D-VjC|9t?j$0L-RHFPFf!rnSc1P zz5PA)eowtTd)qX09doGA^q%5SY|m>KW53t@tz=yByiES$pDVXIH0e=QVJOp1cS~CS zeKyl_bOo}vhTDP%GTO_IxSPokqH= zpI*|BGL{~v@oa4hPitoKz;hm}FU|f1koq-)`Z0leps$_^tB1DgL8*Flsh$I>=T_?R zhk6X5da_lIvFb`xy>qJPOLa1-J{{GMqWUUSmjO5G_0%17*4?YRAyhYJ>c&Xjx2PKl zb!D$Er`6T1y4+M(cj}5tUB%dF<-6z_JMjP^>)#5lGmOPe+`?^b4*wcpb)V4(NWw$I zmM*$(xvZQP()9vQ*cjyRI+xt~Bb|8;-<1aued+EPO&G=yEe{?rOyp-slSn=xv7E}! zk7m)qJ(u3jW&EyX1$|^I>00rnJ7pc+#2P)Pgy-=#9*Kt1oBJod8Ie5AiQ+jHkL0cs zn$@It1L5%?y(>uP3y@jGMY}kGgbMtL_zx$F@FOs^Jq;@8$tx2jc zNiC6`R3go99~_Ap0oEh@5T|1Pg$W}uD zo8OFkcmO{R-XCwMJ|8fM;ye^9p9rxA29EzY-aI8Z8H||HLz^3gP!z7HiPq?VJ{X9J zn2N<%jzDZjIF8~j?&CE+px84WUZFSKF%}ar7YpJ4Oixxa5{7V`Ml|jr5$X5B<^vOxNWZW>=dWH-!c0 zJkNU7(z-p+Ez%x5(ACijCF)%CswGvMRWJ4Vqluh7C#z1XdZ}J?Hf2q7cab$z^K{ng zlb8B>5Km`B6V(vwm}4$_2oEs^o?Z+So5J^q7)I{B%^jmC6()r0&t`>_OMfx?}W7CmYshyj=u}u5V6?X0O zI&W4@G~Z8os6_20v89AR=`a;0)+I^MKj)S-cqelQ6xJc&u}E z=%tqCPXCc#+?)k z*0gJ=T`z6HGhK1#a?=ylKOC8`u~JY&l_E7PX^48JYmrY%%`8KAyRb^EnynJAhAK&F zNO{tJWayj>)}M7Lj^;oAWl8&LW8!Y1{?U$}A7L0;z{E|Os!1)Npoz1s8XM1o3HSpO zpSyu+BZ8B&)mgVW&c~$Ty3(wiC%u!J}@w&%Sp7`q|I<(R;HHe zU@}9F&?Y-F<*9veH1TW|=Dj=nzp4K9UsWp2S44ABlT%MS(Sq}94F4f^Q&bbKqAP_U zTC}22+!QT2C0!C-v|uNby7^D-_{YYycTOe?G^=^i!Z5p#$!ux$jU!S=HBTkm;OcC0 zRr-#1IpS;*r{kY^%J~&D>FH9vPRr`mYd5P?xmJrBEi1d#s@<$|-DYlXm0Q+rUaLk8 SH`m%Vo3=2_C}y%y_x}L93#jV= diff --git a/scp.c b/scp.c index 92f34869..2681d91b 100644 --- a/scp.c +++ b/scp.c @@ -759,7 +759,13 @@ static const char simh_help[] = " The RESTORE command (abbreviation REST, alternately GET) restores a\n" " previously saved simulator state:\n\n" "++RESTORE \n" - "3Notes:\n" + "4Switches\n" + " Switches can influence the output and behavior of the RESTORE command\n\n" + "++-Q Suppresses version warning messages\n" + "++-D Suppress detaching and attaching devices during a restore\n" + "++-F Overrides the related file timestamp validation check\n" + "\n" + "4Notes:\n" " 1) SAVE file format compresses zeroes to minimize file size.\n" " 2) The simulator can't restore active incoming telnet sessions to\n" " multiplexer devices, but the listening ports will be restored across a\n" @@ -5565,8 +5571,11 @@ DEVICE *dptr; UNIT *uptr; REG *rptr; struct stat rstat; -t_bool force_restore = sim_switches & SWMASK ('F'); +t_bool force_restore = ((sim_switches & SWMASK ('F')) != 0); +t_bool dont_detach_attach = ((sim_switches & SWMASK ('D')) != 0); +t_bool suppress_warning = ((sim_switches & SWMASK ('Q')) != 0); +sim_switches &= ~(SWMASK ('F') | SWMASK ('D') | SWMASK ('Q')); /* remove digested switches */ #define READ_S(xx) if (read_line ((xx), sizeof(xx), rfile) == NULL) \ return SCPE_IOERR; #define READ_I(xx) if (sim_fread (&xx, sizeof (xx), 1, rfile) == 0) \ @@ -5585,6 +5594,10 @@ else if (strcmp (buf, save_ver30) != 0) { /* version 3.0? */ sim_printf ("Invalid file version: %s\n", buf); return SCPE_INCOMP; } +if ((strcmp (buf, save_ver40) != 0) && (!sim_quiet) && (!suppress_warning)) { + sim_printf ("warning - attempting to restore a saved simulator image in %s image format.\n", buf); + sim_printf ("restore with the -Q switch to suppress this warning message\n"); + } READ_S (buf); /* read sim name */ if (strcmp (buf, sim_savename)) { /* name match? */ sim_printf ("Wrong system type: %s\n", buf); @@ -5615,14 +5628,16 @@ if (v40) { #define S_xstr(a) S_str(a) #define S_str(a) #a if ((memcmp (buf, "git commit id: " S_xstr(SIM_GIT_COMMIT_ID), 23)) && - (!sim_quiet)) { - sim_printf ("warning - different simulator git versions.\nSaved commit id: %8.8s, Running commit id: %8.8s", buf + 15, S_xstr(SIM_GIT_COMMIT_ID)); + (!sim_quiet) && (!suppress_warning)) { + sim_printf ("warning - different simulator git versions.\nSaved commit id: %8.8s, Running commit id: %8.8s\n", buf + 15, S_xstr(SIM_GIT_COMMIT_ID)); + sim_printf ("restore with the -Q switch to suppress this warning message\n"); } #undef S_str #undef S_xstr #endif } -detach_all (0, 0); /* Detach everything to start from a consistent state */ +if (!dont_detach_attach) + detach_all (0, 0); /* Detach everything to start from a consistent state */ for ( ;; ) { /* device loop */ READ_S (buf); /* read device name */ if (buf[0] == 0) /* last? */ @@ -5778,7 +5793,7 @@ for ( ;; ) { /* device loop */ units which were originally attached. Some of these attach operations may depend on the state of the device (in registers) to work correctly */ for (j=0, r = SCPE_OK; j