3c507 broked in 2.1.x (including x=62 and x=0)/NFS noise

Greg Alexander (galexand@sietch.bloomington.in.us)
Sat, 8 Nov 1997 20:17:46 -0500 (EST)


this driver was never rewritten to use readw()/writew() and
memcpy_{from,to}io(), apparently. I have a patch against
drivers/net/3c507.c that apparently fixes it. It's included at the end of
this message in UUencoded form. It is relative to 2.1.62.
I'm getting a bit of NFS noise that is probably inconsequential...I'll
upgrade mount and try some stuff and report if anything actually fails to
work. so far I have a 386 netbooting off of my main machine just fine,
using BOOTP. It only has 4M RAM and all files are mounted over NFS, so this
is a good stress-test of low-memory management, the 3c507 net driver, and
NFS. I'll let you know in a day or two if it finishes...at least the swap
device is local. :) FWIW, the server is unfsd running on 2.0.30.

Anyways, please try this patch if you have a 3c507 and a 2.1 kernel. It's
working great for me, so it's probably safe to include into 2.1.63. It may
have been a better solution for me to have just bus_to_virt'd the
mem_end/mem_start at the beginning, but the notes in the 2.0.21->2.1.0 patch
suggested using readb/writeb/memcpy_fromio/_toio and friends, so I went
ahead and did that. In addition, my patch is not incredibly clean and is a
direct conversion, not cleaned up at all. The conversion could have been
scripted, for all intents and purposes. If you want me to clean it up, just
say so. If no one has any comments/refinements here, I'll probably just
clean it up a little bit and send it on to Linus in a week.

Inform me if this patch works, doesn't work, whatever. It shouldn't screw
anything else up, as it doesn't touch beyond 3c507.c. All that said, here's
the patch:

