[comp.sys.nsc.32k] Minix bug fix

culberts@hplwbc.hpl.hp.com (Bruce Culbertson) (07/24/90)

This is a PC532 Minix bug fix.

John Connen plugged 8 megabytes into his pc532 and Minix ceased to run.
Klib32k.s has a routine, mem_size(), which does a write, read, and
compare in successive pages to find the end of RAM.  Unfortunately, I
didn't notice that the address decoding causes the RAM to re-appear
multiple times all the way up to 128M.  Minix thought it had found 128
megabytes of RAM and this caused it considerable trouble later on.  John
reports that the following fix makes Minix happy with either 4M or 8M.
Lets hope this works with 16M and 32M, also.

Kermit has been working reliably for me lately.  (I do not know why I
had trouble earlier.)  You might try Kermit as an alternate method
of loading your disk.

Bruce
------------------------- cut -------------------------------

CRC's

06990   4691 /tmp/tmp (old)
56041   5196 klib32k.s (new)

------------------------- cut -------------------------------
begin 666 klib32k.s.cdif
M*BHJ("]T;7 O=&UP"4UO;B!*=6P@,C,@,3 Z,#(Z-#,@,3DY, HM+2T@:VQI
M8C,R:RYS"4UO;B!*=6P@,C,@,3 Z,#(Z,3<@,3DY, HJ*BHJ*BHJ*BHJ*BHJ
M*BH**BHJ(#$P,"PQ,C8@*BHJ*@H@(#L@<F%M7W-I>F4@*'-T87)T*0H@(#L@
M8VAA<B J<W1A<G0["B @.PHA(#L@1&5T97)M:6YE<R!204T@<VEZ92X@($UO
M9&EF:65S(&9I<G-T(&5I9VAT(&)Y=&5S(&9R;VT*(2 [(&%R9W5M96YT('1O
M(&5N9"!O9B!204TN("!4>7!I8V%L;'D@8V%L;"!W:71H('-T87)T('!O:6YT
M:6YG"B$@.R!T;R!T:&4@9FER<W0@<&%G92!A9G1E<B!T:&4@96YD(&]F('EO
M=7(@<')O9W)A;2X@(%)E='5R;G,*(2 [(&$@<&]I;G1E<B!T;R!T:&4@9FER
M<W0@<&%G92!B97EO;F0@=&AE(&5N9"!O9B!204TN"B @.PH@(#L@4V5V97)A
M;"!T:&EN9W,@;6%K92!T:&ES('1R:6-K>2X@($9I<G-T+"!T:&4@=F%L=64@
M<F5A9"!F<F]M"B @.R!A;B!A9&1R97-S('=I;&P@8F4@=&AE('-A;64@=F%L
M=64@=W)I='1E;B!T;R!T:&4@861D<F5S<R!I9@H@(#L@=&AE(&-A8VAE(&ES
M(&]N("TM(')E9V%R9&QE<W,@;V8@=VAE=&AE<B!204T@:7,@;&]C871E9"!A
M= H@(#L@=&AE(&%D9')E<W,N("!(96YC92!T:&4@8V%C:&4@;75S="!B92!D
M:7-A8FQE9"X@(%-E8V]N9"P*(" [(')E861I;F<@86X@=6YP;W!U;&%T960@
M4D%-(&%D9')E<W,@:7,@;&EK96QY('1O('!R;V1U8V4@80HA(#L@<&%R:71Y
M(&5R<F]R+B @02!V86QU92!W<FET=&5N('1O(&%N('5N<&]P=6QA=&5D(&%D
M9')E<W,*(" [(&-A;B!B92!H96QD(&)Y(&-A<&%C:71A;F-E(&]N('1H92!B
M=7,@86YD(&-A;B!B92!C;W)R96-T;'D*(" [(')E860@8F%C:R!I9B!T:&5R
M92!I<R!N;R!I;G1E<G9E;FEN9R!B=7,@8WEC;&4N("!(96YC92P*(" [(')E
M860@86YD('=R:71E('1W;R!P871T97)N<RX*(" ["BT@.R!R, EC=7)R96YT
M('!A9V4*+2 [('(Q"6]L9"!C;VYF:6<@<F5G:7-T97(*+2 [('(R"7-C<F%T
M8V@*+2 [('(S"7!A='1E<FXP"0HM(#L@<C0)<&%T=&5R;C$*+2 [('(U"6]L
M9"!N;6D@=F5C=&]R"B @8V9G7V1C.@D)+F5Q=0EH)S(P, H@('!A9V5S>CH)
M"2YE<74):"<Q,# P"B @<&%T=&5R;C Z"2YE<74):"=A-6$U835A-0HM+2T@
M,3 P+#$R.2 M+2TM"B @.R!R86U?<VEZ92 H<W1A<G0I"B @.R!C:&%R("IS
M=&%R=#L*(" ["B$@.R!$971E<FUI;F5S(%)!32!S:7IE+@H@(#L**R [($9I
M<G-T(&%T=&5M<'0Z('=R:71E+6%N9"UR96%D+6)A8VL@*%=20BD@96%C:"!P
M86=E(&9R;VT@<W1A<G0**R [('5N=&EL(%=20B!F86EL<R!O<B!G970@82!P
M87)I='D@97)R;W(N("!4:&ES(&1I9&XG="!W;W)K(&)E8V%U<V4**R [(&%D
M9')E<W,@9&5C;V1I;F<@=W)A<',@87)O=6YD+@HK(#L**R [($YE=R!A;&=O
M<FET:&TZ"BL@.PHK(#L)<F5T(#T@<F]U;F0M=7 M<&%G92 H<W1A<G0I.PHK
M(#L@(&QO;W Z"BL@.PEI9B H(5=20B!O<B!P87)I='D@;W(@=W)A<"D@<F5T
M=7)N(')E=#L**R ["7)E=" K/2!P86=E<WH[(" O*B!C:&5C:R!E;F0@;V8@
M4D%-(&%T('!O=V5R<R!O9B!T=V\@*B\**R ["6=O=&\@;&]O<#L**R ["B @
M.R!3979E<F%L('1H:6YG<R!M86ME('1H:7,@=')I8VMY+B @1FER<W0L('1H
M92!V86QU92!R96%D(&9R;VT*(" [(&%N(&%D9')E<W,@=VEL;"!B92!T:&4@
M<V%M92!V86QU92!W<FET=&5N('1O('1H92!A9&1R97-S(&EF"B @.R!T:&4@
M8V%C:&4@:7,@;VX@+2T@<F5G87)D;&5S<R!O9B!W:&5T:&5R(%)!32!I<R!L
M;V-A=&5D(&%T"B @.R!T:&4@861D<F5S<RX@($AE;F-E('1H92!C86-H92!M
M=7-T(&)E(&1I<V%B;&5D+B @4V5C;VYD+ H@(#L@<F5A9&EN9R!A;B!U;G!O
M<'5L871E9"!204T@861D<F5S<R!I<R!L:6ME;'D@=&\@<')O9'5C92!A"B$@
M.R!P87)I='D@97)R;W(N("!4:&ER9"P@82!V86QU92!W<FET=&5N('1O(&%N
M('5N<&]P=6QA=&5D(&%D9')E<W,*(" [(&-A;B!B92!H96QD(&)Y(&-A<&%C
M:71A;F-E(&]N('1H92!B=7,@86YD(&-A;B!B92!C;W)R96-T;'D*(" [(')E
M860@8F%C:R!I9B!T:&5R92!I<R!N;R!I;G1E<G9E;FEN9R!B=7,@8WEC;&4N
M("!(96YC92P*(" [(')E860@86YD('=R:71E('1W;R!P871T97)N<RX*(" [
M"B @8V9G7V1C.@D)+F5Q=0EH)S(P, H@('!A9V5S>CH)"2YE<74):"<Q,# P
M"B @<&%T=&5R;C Z"2YE<74):"=A-6$U835A-0HJ*BHJ*BHJ*BHJ*BHJ*BH*
M*BHJ(#$R."PQ,SD@*BHJ*@H@(&YM:5]V96,Z"2YE<74):"<T- H@('!A<FET
M>5]C;'(Z"2YE<74):"<R.# P,# U, H@( H@(%]R86U?<VEZ93HZ"B$@"65N
M=&5R"5MR,2QR,BQR,RQR-"QR-5TL, H@( ES<')W"6-F9RQR,0D).W1U<FX@
M;V9F(&1A=&$@8V%C:&4*(2 );6]V=PER,2QR, D).W(Q(#T@;VQD(&-O;F9I
M9PHA( EA;F1W"6-O;2!C9F=?9&,L<C *(2 );'!R=PEC9F<L<C *(" );6]V
M9 E ;FUI7W9E8RQR-0D[<V%V92!O;&0@3DU)('9E8W1O<@H@( EA9&1R"71M
M<%]N;6DH<&,I+$!N;6E?=F5C"3MT;7 @3DU)('9E8W1O<@H@( EM;W9D"3@H
M9G I+'(P"3MR," ]('-T87)T"BTM+2 Q,S$L,34U("TM+2T*("!N;6E?=F5C
M.@DN97%U"6@G-#0*("!P87)I='E?8VQR.@DN97%U"6@G,C@P,# P-3 *(" *
M*R [('(P"6-U<G)E;G0@<&%G92P@<F5T=7)N('9A;'5E"BL@.R!R,0EO;&0@
M8V]N9FEG(')E9VES=&5R"BL@.R!R,@ET96UP(&-O;F9I9R!R96=I<W1E<@HK
M(#L@<C,)<&%T=&5R;C )"BL@.R!R- EP871T97)N,0HK(#L@<C4);VQD(&YM
M:2!V96-T;W(**R [('(V"7-A=F4@=V]R9"!A="! , HK(#L@<C<)<V%V92!W
M;W)D(&%T($ T"B @7W)A;5]S:7IE.CH*(2 )96YT97()6W(Q+'(R+'(S+'(T
M+'(U+'(V+'(W72PP"B$@"3L@:6YI=&EA;&EZ92!T:&EN9W,*(2 );6]V9 E 
M,"QR-@D).W-A=F4@."!B>71E<R!O9B!F:7)S="!P86=E"B$@"6UO=F0)0#0L
M<C<*(2 );6]V9 DP+$ P"0D[>F5R;R X(&)Y=&5S(&]F(&9I<G-T('!A9V4*
M(2 );6]V9 DP+$ T"B @"7-P<G<)8V9G+'(Q"0D[='5R;B!O9F8@9&%T82!C
M86-H90HA( EM;W9W"7(Q+'(R"0D[<C$@/2!O;&0@8V]N9FEG"B$@"6%N9'<)
M8V]M(&-F9U]D8RQR,@HA( EL<')W"6-F9RQR,@H@( EM;W9D"4!N;6E?=F5C
M+'(U"3MS879E(&]L9"!.34D@=F5C=&]R"B @"6%D9'()=&UP7VYM:2AP8RDL
M0&YM:5]V96,).W1M<"!.34D@=F5C=&]R"B @"6UO=F0)."AF<"DL<C ).W(P
M(#T@<W1A<G0**BHJ*BHJ*BHJ*BHJ*BHJ"BHJ*B Q-#(L,38T("HJ*BH*(" )
M;6]V9 EP871T97)N,"QR,PH@( EM;W9D"7!A='1E<FXQ+'(T"B @<GI?;&]O
M<#H*(2 );6]V9 ER,RPP*'(P*0D[=W)I=&4@<&%G90H@( EM;W9D"7(T+#0H
M<C I"B$@"7-P<G<)8V9G+'(R"0D[9FQU<V@@=W)I=&4@8G5F9F5R"B$@"6-M
M<&0)<C,L,"AR,"D).W)E860@<&%G90H@( EB;F4)<GI?97AI= HA( EC;7!D
M"7(T+#0H<C I"3MR96%D('!A9V4*(" )8FYE"7)Z7V5X:70*(" )861D<@EP
M86=E<WHH<C I+'(P"3MN97AT('!A9V4*(" )8G()<GI?;&]O< H@(')Z7V5X
M:70Z"B @"6QP<F0)8V9G+'(Q"0D[='5R;B!D871A(&-A8VAE(&)A8VL@;VX*
M(" );6]V9 ER-2Q ;FUI7W9E8PD[<F5S=&]R92!.34D@=F5C=&]R"B @"6UO
M=F0)<&%R:71Y7V-L<BQR,@H@( EM;W9B"3 H<C(I+'(R"3MC;&5A<B!P87)I
M='D@<W1A='5S"B$@"65X:70)6W(Q+'(R+'(S+'(T+'(U70H@( ER970), H@
M( H@('1M<%]N;6DZ"0D).V-O;64@:&5R92!I9B!P87)I='D@97)R;W(*(2 )
M861D<@E <GI?97AI="PT*'-P*0D[97AI="!R86U?<VEZ92@I(&%F=&5R(')E
M='0*(" )<F5T= DP"BTM+2 Q-3@L,3@V("TM+2T*(" );6]V9 EP871T97)N
M,"QR,PH@( EM;W9D"7!A='1E<FXQ+'(T"B @<GI?;&]O<#H*(2 );6]V9 ER
M,RPP*'(P*0D[=W)I=&4@."!B>71E<PH@( EM;W9D"7(T+#0H<C I"B$@"6QP
M<G<)8V9G+'(R"0D[9FQU<V@@=W)I=&4@8G5F9F5R"B$@"6-M<&0)<C,L,"AR
M,"D).W)E860@8F%C:R!A;F0@8V]M<&%R90H@( EB;F4)<GI?97AI= HA( EC
M;7!D"7(T+#0H<C I"B @"6)N90ER>E]E>&ET"BL@"6-M<'%D"3 L0# )"3MC
M:&5C:R!F;W(@861D<F5S<R!W<F%P"BL@"6)N90ER>E]E>&ET"BL@"6-M<'%D
M"3 L0#0)"3MC:&5C:R!F;W(@861D<F5S<R!W<F%P"BL@"6)N90ER>E]E>&ET
M"B @"6%D9'()<&%G97-Z*'(P*2QR, D[;F5X="!P86=E"B @"6)R"7)Z7VQO
M;W *("!R>E]E>&ET.@HK( EM;W9D"7(V+$ P"0D[<F5S=&]R92 X(&)Y=&5S
M(&]F(&9I<G-T('!A9V4**R );6]V9 ER-RQ - H@( EL<')D"6-F9RQR,0D)
M.W1U<FX@9&%T82!C86-H92!B86-K(&]N"B @"6UO=F0)<C4L0&YM:5]V96,)
M.W)E<W1O<F4@3DU)('9E8W1O<@H@( EM;W9D"7!A<FET>5]C;'(L<C(*(" )
M;6]V8@DP*'(R*2QR,@D[8VQE87(@<&%R:71Y('-T871U<PHA( EE>&ET"5MR
M,2QR,BQR,RQR-"QR-2QR-BQR-UT*(" )<F5T"3 *(" *("!T;7!?;FUI.@D)
M"3MC;VUE(&AE<F4@:68@<&%R:71Y(&5R<F]R"B$@"6%D9'()0')Z7V5X:70L
L-"AS<"D).VUO9&EF>2!R971U<FX@861D<B!T;R!E>&ET"B @"7)E='0), HL
 
end