begin 600 3c507.patch
M+2TM(&1R:79E<G,O;F5T+S-C-3`W+F,N;W)I9PE3870@3F]V("`X(#$X.C$U
M.C0X(#$Y.3<**RLK(&1R:79E<G,O;F5T+S-C-3`W+F,)4V%T($YO=B`@."`Q
M.#HT,CHP,B`Q.3DW"D!`("TT-3@L-R`K-#4X+#<@0$`*(`D)"7)E='5R;B`Q
M.PH@"0EI9B`H;F5T7V1E8G5G(#X@,2D*(`D)"7!R:6YT:R@B)7,Z('1R86YS
M;6ET('1I;65D(&]U="P@)7,_("`B+"!D978M/FYA;64L"BT)"0D)("`@<VAM
M96U;:5-#0E]35$%455,^/C%=("8@,'@X,#`P(#\@(DE242!C;VYF;&EC="(@
M.@HK"0D)"2`@(')E861W*"9S:&UE;5MI4T-"7U-405154SX^,5TI("8@,'@X
M,#`P(#\@(DE242!C;VYF;&EC="(@.@H@"0D)"2`@(")N971W;W)K(&-A8FQE
M('!R;V)L96TB*3L*(`D)+RH@5')Y('1O(')E<W1A<G0@=&AE(&%D87!T;W(N
M("HO"B`)"6EF("AL<"T^;&%S=%]R97-T87)T(#T](&QP+3YS=&%T<RYT>%]P
M86-K971S*2!["D!`("TT-C@L-R`K-#8X+#<@0$`*(`D)?2!E;'-E('L*(`D)
M"2\J($ES<W5E('1H92!C:&%N;F5L(&%T=&5N=&EO;B!S:6=N86P@86YD(&AO
M<&4@:70@(F=E=',@8F5T=&5R(BX@*B\*(`D)"6EF("AN971?9&5B=6<@/B`Q
M*2!P<FEN=&LH(DMI8VMI;F<@8F]A<F0N7&XB*3L*+0D)"7-H;65M6VE30T)?
M0TU$/CXQ72`](#!X9C`P,'Q#54-?4U1!4E1\4EA?4U1!4E0["BL)"0EW<FET
M97<H,'AF,#`P?$-50U]35$%25'Q26%]35$%25"PF<VAM96U;:5-#0E]#340^
M/C%=*3L*(`D)"6]U=&(H,"P@:6]A9&1R("L@4TE'3D%,7T-!*3L)"0DO*B!)
M<W-U92!C:&%N;F5L+6%T=&XN("HO"B`)"0EL<"T^;&%S=%]R97-T87)T(#T@
M;'`M/G-T871S+G1X7W!A8VME=',["B`)"7T*0$`@+34R,"PW("LU,C`L-R!`
M0`H@"6QP(#T@*'-T<G5C="!N971?;&]C86P@*BED978M/G!R:78["B`)<VAM
M96T@/2`H*'5S:&]R="HI9&5V+3YM96U?<W1A<G0I.PH@"BT)<W1A='5S(#T@
M<VAM96U;:5-#0E]35$%455,^/C%=.PHK"7-T871U<R`](')E861W*"9S:&UE
M;5MI4T-"7U-405154SX^,5TI.PH@"B`):68@*&YE=%]D96)U9R`^(#0I('L*
M(`D)<')I;G1K*"(E<SH@,V,U,#<@:6YT97)R=7!T+"!S=&%T=7,@)30N-'@N
M7&XB+"!D978M/FYA;64L('-T871U<RD["D!`("TU,S$L-R`K-3,Q+#<@0$`*
M(`H@"2\J(%)E87`@=&AE(%1X('!A8VME="!B=69F97)S+B`J+PH@"7=H:6QE
M("AL<"T^='A?<F5A<"`A/2!L<"T^='A?:&5A9"D@>PHM"2`@=6YS:6=N960@
M<VAO<G0@='A?<W1A='5S(#T@<VAM96U;;'`M/G1X7W)E87`^/C%=.PHK"2`@
M=6YS:6=N960@<VAO<G0@='A?<W1A='5S(#T@<F5A9'<H)G-H;65M6VQP+3YT
M>%]R96%P/CXQ72D["B`*(`D@(&EF("AT>%]S=&%T=7,@/3T@,"D@>PH@"0EI
M9B`H;F5T7V1E8G5G(#X@-2D@('!R:6YT:R@B0V]U;&1N)W0@<F5A<"`E(W@N
M7&XB+"!L<"T^='A?<F5A<"D["D!`("TU.#8L,3$@*S4X-BPQ,2!`0`H@"0D)
M<')I;G1K*"(E<SH@4G@@=6YI="!S=&]P<&5D+"!S=&%T=7,@)3`T>"P@<F5S
M=&%R=&EN9RY<;B(L"B`)"0D)("`@9&5V+3YN86UE+"!S=&%T=7,I.PH@"0EI
M;FET7W)X7V)U9G,H9&5V*3L*+0D)<VAM96U;:5-#0E]21D$@/CX@,5T@/2!2
M6%]"549?4U1!4E0["BL)"7=R:71E=RA26%]"549?4U1!4E0L)G-H;65M6VE3
M0T)?4D9!(#X^(#%=*3L*(`D)86-K7V-M9"!\/2!26%]35$%25#L*(`E]"B`*
M+0ES:&UE;5MI4T-"7T--1#X^,5T@/2!A8VM?8VUD.PHK"7=R:71E=RAA8VM?
M8VUD+"9S:&UE;5MI4T-"7T--1#X^,5TI.PH@"6]U=&(H,"P@:6]A9&1R("L@
M4TE'3D%,7T-!*3L)"0DO*B!)<W-U92!C:&%N;F5L+6%T=&XN("HO"B`*(`DO
M*B!#;&5A<B!T:&4@;&%T8VAE9"!I;G1E<G)U<'0N("HO"D!`("TV,3$L-R`K
M-C$Q+#<@0$`*(`ED978M/G-T87)T(#T@,#L*(`H@"2\J($9L=7-H('1H92!4
M>"!A;F0@9&ES86)L92!2>"X@*B\*+0ES:&UE;5MI4T-"7T--1"`^/B`Q72`]
M(%)87U-54U!%3D0@?"!#54-?4U534$5.1#L**PEW<FET97<H4EA?4U534$5.
M1"!\($-50U]355-014Y$+"9S:&UE;5MI4T-"7T--1"`^/B`Q72D["B`);W5T
M8B@P+"!I;V%D9'(@*R!324=.04Q?0T$I.PH@"B`)+RH@1&ES86)L92!T:&4@
M.#(U.#8G<R!I;G!U="!T;R!T:&4@:6YT97)R=7!T(&QI;F4N("HO"D!`("TV
M-3$L,C0@*S8U,2PR-"!`0`H@"B`)("!W<FET95]P='(@/2`H=6YS:6=N960@
M<VAO<G0@*BDH9&5V+3YM96U?<W1A<G0@*R!C=7)?<GAB=68I.PH@"BT)"2IW
M<FET95]P='(K*R`](#!X,#`P,#L@"0D)"2\J(%-T871U<R`J+PHM"0DJ=W)I
M=&5?<'1R*RL@/2`P>#`P,#`["0D)"2\J($-O;6UA;F0@*B\*+0D)*G=R:71E
M7W!T<BLK(#T@8W5R7W)X8G5F("L@4EA?0E5&7U-)6D4[("\J($QI;FL@*B\*
M+0D)*G=R:71E7W!T<BLK(#T@8W5R7W)X8G5F("L@,C(["0DO*B!"=69F97(@
M;V9F<V5T("HO"BT)"2IW<FET95]P='(K*R`](#!X,#`P,#L@"0D)"2\J(%!A
M9"!F;W(@9&5S="!A9&1R+B`J+PHM"0DJ=W)I=&5?<'1R*RL@/2`P>#`P,#`[
M"BT)"2IW<FET95]P='(K*R`](#!X,#`P,#L*+0D)*G=R:71E7W!T<BLK(#T@
M,'@P,#`P.R`)"0D)+RH@4&%D(&9O<B!S;W5R8V4@861D<BX@*B\*+0D)*G=R
M:71E7W!T<BLK(#T@,'@P,#`P.PHM"0DJ=W)I=&5?<'1R*RL@/2`P>#`P,#`[
M"BT)"2IW<FET95]P='(K*R`](#!X,#`P,#L)"0D)+RH@4&%D(&9O<B!P<F]T
M;V-O;"X@*B\*+0HM"0DJ=W)I=&5?<'1R*RL@/2`P>#`P,#`["0D)"2\J($)U
M9F9E<CH@06-T=6%L(&-O=6YT("HO"BT)"2IW<FET95]P='(K*R`]("TQ.PD)
M"0D)+RH@0G5F9F5R.B!.97AT("AN;VYE*2X@*B\*+0D)*G=R:71E7W!T<BLK
M(#T@8W5R7W)X8G5F("L@,'@R,"`K(%-#0E]B87-E.PDO*B!"=69F97(Z($%D
M9')E<W,@;&]W("HO"BT)"2IW<FET95]P='(K*R`](#!X,#`P,#L**PD)=W)I
M=&5W*#!X,#`P,"QW<FET95]P='(K*RD["0D)+RH@4W1A='5S("HO"BL)"7=R
M:71E=R@P>#`P,#`L=W)I=&5?<'1R*RLI.PD)"2\J($-O;6UA;F0@*B\**PD)
M=W)I=&5W*&-U<E]R>&)U9B`K(%)87T)51E]325I%+'=R:71E7W!T<BLK*3L)
M+RH@3&EN:R`J+PHK"0EW<FET97<H8W5R7W)X8G5F("L@,C(L=W)I=&5?<'1R
M*RLI.PD)+RH@0G5F9F5R(&]F9G-E="`J+PHK"0EW<FET97<H,'@P,#`P+'=R
M:71E7W!T<BLK*3L)"0DO*B!0860@9F]R(&1E<W0@861D<BX@*B\**PD)=W)I
M=&5W*#!X,#`P,"QW<FET95]P='(K*RD["BL)"7=R:71E=R@P>#`P,#`L=W)I
M=&5?<'1R*RLI.PHK"0EW<FET97<H,'@P,#`P+'=R:71E7W!T<BLK*3L)"0DO
M*B!0860@9F]R('-O=7)C92!A9&1R+B`J+PHK"0EW<FET97<H,'@P,#`P+'=R
M:71E7W!T<BLK*3L**PD)=W)I=&5W*#!X,#`P,"QW<FET95]P='(K*RD["BL)
M"7=R:71E=R@P>#`P,#`L=W)I=&5?<'1R*RLI.PD)"2\J(%!A9"!F;W(@<')O
M=&]C;VPN("HO"BL**PD)=W)I=&5W*#!X,#`P,"QW<FET95]P='(K*RD["0D)
M+RH@0G5F9F5R.B!!8W1U86P@8V]U;G0@*B\**PD)=W)I=&5W*"TQ+'=R:71E
M7W!T<BLK*3L)"0D)+RH@0G5F9F5R.B!.97AT("AN;VYE*2X@*B\**PD)=W)I
M=&5W*&-U<E]R>&)U9B`K(#!X,C`@*R!30T)?8F%S92QW<FET95]P='(K*RD[
M+RH@0G5F9F5R.B!!9&1R97-S(&QO=R`J+PHK"0EW<FET97<H,'@P,#`P+'=R
M:71E7W!T<BLK*3L*(`D)+RH@1FEN86QL>2P@=&AE(&YU;6)E<B!O9B!B>71E
M<R!I;B!T:&4@8G5F9F5R+B`J+PHM"0DJ=W)I=&5?<'1R*RL@/2`P>#@P,#`@
M*R!26%]"549?4TE:12TP>#(P.PHK"0EW<FET97<H,'@X,#`P("L@4EA?0E5&
M7U-)6D4M,'@R,"QW<FET95]P='(K*RD["B`*(`D);'`M/G)X7W1A:6P@/2!C
M=7)?<GAB=68["B`)"6-U<E]R>&)U9B`K/2!26%]"549?4TE:13L*0$`@+38W
M."PY("LV-S@L."!`0`H@"2`@('1H92!L:7-T(&$@<FEN9RX@*B\*(`EW<FET
M95]P='(@/2`H=6YS:6=N960@<VAO<G0@*BD*(`D@("AD978M/FUE;5]S=&%R
M="`K(&QP+3YR>%]T86EL("L@,BD["BT)*G=R:71E7W!T<BLK(#T@,'A#,#`P
M.PD)"0D)+RH@0V]M;6%N9"P@;6%R:R!A<R!L87-T+B`J+PHM"2IW<FET95]P
M='(K*R`](&QP+3YR>%]H96%D.PD)"0DO*B!,:6YK("HO"BT**PEW<FET97<H
M,'A#,#`P+'=R:71E7W!T<BLK*3L)"0D)+RH@0V]M;6%N9"P@;6%R:R!A<R!L
M87-T+B`J+PHK"7=R:71E=RAL<"T^<GA?:&5A9"QW<FET95]P='(K*RD["0D)
M+RH@3&EN:R`J+PH@?0H@"B!S=&%T:6,@=F]I9"!I;FET7S@R-3@V7VUE;2AS
M=')U8W0@9&5V:6-E("ID978I"D!`("TV.3@L,3,@*S8Y-RPQ,R!`0`H@"6EN
M:71?=V]R9'-;-UT@/2!30T)?0D%313L*(`H@"2\J(%=R:71E('1H92!W;W)D
M<R!A="`P>&9F9C8@*&%D9')E<W,M86QI87-E9"!T;R`P>&9F9F9F-BDN("HO
M"BT);65M8W!Y*"AV;VED*BED978M/FUE;5]E;F0M,3`L(&EN:71?=V]R9',L
M(#$P*3L**PEM96UC<'E?=&]I;R@H=F]I9"HI9&5V+3YM96U?96YD+3$P+"!I
M;FET7W=O<F1S+"`Q,"D["B`*(`DO*B!7<FET92!T:&4@=V]R9',@870@,'@P
M,#`P+B`J+PHM"6UE;6-P>2@H8VAA<BHI9&5V+3YM96U?<W1A<G0L(&EN:71?
M=V]R9',@*R`U+"!S:7IE;V8H:6YI=%]W;W)D<RD@+2`Q,"D["BL);65M8W!Y
M7W1O:6\H*&-H87(J*61E=BT^;65M7W-T87)T+"!I;FET7W=O<F1S("L@-2P@
M<VEZ96]F*&EN:71?=V]R9',I("T@,3`I.PH@"B`)+RH@1FEL;"!I;B!T:&4@
M<W1A=&EO;B!A9&1R97-S+B`J+PHM"6UE;6-P>2@H8VAA<BHI9&5V+3YM96U?
M<W1A<G0K4T%?3T9&4T54+"!D978M/F1E=E]A9&1R+`HK"6UE;6-P>5]T;VEO
M*"AC:&%R*BED978M/FUE;5]S=&%R="M305]/1D93150L(&1E=BT^9&5V7V%D
M9'(L"B`)"2`@('-I>F5O9BAD978M/F1E=E]A9&1R*2D["B`*(`DO*B!4:&4@
M5'@M8FQO8VL@;&ES="!I<R!W<FET=&5N(&%S(&YE961E9"X@(%=E(&IU<W0@
M<V5T('5P('1H92!V86QU97,N("HO"D!`("TW,C(L,3$@*S<R,2PQ,2!`0`H@
M"B`)>PH@"0EI;G0@8F]G=7-C;G0@/2`U,#L*+0D)=VAI;&4@*'-H;65M6VE3
M0T)?4U1!5%53/CXQ72`]/2`P*0HK"0EW:&EL92`H<F5A9'<H)G-H;65M6VE3
M0T)?4U1!5%53/CXQ72D@/3T@,"D*(`D)"6EF("@M+6)O9W5S8VYT(#T](#`I
M('L*(`D)"0EP<FEN=&LH(B5S.B!I.#(U.#8@:6YI=&EA;&EZ871I;VX@=&EM
M960@;W5T('=I=&@@<W1A='5S("4P-'@L(@H@"0D)"0D@("`B8VUD("4P-'@N
M7&XB+"!D978M/FYA;64L"BT)"0D)"2`@('-H;65M6VE30T)?4U1!5%53/CXQ
M72P@<VAM96U;:5-#0E]#340^/C%=*3L**PD)"0D)("`@<F5A9'<H)G-H;65M
M6VE30T)?4U1!5%53/CXQ72DL(')E861W*"9S:&UE;5MI4T-"7T--1#X^,5TI
M*3L*(`D)"0EB<F5A:SL*(`D)"7T*(`D)+RH@27-S=64@8VAA;FYE;"UA='1N
M("TM('1H92`X,C4X-B!W;VXG="!S=&%R="X@*B\*0$`@+3<S-RPW("LW,S8L
M-R!`0`H@"6]U=&(H,'@X-"P@:6]A9&1R("L@34E30U]#5%),*3L*(`EI9B`H
M;F5T7V1E8G5G(#X@-"D*(`D)<')I;G1K*"(E<SH@26YI=&EA;&EZ960@.#(U
M.#8L('-T871U<R`E,#1X+EQN(BP@9&5V+3YN86UE+`HM"0D)("`@<VAM96U;
M:5-#0E]35$%455,^/C%=*3L**PD)"2`@(')E861W*"9S:&UE;5MI4T-"7U-4
M05154SX^,5TI*3L*(`ER971U<FX["B!]"B`*0$`@+3<T.2PR-R`K-S0X+#(W
M($!`"B`)=7-H;W)T("IW<FET95]P='(@/0D@("AU<VAO<G0@*BDH9&5V+3YM
M96U?<W1A<G0@*R!T>%]B;&]C:RD["B`*(`DO*B!3970@=&AE('=R:71E('!O
M:6YT97(@=&\@=&AE(%1X(&)L;V-K+"!A;F0@<'5T(&]U="!T:&4@:&5A9&5R
M+B`J+PHM"2IW<FET95]P='(K*R`](#!X,#`P,#L)"0D)+RH@5'@@<W1A='5S
M("HO"BT)*G=R:71E7W!T<BLK(#T@0TU$7TE.5%)\0VUD5'@["0DO*B!4>"!C
M;VUM86YD("HO"BT)*G=R:71E7W!T<BLK(#T@='A?8FQO8VLK,38["0D)+RH@
M3F5X="!C;VUM86YD(&ES(&$@3F]/<"X@*B\*+0DJ=W)I=&5?<'1R*RL@/2!T
M>%]B;&]C:RLX.PD)"2\J($1A=&$@0G5F9F5R(&]F9G-E="X@*B\**PEW<FET
M97<H,'@P,#`P+'=R:71E7W!T<BLK*3L)"0DO*B!4>"!S=&%T=7,@*B\**PEW
M<FET97<H0TU$7TE.5%)\0VUD5'@L=W)I=&5?<'1R*RLI.PD)+RH@5'@@8V]M
M;6%N9"`J+PHK"7=R:71E=RAT>%]B;&]C:RLQ-BQW<FET95]P='(K*RD["0DO
M*B!.97AT(&-O;6UA;F0@:7,@82!.;T]P+B`J+PHK"7=R:71E=RAT>%]B;&]C
M:RLX+'=R:71E7W!T<BLK*3L)"0DO*B!$871A($)U9F9E<B!O9F9S970N("HO
M"B`*(`DO*B!/=71P=70@=&AE(&1A=&$@8G5F9F5R(&1E<V-R:7!T;W(N("HO
M"BT)*G=R:71E7W!T<BLK(#T@;&5N9W1H('P@,'@X,#`P.PD)+RH@0GET92!C
M;W5N="!P87)A;65T97(N("HO"BT)*G=R:71E7W!T<BLK(#T@+3$["0D)"0DO
M*B!.;R!N97AT(&1A=&$@8G5F9F5R+B`J+PHM"2IW<FET95]P='(K*R`]('1X
M7V)L;V-K*S(R*U-#0E]"05-%.R\J($)U9F9E<B!F;VQL;W=S('1H92!.;T]P
M(&-O;6UA;F0N("HO"BT)*G=R:71E7W!T<BLK(#T@,'@P,#`P.PD)"0DO*B!"
M=69F97(@861D<F5S<R!H:6=H(&)I=',@*&%L=V%Y<R!Z97)O*2X@*B\**PEW
M<FET97<H;&5N9W1H('P@,'@X,#`P+'=R:71E7W!T<BLK*3L)"2\J($)Y=&4@
M8V]U;G0@<&%R86UE=&5R+B`J+PHK"7=R:71E=R@M,2QW<FET95]P='(K*RD[
M"0D)"2\J($YO(&YE>'0@9&%T82!B=69F97(N("HO"BL)=W)I=&5W*'1X7V)L
M;V-K*S(R*U-#0E]"05-%+'=R:71E7W!T<BLK*3L)+RH@0G5F9F5R(&9O;&QO
M=W,@=&AE($YO3W`@8V]M;6%N9"X@*B\**PEW<FET97<H,'@P,#`P+'=R:71E
M7W!T<BLK*3L)"0DO*B!"=69F97(@861D<F5S<R!H:6=H(&)I=',@*&%L=V%Y
M<R!Z97)O*2X@*B\*(`H@"2\J($]U='!U="!T:&4@3&]O<"UB86-K($YO3W`@
M8V]M;6%N9"X@*B\*+0DJ=W)I=&5?<'1R*RL@/2`P>#`P,#`["0D)"2\J(%1X
M('-T871U<R`J+PHM"2IW<FET95]P='(K*R`]($-M9$Y/<#L)"0D)+RH@5'@@
M8V]M;6%N9"`J+PHM"2IW<FET95]P='(K*R`]('1X7V)L;V-K*S$V.PD)"2\J
M($YE>'0@:7,@;7ES96QF+B`J+PHK"7=R:71E=R@P>#`P,#`L=W)I=&5?<'1R
M*RLI.PD)"2\J(%1X('-T871U<R`J+PHK"7=R:71E=RA#;61.3W`L=W)I=&5?
M<'1R*RLI.PD)"2\J(%1X(&-O;6UA;F0@*B\**PEW<FET97<H='A?8FQO8VLK
M,38L=W)I=&5?<'1R*RLI.PD)+RH@3F5X="!I<R!M>7-E;&8N("HO"B`*(`DO
M*B!/=71P=70@=&AE('!A8VME="!A="!T:&4@=W)I=&4@<&]I;G1E<BX@*B\*
M+0EM96UC<'DH=W)I=&5?<'1R+"!B=68L(&QE;F=T:"D["BL);65M8W!Y7W1O
M:6\H=W)I=&5?<'1R+"!B=68L(&QE;F=T:"D["B`*(`DO*B!3970@=&AE(&]L
M9"!C;VUM86YD(&QI;FL@<&]I;G1I;F<@=&\@=&AI<R!S96YD('!A8VME="X@
M*B\*+0DJ*'5S:&]R="HI*&1E=BT^;65M7W-T87)T("L@;'`M/G1X7V-M9%]L
M:6YK*2`]('1X7V)L;V-K.PHK"7=R:71E=RAT>%]B;&]C:RPH9&5V+3YM96U?
M<W1A<G0@*R!L<"T^='A?8VUD7VQI;FLI*3L*(`EL<"T^='A?8VUD7VQI;FL@
M/2!T>%]B;&]C:R`K(#(P.PH@"B`)+RH@4V5T('1H92!N97AT(&9R964@='@@
M<F5G:6]N+B`J+PI`0"`M-SDU+#$S("LW.30L,3,@0$`*(`EU<VAO<G0@8F]G
M=7-C;W5N="`](#$P.PH@"7-H;W)T(&9R86UE7W-T871U<SL*(`HM"7=H:6QE
M("@H9G)A;65?<W1A='5S(#T@<VAM96U;<GA?:&5A9#X^,5TI(#P@,"D@>R`@
M("\J($-O;6UA;F0@8V]M<&QE=&4@*B\**PEW:&EL92`H*&9R86UE7W-T871U
M<R`](')E861W*"9S:&UE;5MR>%]H96%D/CXQ72DI(#P@,"D@>R`@("\J($-O
M;6UA;F0@8V]M<&QE=&4@*B\*(`D)=7-H;W)T("IR96%D7V9R86UE(#T@("AS
M:&]R="`J*2AD978M/FUE;5]S=&%R="`K(')X7VAE860I.PHM"0EU<VAO<G0@
M<F9D7V-M9"`](')E861?9G)A;65;,5T["BT)"75S:&]R="!N97AT7W)X7V9R
M86UE(#T@<F5A9%]F<F%M95LR73L*+0D)=7-H;W)T(&1A=&%?8G5F9F5R7V%D
M9'(@/2!R96%D7V9R86UE6S-=.PHK"0EU<VAO<G0@<F9D7V-M9"`](')E861W
M*"9R96%D7V9R86UE6S%=*3L**PD)=7-H;W)T(&YE>'1?<GA?9G)A;64@/2!R
M96%D=R@F<F5A9%]F<F%M95LR72D["BL)"75S:&]R="!D871A7V)U9F9E<E]A
M9&1R(#T@<F5A9'<H)G)E861?9G)A;65;,UTI.PH@"0EU<VAO<G0@*F1A=&%?
M9G)A;64@/2`H<VAO<G0@*BDH9&5V+3YM96U?<W1A<G0@*R!D871A7V)U9F9E
M<E]A9&1R*3L*+0D)=7-H;W)T('!K=%]L96X@/2!D871A7V9R86UE6S!=.PHK
M"0EU<VAO<G0@<&MT7VQE;B`](')E861W*"9D871A7V9R86UE6S!=*3L*(`H@
M"0EI9B`H<F9D7V-M9"`A/2`P('Q\(&1A=&%?8G5F9F5R7V%D9'(@(3T@<GA?
M:&5A9"`K(#(R"B`)"0E\?"`H<&MT7VQE;B`F(#!X0S`P,"D@(3T@,'A#,#`P
M*2!["D!`("TX,S,L-R`K.#,R+#<@0$`*(`D)"7-K8BT^9&5V(#T@9&5V.PH@
M"B`)"0DO*B`G<VMB+3YD871A)R!P;VEN=',@=&\@=&AE('-T87)T(&]F('-K
M7V)U9F8@9&%T82!A<F5A+B`J+PHM"0D);65M8W!Y*'-K8E]P=70H<VMB+'!K
M=%]L96XI+"!D871A7V9R86UE("L@-2P@<&MT7VQE;BD["BL)"0EM96UC<'E?
M9G)O;6EO*'-K8E]P=70H<VMB+'!K=%]L96XI+"!D871A7V9R86UE("L@-2P@
M<&MT7VQE;BD["B`*(`D)"7-K8BT^<')O=&]C;VP]971H7W1Y<&5?=')A;G,H
M<VMB+&1E=BD["B`)"0EN971I9E]R>"AS:V(I.PI`0"`M.#0Q+#$P("LX-#`L
M,3`@0$`*(`D)?0H@"B`)"2\J($-L96%R('1H92!S=&%T=7,@=V]R9"!A;F0@
M<V5T($5N9"UO9BU,:7-T(&]N('1H92!R>"!F<F%M92X@*B\*+0D)<F5A9%]F
M<F%M95LP72`](#`["BT)"7)E861?9G)A;65;,5T@/2`P>$,P,#`["BL)"7=R
M:71E=R@P+"9R96%D7V9R86UE6S!=*3L**PD)=W)I=&5W*#!X0S`P,"PF<F5A
M9%]F<F%M95LQ72D["B`)"2\J($-L96%R('1H92!E;F0M;V8M;&ES="!O;B!T
M:&4@<')E=BX@4D9$+B`J+PHM"0DJ*'-H;W)T*BDH9&5V+3YM96U?<W1A<G0@
M*R!R>%]T86EL("L@,BD@/2`P>#`P,#`["BL)"7=R:71E=R@P>#`P,#`L*&1E
M=BT^;65M7W-T87)T("L@<GA?=&%I;"`K(#(I*3L*(`H@"0ER>%]T86EL(#T@
E<GA?:&5A9#L*(`D)<GA?:&5A9"`](&YE>'1?<GA?9G)A;64["@``
`
end

Greg Alexander - also <gralexan@indiana.edu> - http://sietch.home.ml.org/
----
"What is the best manner in which to seek the nonexistant?" asked a
young man of a wise man.
"All methods are equally wrotten except those which succeed, those
are the ones to be feared," responded the wise man.
-- Rare saying