[0263] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 01/01/92 01:41 (17 lines) Subject: Re: shoelace Date: Tue, 31 Dec 91 22:36:19 PST From: pmacdona@sanjuan.UVic.CA (Peter MacDonald) To: linux-activists@joker.cs.hut.fi In order to use shoelace under linux, someone will have to compile laceup.c. If someone does this, I will post the other components that have been compiled under minix. A more reasonable method would be to just adapt that portion that selects the menu of which partition to boot, and make that part of the linux distribution. This is particularly so since, linux and minix treat device number/names differently. Integrating the boot code is important because linux will be going to a differnt file system (bigger) than minix, which will use 32 bit inode pointers instead of 16 bit ones. --[0263]-- [0264] daemon@ATHENA.MIT.EDU (drew@kinglear.cs.Colorado.EDU) Linux_Activists 01/01/92 15:21 (22 lines) Subject: Re: Porting g++ 1.40.3 To: Wolfgang Thiel , In-Reply-To: Your message of Thu, 26 Dec 91 04:02:45 +0700. Date: Wed, 01 Jan 92 13:14:17 MST From: drew@kinglear.cs.Colorado.EDU -------- Hi, Did somebody else try to port g++-1.40.3 to linux? I am having problems with the estdio FILE structure. I tried the MASSCOMP define, setting __rend -------- Gcc 2.0 is imminient. Some one in our CS department is playing with a beta version, and although I'm unsure of the release date, it may be installed before next semester. Gcc and g++ also become one product in 2.0. Save the trouble of porting another gcc in the future, and do it when 2.0 is available. Then send in diffs to the config files to the gnu people, any conditionaly compiled code in any source files (should be unecessary) and have it part of the standard gcc distribution. --[0264]-- [0265] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 01/01/92 17:06 (81 lines) Subject: Re: VC distribution probs. Date: Wed, 1 Jan 92 14:03:53 PST From: pmacdona@sanjuan.UVic.CA (Peter MacDonald) To: linux-activists@joker.cs.hut.fi Thanks to John Schutz for finding the bootsect.s ommission. Move bootsect.s to bootsect.S and apply the following patch. Its purpose is to avoid defining the same constants in two different places. *** boot/bootsect.s.orig Tue Dec 24 23:15:32 1991 --- boot/bootsect.S Tue Dec 24 23:22:17 1991 *************** *** 3,9 **** ! 0x3000 is 0x30000 bytes = 196kB, more than enough for current ! versions of linux ! ! SYSSIZE = 0x3000 ! ! bootsect.s (C) 1991 Linus Torvalds ! --- 3,10 ---- ! 0x3000 is 0x30000 bytes = 196kB, more than enough for current ! versions of linux ! ! #include ! SYSSIZE = DEF_SYSSIZE ! ! bootsect.s (C) 1991 Linus Torvalds ! *************** *** 33,41 **** SETUPLEN = 4 ! nr of setup-sectors BOOTSEG = 0x07c0 ! original address of boot-sector ! INITSEG = 0x9000 ! we move boot here - out of the way ! SETUPSEG = 0x9020 ! setup starts here ! SYSSEG = 0x1000 ! system loaded at 0x10000 (65536). ENDSEG = SYSSEG + SYSSIZE ! where to stop loading ! ROOT_DEV: 0x000 - same type of floppy as boot. --- 34,42 ---- SETUPLEN = 4 ! nr of setup-sectors BOOTSEG = 0x07c0 ! original address of boot-sector ! INITSEG = DEF_INITSEG ! we move boot here - out of the way ! SETUPSEG = DEF_SETUPSEG ! setup starts here ! SYSSEG = DEF_SYSSEG ! system loaded at 0x10000 (65536). ENDSEG = SYSSEG + SYSSIZE ! where to stop loading ! ROOT_DEV: 0x000 - same type of floppy as boot. *** tools/build.c.orig Tue Dec 24 23:22:59 1991 --- tools/build.c Tue Dec 24 23:23:38 1991 *************** *** 26,31 **** --- 26,32 ---- #include /* unistd.h needs this */ #include #include + #include #include /* contains read/write */ #include *************** *** 32,38 **** #define MINIX_HEADER 32 #define GCC_HEADER 1024 ! #define SYS_SIZE 0x3000 #define DEFAULT_MAJOR_ROOT 3 #define DEFAULT_MINOR_ROOT 6 --- 33,39 ---- #define MINIX_HEADER 32 #define GCC_HEADER 1024 ! #define SYS_SIZE DEF_SYSSIZE #define DEFAULT_MAJOR_ROOT 3 #define DEFAULT_MINOR_ROOT 6 --[0265]-- [0266] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 01/01/92 18:51 (34 lines) Subject: gcc 2.0 Date: Thu, 2 Jan 1992 01:47:37 +0200 From: Linus Benedict Torvalds To: Linux-activists@joker.cs.hut.fi drew@kinglear.cs.Colorado.EDU: "Re: Porting g++ 1.40.3" (Jan 1, 13:14): > > Gcc 2.0 is imminient. Some one in our CS department is playing with a beta > version, and although I'm unsure of the release date, it may be installed > before next semester. Gcc and g++ also become one product in 2.0. > > Save the trouble of porting another gcc in the future, and do it when 2.0 > is available. Then send in diffs to the config files to the gnu people, > any conditionaly compiled code in any source files (should be > unecessary) and have it part of the standard gcc distribution. I've also been fooling around a bit with a beta version of gcc-2.0 - that's the reason I wanted to have some kind of 387-emulation in 0.12. I can happily report that cc1 compiles without changes, but the version I compiled sometimes aborts without any error message (not due to linux: it does the same thing on a Sun). In any case it seems that with the 387 emulation in place, gcc-2.0 shouldn't need any difficult porting: it compiled at once after "./configure --gas i386-gas-sysv", and after I removed a "-lPW" and a "-g" from the Makefile. This all leads up to the sad thing: gcc-2.0 is /a lot/ bigger than 1.40: the binary is about 800kB for cc1 alone, and with all the C++ files, I won't be able to port the whole thing after all, due to lack of disk space. I gave it one whole 20M partition, and wasn't able to compile more than the C-part before it ran out of space. I'd guess you'll need at least 25M free to get everything compiled. That's why I have been working on the 387-emu: at least whoever ports gcc-2.0 won't have to trouble with the floating-point patches. Linus --[0266]-- [0267] daemon@ATHENA.MIT.EDU (John R. Schutz) Linux_Activists 01/01/92 22:26 (22 lines) Subject: More VC distribution problems From: john@csrnxt1.ae.utexas.edu (John R. Schutz) To: linux-activists@joker.cs.hut.fi Date: Wed, 1 Jan 92 21:18:52 CST It's possible that I missed this in the patches somewhere, but the following needs to be added to your include/linux/config.h file: #define DEF_INITSEG 0x9000 #define DEF_SYSSEG 0x1000 #define DEF_SETUPSEG 0x9020 #define DEF_SYSSIZE 0x3000 I would have liked to make a diff file, but since I'm a complete loser who doesn't know how to use diff, I didn't. john -- | John R. Schutz | Email&NeXTmail: | | A learning NeXTie | john@csrnxt1.ae.utexas.edu | | (512)328-0587 | "We are all victims of dead men." | | 3009 Hatley Dr., Austin, TX 78746 | -Charles Fuller | --[0267]-- [0268] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 01/02/92 01:42 (54 lines) Subject: VC Date: Wed, 1 Jan 92 22:40:45 PST From: pmacdona@sanjuan.UVic.CA (Peter MacDonald) To: linux-activists@joker.cs.hut.fi Now you know why I am posting this before sending it to Linus. Perhaps I should explain. Disk space for me is extremely tight, and I do not have enough to do a test patch before posting. I have to do incredible contortions just to get this done. But with your help, hopefully Linux will not have any serious problems. Here is the patches to, not one, but two files. *** include/linux/fs.h.orig Wed Dec 25 19:32:44 1991 --- include/linux/fs.h Wed Dec 25 19:34:39 1991 *************** *** 22,28 **** */ #define IS_SEEKABLE(x) ((x)>=1 && (x)<=3) - #define READ 0 #define WRITE 1 #define READA 2 /* read-ahead - don't pause */ --- 22,27 ---- *************** *** 62,67 **** --- 61,71 ---- #define PIPE_FULL(inode) (PIPE_SIZE(inode)==(PAGE_SIZE-1)) #define INC_PIPE(head) \ __asm__("incl %0\n\tandl $4095,%0"::"m" (head)) + + #define NIL_FILP ((struct file *)0) + #define SEL_IN 1 + #define SEL_OUT 2 + #define SEL_EX 4 typedef char buffer_block[BLOCK_SIZE]; *** include/linux/config.h.orig Tue Dec 24 23:18:14 1991 --- include/linux/config.h Tue Dec 24 23:49:25 1991 *************** *** 44,48 **** --- 44,55 ---- If you want the BIOS to tell what kind of drive you have, just leave HD_TYPE undefined. This is the normal thing to do. */ + #define VIDEO_VGA_50_LINES + + /* Don't touch these, unless you really know what your doing. */ + #define DEF_INITSEG 0x9000 + #define DEF_SYSSEG 0x1000 + #define DEF_SETUPSEG 0x9020 + #define DEF_SYSSIZE 0x3000 #endif --[0268]-- [0269] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 01/02/92 19:07 (97 lines) Subject: Final version of the job control patches.... Date: Thu, 2 Jan 92 19:00:19 -0500 From: tytso@ATHENA.MIT.EDU (Theodore Ts'o) To: Linux-activists@joker.cs.hut.fi Reply-To: tytso@athena.mit.edu The final copy of my job control patches to Linux 0.11 have been sent to Linus; if you want an early peek at them, look in tsx-11.mit.edu:/ALPHA/jobcontrol. The following is the NOTES file from that directory: New Features added by these patches * Job control (setpgrp(), tcsetpgrp(), signals, wait(), etc.) * gethostname(), sethostname() - try using the included hostname program! * getrusage() - not completely implemented, but the skeleton is in place. * getrlimit(), setrlimit() - try using the ulimit command in bash! - nothing looks at the limits yet, though * gettimeofday(), settimeofday() - for that microsecond accuracy some people demand :-) (well, 0.01 second accuracy, actually....) Notes about patches: 1) I integrated in John Kohl's patches to tty_io.c, since I had also made changes, and at least one of his patches depended on my patch being made first. I have included the other patches which he sent to me as separate patches in separate files, in case you did not get a copy from him. 2) I changed the name of system_call.s to sys_call.s, since system_call.s is too long for RCS and !@#$! 14 character filenames. You should either also make this change (and modify the Makefile appropriately) or edit the patch file to change the filename back to system_call.s 3) Currently, MAXHOSTNAMELEN is set at 8 characters. I think it should be changed to 64 characters (change in sys/param.h), to make it like BSD. Unfortunately, doing this will require recompiling libc.a and the shell, since it uses the uname() system call. Not a big deal, but it means that when you boot with the new kernel, you need to make sure you have the right version of /bin/sh installed. 4) When we add time zone support into the library, we will need to do something about how Linux sets the time from the CMOS registers. The problem is that the CMOS clock ticks localtime, and POSIX specifies that we should be ticking GMT time. Currently, we're not, so it's not a problem; but once we start including TZ routines in the libc, we will need to deal with it. My attempt to solve the problem can be found in sys.c: adjust_time(). I don't like the solution all that much, but it's the best I could think of at the time. Things to think about: A) Perhaps the task_struct should go in malloc()'ed memory. This will free close to 1k for the kernel stack. We may not need to do it now, but as more things get added to the task_struct (like BSD-style group lists, etc.), and as the kernel gets more complicated (for example, when networking code is added), I suspect we will need to do it sooner or later. B) Speaking of which, I haven't looked at the new VM stuff that does paging. Does the malloc() routine still work, or will it need to be modified to coexist with paging? C) Another good idea would be to unify the buffer management and the free pool memory management, ala SunOS and the latest Sys VR4 design. This allows free memory pages to be used as buffers and vice versa. D) Currently, gid_t is a unsigned char. I would strongly suggest that we change to be a unsigned short, and represent it internally in the kernel as an unsigned int. This will make life much easier if (ha, ha) we ever decide add the Andrew Filesystem (AFS) to Linux. Since this effects the stat structure, this will probably require recompiling large numbers of programs. E) If a Linux machine stays up for greater than 248 days, the number of clock ticks will become > 2**31, and jiffies will overflow. I suspect something really messy will happen then. We can make things better by making jiffies (and all places that refer to offsets off jiffies) unsigned longs instead of signed longs, but even so, it is still conceivable for a machine to be up for greater than 500 days. This isn't a problem now, since Linux is in beta test, but saying that Unix systems are too unstable to worry about what happens when they've been up for more than 500 days seems a bit wrong to me. - Ted --[0269]-- [0270] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 01/02/92 21:05 (1676 lines) Subject: shoelace Date: Thu, 2 Jan 92 17:44:55 PST From: pmacdona@sol.UVic.CA (Peter MacDonald) To: linux-activists@joker.cs.hut.fi Here is a quick hack to get shoelace to work under native Linux. All that required was coaxing laceup to compile. The catch was, no minix header files could be used. All the executables are provided, so there is nothing to compile. I provided laceup.c only in case some adventurous soul wishes to try adapting shoelace properly someday so that large file systems could be supported. Please note. I have only tested this with my floppy drive, so be wary.. Just follow the readme file provided, and you should be fine. table !"#$%&'()*+,-./0123456789:;<=>? @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ begin 644 shoelace.tar.Z M'YV04LJ$(=.F#("#"!,J7,BPH<.'$"-*1 BBH@T:-$ J,@1AD:.%3UN!,G1z M1@T9%6O$F '#Q@P9-VC8J!@#1@R3&V%,W,FSI\^? .K,H1-&3D4 $DM9.&,!D6=-_RWMI5LYNEF=VD=JM -FW;DT$D :'\#7/GJO6Z=C$&u MQ!LW;/)X=0-BC.BN<]X4#$MFL1LZ=20EE +YU7'9'5_U!A9?=,@AWT!AP)&8t M=G39A9=>Y"4%QU;Q15<0&6'D@9L"4-AVGV%+W5;1>&HMYAY\\M%1QE!E@,:;s M9@CR!D(;\IG!QAMPP"$?&7(H5@8+!+XE1E=W%.5&C2,J(=1<9KQAV1MW8-85r M5P/M9T9MR2W77(W0A3$8"'F\44>%:K(!VI(@?/GD9 I@9:=58BA%QVH&W>GGq M51S%E-%('7T$DD@D533#11Z!H!)++LE@TPTTP5###3J!H-.?G/HY95%'/<64p M5:)V:NJIJ*9:50 #0$" 1@?!,\!""A#04 0#(K .NDD$D,,LQ 0PTVW("#o M*W>JHQ,P!S""C"/8. (-+P 0@H@% @!@CS" T)&""?_0(8 )BM 1@!0F$$,$n M J-P C!G@ "T(-#.!'/X $LX/B#B 0#^&(.(#1KPJ@$N!SD"C G'&(#'m M1@"8P(@'>@" "ZY0V * %/8Z<, N_@2@119!T * O1<+8*\<]2 ,P3TF(#L*l M/ (% h M //8.X(01\'%#?.A0 .M0P#] 6(=5C!$!=6 $W?"1c M#C'\(VZ#2* 5T$: *S2"$-&CG#YR8 =]V,$+BR Y;CH!R_2804^-B .H93P",T1YU&$ Z:G&V2K8 5Y3S1RXT0C=_J.X>x M\1B $?@1@V3H0E92("(ZU-&/;RZTH Y=73PLIX_@Z2,7!0# -,:QB$>HH$>]83'0>J),P#<4%9]6)P=\'%">9P0'B>Dv M!SJ X$TF)O2&T*M#!8(GCVB,8P _3<1/_V$$>! 55^M0!E8#<(<'&,, P ! u M W ABV&B8QO]0)\_\)D)@0[A'^D@1S_B!@4&^H$ A .$#X9Q$#H<0!%%( t M$V&,MS(V: 1( 3P2,8\ E' *Z/@'/[:PA70"3Y>!2$?T:GE+_M7T (1#1RKZs MXQ#T+A?%2"M#7"/\A3:$o MX3$,T? 8>G.6+S$BP]/]0IY2])\5X#?(%GY2?0KG!l ME<.$S:3/"+M@#ESQL!^:[ 3VA!HA?R"U"\@ :KD+M+X>1 #3%<(3GD"%*21!"T7XW$$",%T? 4E(!UD#j M0I"M7 2YX2M$H8,6MCU=5J]!#/>!V+&G:P0B4"$(0F!"$:P@KVE/=[YOT#8 i MN/!>;CM!V0A&.4*(0M4*,(4H% $*1B\YTZ(,:W=T B3.P'?BY%##&8^7Y?380%4%WG'"7V!f MF:OJZSL1 QS$X (T@/WL#RD)1@Q5*$*%A.T@@12E'+62ELB !C.X5*5@ (,9e MY 3M@(?(IXRBD5*12D^!3[SB%]^4%ZA 2!000(F+P0H" $$6AE(88P )L@_d M/O(@0,$04@""(0 I#T4Z QKF,@00%*'TO;F#YST/ B.4 2]QXLI>8G/ZL)Q)c M*'O)#%CR8P8Z-(DK&3+/F,B@@]E'/@$QF$R:UM1Q%,U%.7)!,680@R8U]24Ib M,O(*'3R? !E(W_LF^F:ISG_60@?<1)[V10CN7) [K_DH?GWa M!WHP( ,MT 0AT@(QD ,XD ,)@ 1KL08UDGOZD1ZLL1YCX'DOH *X'@@0 1Ez M("?!UQ6^AAAI\!Y@\09FH"7UH1]P\![[10=@\1@J:&8@D')HH0(9J C0!@@y M" )"\ 5$D 13L 1#\ 1$4 1?\ 1&8 0"1P7EEP P48-CQX4:R($>V(-?w MI@==@8(@<(5H05Q=411R$")TJ(,\"(8)\(-!.(1%>(1?, 63%P,:2 =YL"$\v M" *"\65G\"2@ 7-&L8A$:(1%L 6**(2AZ(A3T 4[4(=L>(=@V(9O"(.^!QIYu M."/SP1=B)P9A(0>#*!\XJ(%>V(,_F 1$\ 50,'D) .&^(5/0GE?0(R/B(PXt ML(S"^(@4QW .]VQ(>(P)@ +#6(Q0L +?^(@I0(V(F(C66''9"&W16'[FV(QBs MR 1/, 1+X&SLR(W>F([8:(_;*([Z:'':2([O6 ;.&&_S6(\!"8G0-Y#H* 5"r M5W03!XZ3EX\&28_\:(S^6)$(R8Y34([!>(X_Z) ")P41V8XRP) _: 0X-P7&q M.)$A^9 D603@Z(\B"9$R*9 ?V8SHJ)+-UHZ2F),$&9++UFP!B8\IN9(8>90]p MV9$,V9!#>9$*>9) B8Y': 47:91?( 5/690TN94 290<:98H^054( 5!8)&""9=?P)-7Z8^:F9!V"8+..)F5N9%(m M&)61.019P 1)X 1'N([;B)FB:9GWZ(^Q29J+>9?.B)JJR9I%5Y9GB9L_B 3$l M>(3+A96ZN9JMN9D_>)R\Z9JW"9KH*)Q$0)SM2 .1:0100 5OB9G229V'^07=k M603+Q913N9/9V8[0YY? ^05CB)[YB)W:^9WP*9 ;V(IW.8-S*(B$^(L*0(F6j M^(&8Z ::R(GUH19&,8:DR)Z6]XBJ6">,]Z 0&J$2.J$46J%701IN\"5G8*&Fi MHG:#0A*(0\A(FBA(@4!-W)P-_QZ&J,GBA@GB'!Q4RFJ,Zh M:A4CH(/(V 2/D09X4'KOH:$!0H+O47N=UZ,C ),(!ISD7]I,'Y,JBDTT (>g M. 8(J( ,:'IN$'4R AI58A1/DB7[Q1Q)X08%\1\K2!@Z" (R0(!!H!Q;NH )f M$ 0,%H%R(!BJ 6YO:A,%6!1URH!XBA[EP1K=]1=]V@93BJ1N\*8Q4 ,M8'MBe M,*@)$!!M8!X1R%X<(A"+ :DYT )/, 9T4*U<1EP GR@$:LJ6*\Uz M*!_>X8+_<8(2DJUQEAHAJQEP(!J$9B/2T:T0* =/4V(=%$G63x MD01S\1C!-:NV.!UM48E[F(*]^JMR8"-JD;;LYP9/0JHU$K95VQ48FA_@8;#=w M"AEML"1&H1ENNVGT 8A*:Q1NRQ6V80=F0J4@T*N342("06B;\8&%\;5[,;9$v M8B1&,:8[\A==01A$41LVJX%4>*9T06&.NQ)(VZU5[9XBXE3&X=8QJB6Z[:'.B/Y ;EP^[AM,2,3DAI;ZQTD* :U,:7_IX-Ot MNB1,"ZK7#NZW=RL*VB""648-=8;+SX1YU^[GT6AJ@L;6)5AN@<<-"^B):\J8^(B*$p MVQ4BT )S( +N$;-)*H-FD*9SP8=BT;)/PJ;/A1\ALL ;G :O,1UO.@=Y<+A6o MTA84;!O2Z[9F_((C,H7[VJ__&K O,(4*$*1T\,=TX*]R+,B&K !MT :(K,@ n M*R,"^\@*H,-X$N#,NAQX-A8"!S,;"O_ *#V 8Il M@!N]' :,&K&_G !NNZKQ%X=VILI=09E- *]A$!<2V ;%_(''S ;)O*J#3 8Pk M\,P^F@ >&X,G"",,#!IWT!OTXj MW(?"5Ki MRL]&H\[-#,T\G+J>46C^I]+7,1>,2Z"F>\VOG,UI/'Q_&\HJK!UO2AJ\.",Mh M.!C[A;[(D1; VJ81B )#JAEF(A^&B[@IT'Q5ZL\ W0;EB\VM&@/0P:C7810>g M@0)NN]!^Z)$KO?!AL,!FZX1X6:QB^?1S(QQ5G *P1*!I>81EEc M<-V?/,%GPA5PP"=O(A]:W=(?3 !YEH!^Z7<(@,(T.NJ/Zb MS:%^2!S[#2@6L79NIRDC&J(D$:?!DA)U%RD#. .50@,Q$ ,Q^M^>PF&$AQ0Va M6A6&1^$8".@(YH -M0 9D7@,Sx MX.5@K@.+U@,P@ =DD()YCA)][N)]KBEXD ."+@-BD>=N*.@UX!&(/A-Y'@."w MC@-8G>(@ON(MWN1/CL=1'H%D,1 Y?N7R<0.2\N-<+N0QL.0MSFIQ0 :H[N*/v M >-3#N4UWNFJNE^@#@*BKN5 WN5?'N9C7N9GGN9B/@=L[N9P?G%7NB C@=^/NB%?NAXD.AYONB";@:.C@>0GN>2CN(J/@,NX.I=Z^2QKNDUt MGNZI:^L[GNND+EPG7NEDX!I8QK9BFA3D;.2I/@>K#@*0O7YT<7MML,!^ 1A"s M+@-\0.Y(/@=*SO"8SNX=+>4R7N7N/K;PON7RKNQB3@=D;N9E@.; ,NS%_N9Dr M3@/)WNMV#@=XKN=\+NW0_NQY3NA];NW8C@?:WNB"_NUX$.X@KN+\;NZP7O$Tq MCAZ9H7J?ON/ PG?Q;N)"/@.M/G*L'O013_03'X%'C^X7+Q]+K^M\JB*$-LK1;H>+<1X.)41"Rn M/"-=0;EL4 >ZG+IU\,CR(?JDO\ V!H$J[K:/P6&6X:@B7",! L-SX-O2FRE@9\X/=/PL&"7]I8"/8>G^S!/O)KGNPF?W>2KO8Ll MS^@$SOW>W_V:TGP>/O[D7_[FKQ!\XAKG_Q.!4@,N/N &_G8#'@,0;BDS@:(Mk M,0.1&J>5HO\W,.'KKRG0J,*3X:C"A@N "#!"81V$ E\QD$X50_PZ"3 "4@!j M*Z %O( 8, -JP W( 1/@(B ")(!=Y(J#@ YT $)0 P '6P"&,4K\@$ N ,Fi ML KDOKB@ T! "0 +6Z %9(G5EAB&51>($V "!&R!_@:WND!^@QM/(XXP $A@h M#(J %VF"] H(%#XT_J /X!W4 :"#$D &#D(B 9?,!$4@15"#!C (& Jg M#X 0& *$L C&X!F\ ^)B';"!4$ #4L%! 0X0(PAa M$UD'*. 0!L2!Z$Z*@!D$!@3@'\ @#@-*:)!1(@*L0W8"J/"1)8)+CP(R6 8z M\*M$]@+,C-)8B?ZJOU$P . $WL)3(&%&L /^A*^9%*J&V#,/I0UP)v MK4$\(-Y5&,9 'OA9A,$HH(#_4(X *&1C%^1,IZ)JE88^-!&:UCDH3 @1K<@u M&@54:110J%$JR@G0P!J-@KJ2:8YO0T"N0<061N,<*(UO+C=2MMVX(VI$&A +t MA&'"%(GEMK+"#PIXC\T,)J8WR?ZXYU!;P&!THC"$@ ( **(4=s M,=5T%REK844L\7W'@M#X[!B.(X^E,<\! !B !0! "7@8)> -^,2@! !&8,3%"/%8 W."G1Q #Z-.W('M^'VFl M%,(29GZ1+W!%A'! V $E0 A7P"JA 5/P7M"!$* 7K (, (T0 MZ90T EHNDk M""""1% (Z$ P7"((H!%4 420"YXEX^@%SC(8+I.UX0KN031( HE &:R#70$ j M&H$02 #,,EL&PUJ@+M$!#& "7K!9/LMT^2Q' 01HAS7$@6#+9QD4-, Z;(=Hi M(!CT2@S0 N"A/*P + AU! &L @JP+T<*H4 #CQ+ M .&X&RI)?!)86LV6J2XWY,COF-5@Fg MU?)9"^+!!X@ 699,_^!T"2'+O-9 @&T^0_8I;6T@F@ ';R7d M?TD"#T %,)CH 8&9)( *= !z M;$]T< "\I\(D!OBP#T"# % '%@ QC 8#H X4@%&($*@G$+B?[1 =>(.&" !\y MYS5( <(3@+9!;# B@ W0)N!(&OVE(-@!SB [D0#5L"XH -3X#U]YRC H EAx M88I-=8D".L%!4!UBLV]&#\YY,=?F/T $T& 19,U%T CZ)C^8!ZI@$=!.9IDYw M_V8%!0 /P!84 6J /M5E^$0'!F"\N,^H60;CIS"L S@@?&[0#OI!:6?A5)?Qv M$ W44!*X!I;G^P2@7E1KTH$%B@JKX+", Q"4!)H#6%A!Y>$WB(@Q%(!>T0 u M0RTF)4";NF"-&A5A, !RZ+,$I"21 '3.S$E$^Z;H%*+J\HB2 B6J+IEHT"27t M:D &%*TN0T10!5]ENB@$CP J/DLI68(E9[&Q0YL@!,:"51H$("AOM,'0%*2s MR "D)25PI,&P%1B78U $" $",)L]=&;6 DO:-9H (> '20 /((">"0SJP#U r MHB7S9.(*-& +5*@5H *LM&,NT2* #/)E',6"_A)_HH%"0WE-3:D;39S#DI^A@" #4/FI/HR8PV(,=55TBo MC)'X4/BI/OT'Z, !C%2,JE%-Z@)XJ2OUAJX.EYI246DV: .D02@@0RP*] !n M"C"H6W1>CE.%JB^M:!TPH>J4 Q152V!1?>"@8[*G!$ W8@:):CPYJ#:$ <90:GM \4%2-P5WUG<.@k M!&152"!8">M0*0+,X&L6@&2%7 /.D #@BL@2 31i M@+C2 7G@!!2+#BD!G$6Y=H^M(ERA*W&M ]35NM(! _!60"4N3"P[X _NUMI:h M!R")-T@$+LZUYM9$X%%/(NSLI..4%T36-,@-WLL@Z /,8 &XU1,Z"HKJ.-"Lg M?10=@ ,2X! 99A7@!<#T'_0-B,D'GB7/4:WSLFO UHS9""IL,(2FTI05N((Lf M*#+K@4E, ,+D(/ ! 7 /L($G=9W&!6MF3AU26AYLA*T&NT)LX@$+BTQE9H:Ee MF<^2B.[8#QM-I^F(10 E]L2F6 "P8EOLB_6;1J47S%@ZX HUJ\5$!B\5#7#0d M@X %>0$ZX $C50P2@X6Y#OQ &^0%:%-:4DMKB4F?Y;8DKMX27(I+7#$(]$$ c M\ ,SX,RB33P( ^I ";BR678;[(HNBP[" 5D5LV1V!)1+EA<\D *YV8>("1;H-Y0GM]*41%I).TB!;1.>E-6BS'W8>;-(EZD/My MJUY]EAY5#2 -+ #F&TN8 #P<*O6U+W*4:VH1T4'K@ ])E5T:SNM +,E!/"6x MI'+5>XI2[6V[S /Z-LO> 6;[! )N#6$!-+6KWE3$"E.#0,*EN&A $S#;"Q!Pw MR^? -:FAA.*B P9P<0WNLT0#O8#9BH,%X!!!0,2]IP[@I:(#:G!,]VWM/+G8v M@-FJ I9;0>5M5X4 ,O<3U-PLNP^8;0%MN1YWW@;#;=A71>X9&+H8UP.DE!38u M WCNRS6I$T#FR@"H:W(3*Q"8NN@ ?#<&N)R?>X]_:HBE\78W#-Z?MO6^%S]P J:M:\6\M%,7F(#;6P68@2(HB(U UZ*.q M)E!ZI<%!L+T'H0"$C(.J"S# Y8R=%[:'4M)NRS;!K6@1MYQ4J3;1;4H.IBX6p MU((K %8PSW'Z/)E(9*4#+"!\FIV1F$85*3K ZN6E +05\HO1V) 60<:X?NBo M 7,P=74G.@!SD', ?( ,JA#!0 %OD!*A(DOX/B9&589%FD0n MD_R+7-$K2L6P:"5 P]L;4FJ+:(PRL<5.4*1I&Q( #2XR-+S&0U6]$K!(& %m M/\K+0!*$P(D@"5, S/C',< %?Z0,R),^& C;P!\\I(:P$"X!1#@(%V$D?(23l M< G( 6["!D)A,H 74V.K##^<[RW,REJ)1PY"KF2,PX""H@-/,'7%+/$TGG6 k M&*S0>B,&GVL1<,,*U0P*UZ#P ; @,:B>>30%Z@+SXCMG00<@P&%U?'K<6?N&j ML2 @0 ?T8 G2T /X7K_*S#:1@-V,^ BC_1@1[@P_)P#OSA0!I F0$!-:!]i MH!DD4#K:0"/Q Z7$$50)8.*0NHG_)S.L'L3:< LY:20 Q0h M;WQG!6C%,O0-(X*> 0!4QRZ .!:3$#!+#_M#@VAWS09'-(F^X64<-'$%"HRBg M1>!\%N(Z C"*CJ@!.-P$2_,_PH(@D+ZY:=MD!K$XC9LB-/H,":!!4 1M^%&f M7([G* /ELI$X&E!0_VL(;"/*[$ \,>^<5[_Ra M&U[*37DNFV5V8@#,,E;> GJ9*P,"N/R7PW)@)LMTF9T4 ,.LEF% 8N;+2;DQz MRV7(/)B#@2"YR^B@ %SF;MR5^W)(!@2 >2R79:G,3N0):-8&_M4MD^;%;)KCy M\F->S5.9+F/E5Q";]_)L9LRHV3&K9KH!OC6ML*(* @(T( 5R,@,8B36$!_Q:?C!+w M4HC6A"P, !$4@"+ "8[O.P8 !8 BMV%I20AV 1! ILJX$##C1) -+JEPU:1Mv M\+D*Z*!I,>ZS\GTO;;CYML-=$'T#]( NT-_V0&/?:;R@72>Y1 /=]R"C@Q=@u M8A@R'(:>#[D$A%6S8US<,3%&!X6@)#/B^3N'C4M[70(!FN'D701/ r M!^4D 8S!7XL VB 7L1UAT FN@VP0G9UH2M3 E*UBU8< P178U)9\D7E 1 HHq M12.KRA6;*@B9*ER9+JZ8"0^"-($ 7]CO?E_%N95E(8J.@G4@ 33#=% .\&8Sp M%(/P8!=TZD6+#\0@/5 =BZ .P(/>X3;AIMP,*(E 'B@!D4D/$D$5H >OLPT6o M:UDH!E=('XB":3 .'.6,N*?K #] !Z 0IMJ\_NLH6@AH *+F0%7P_Y+En MLE[67(08.)!N'0K7+S[&!^C@&6Q.6WVJ=8@K=!=H0 28&/];"(ZR//0#%R"0m M.EA\8#%KM2SLK0CU9OY6./LMK3*R/AMAN6##:H3--=YL<067RR!9RT*R[)KIl M 3N)RO0 "TJ5"%"N;;7)+@+%1%W_5U3M ; @/T #0&!?5^("X*_1@3^P )S8k M(/9I)PBK);8LS-6;Y1I\S)!934GFL4:9.GL7< $3X[.+]7M5V A[9U+3D6FLj M'[;.7@1=@!\T[?D*M:VEU";:5/MHHV%XK3C((!^7:J 3EH* 7K4L7 )@&ML!&6 '##IE#@%<$$X/AM<( 2:@47 h M!$@ V@&@* 0 (,^P !:["A 4S38EC++W)7;FQPN3,W+K"6g MPV 14 $2($E!( ,P(73 <4L!=! *].W"9"R.) 3"[A"(!BA!!$T$MKL,,A;5f MS;IS]^L.%[(;'52!Q\E+G?330"!=& !\83M=E9L +[#3?3H.$( =$ /N 2(e M HL@"' *Y(OQ2 N>(7DL GTZ0 01=$R+L#>_X#7%@&3,32+0'2)A?6Y"6("d M $!,64%":(*D8!>"@K/1!#" ,< 5C: )@,$FP @:01>P!O^56J1!2: P^P Nc M: %UP(#39_E=+-F@^EX$VIM[VP$+L XTZW_%!2M ,/Q:6H"]0?CV[MX1 'R+b M;_*MKLWW.J"@!'Q]MV^K_+[5=_R.TKQ@':378HL+8, #* 2"H('.[Q8>PKMWa M Y#AXQL:Y,O$D;YUN,:(W^8;B#?!;!W!@X(P6 =,X(2_ #\0QBUX#O@#1F 'z M= %&8 <> &3IX8Q@U_Y:1K .O&\3@ 4KG(F_\#O * X#:>%++>%L^\K'@"Ry MN/7NXG7 %73Q-"@.*C@N< %''!LH<1;^P9OX'8CAX3N*E^\B<+YQN"#?X4V@x MAR. 'VZ]+28PR,Z,X(A7@@HNP0G!(G#D1KP0!())KL>Y-Q_WXU)<7:^#0/[!w M![D_*>2<'(C_6EBPQ5U('Z 6=R?=X'\_D?WR7Y_!%X,NQ># _Y,<\*,@"4W[-4T PL,JHH! D X =u MI=4( P<$.:#/7L$['J51P7]%!0#@#Z0#8CC ZX "^.=0E!!4@*DK-IGQFLZHt M#[T=?M;[4K^%2OV.@O6[37]6GVPV%;A59@3$%!$DA'20#!;"?T4$!X .R(!%s MT @03O< 4V $M!>(LJ,-28S;@0$P!%<A"K@*$8*FC4@U0U@F %# A=2"MJV5#4-:!+K.N OC 3D."7$T)&@$-p MB+EU8*\S<'Z85Y% 4&?&Q/16*G&MKBSGN)U&!3 =$1!E%]!*^\"M= LG_0#\o M :5>"YCZ+# Q4%VJ4W6KCM4)N%:G US]'WAUL"ZRT8$L .UF?1JC=;6N/O4 n M;'?K<%VN'V)S -OM>K'&ZWJ=K_MUP/X\^T #]'BD/7U#:=3>U;]Z'0CK4J4.m M]':3C=<7.2'H.D1<+AQT"UX$CO@!>"_!GN ->P#%'X W(,NP K:("18 ?9[Q/MU4\KB96L?H (L'0:4]AP0h M#QZ ([@%'=W%"O5@Z,#9 6T/AHNNM*.#,G %N&QG?Y93 +1@ 7 * $"+"D"Jg M6;ZTIP :7T,P $QG!7\@8WN8-NC@G:>4IP.CG+XRX^>!X@\"43XH!^'3LH)&f M#P#\0 ](X"Y6*I=Y0XP&*+W-?IKB.&8109CP#4OP)L)C8 *ZS G3P"T ]KB\B18 =(!$)@%3/.B&XA^E &"#3d M7._DH3PJ )(9!+X^B*0ZRVFL+?V2$00(%5LCPZBP*G_]9V^5ZX!4$]V?SVWc MWP6GWMC_@T77#M<]"VCW<1TKFX. _3V-O=1<]SB@W=L]>*_;T<$-.#3W4'+_b M 1*P[F& OG_W^+C?)P)Z?P^-_3HP.*:5&4A\9D!,"8'$'P%]L _49SI ;!@a MOZ\$#%\V&VM77L /N#$OGAS_#VQW"A O,"S #SP^5D8 -^J#(#OBP5Qy M 3J WR[#=("!+RD&W!*/ A6B7$[[D60N($N,O %^>VAV(,E@ B4 5D&! $@x M&: 90 (A $,0 19-QC(\SH #A(!-F# PWMUVXW&C0"2 ! E 0= LNS:8* .w M$J@\2 3(P-*$_=7-,!LW,XS=% !<2G%PX,8YP-W/ (R? .AJR _XD6 YB",/#EH@^0@!03[_RI4EF&NI@>*H# W4W(0C=?!O[#3YU^L>\P-s M30_P/UDNY$U _X?]-0(4P)1V7]0!.=4!OQ]7A]C,1H9"&P !E4KT6_26]B'L@T"TE10@$BH;^Q$[0<"o M0@$HT 4( B0"C0 68"U% \R2&KAT,1':'VP!#*0#F #/U;\]=/?;V8"R;8!Hn M(&+G0XE65=E?QJ$-68P#RF8"\GX)G2. [IAM(#8Y ;^ PB6(E0(/(*Y&B#0m MJY5.=%,U93?A3:M3&Z;]20 )V@I0"!""8A LD [$;P@!PB9$$8(66YQEE1$"l M>57F9%IQ 7=5@L8LD8)WG,7$"I"!J$,6A [< L/6$L$ I .Y -XD^U%_?=KPk M-P @ 10 &FA"+%UX@,SW !@"3\%i M(* #E !I4!#P7MAI@( B(!"^@X^@/,AMJ8/!T*YE#^*#O8 ^F 9) /U@#@ 0h M$@()P$#(#@8!O ,\^#EYA#_4 / 06@#Y(+^4!E$#P] .3;04%^(,E !VP! @!OQ8@L -4A<^2'/ --(!-!!&(!CZ"2* 2d M6 N@ -E R]4T)FFP8%ZX#.$!/1@!,0^O X59GG7$G@!(%)5)?1B$#$ @X$DK u M^10[18F^0)?&B.D#+\ ?0 W469 <$K<(2HDFF3Z@ OA9@T"0:#<$B42BD<@'t M0 !CHFIH<)1,:("U](:M U& /<0F^@%*P);X!Q0!@2*_!/$5 H4BL:4HCG$Ls M@*/8)5**W%:E&":.B41 F<@L>8IHHII89[6)U$"4!@BD U9 , @[;8.# #CPr M" P"R #0M14&0^F #^ J*E&PHJQ(*YZ!MR)@80+LBL%BK#@K(@.STS:8#C@ q MKF*>*"0&B6U@D(4$9!!I8)#E0^U\Z< -H \(0[QB*^4K(@/ HE<( D2*P5 Yp M5@H5 F0 OR0V%87T0#NT#B !"($Q@"ZJB[;AL\0.N(LPBKR8+@I#ZT"II2_2o MBT4A/^ NPD+_8C#$:]6+P1 YT [= \%B>%8'_ ,XS9X=- !,T MMB_*41: n ML[@G0@ /P"_0\S%+4>$ZT" :%7IBZ_< W (?8U/H.@5L&F/K%RUF3-,B&A@5m MP@#2@,7(+UT=6%-4" #T 0* +. .5@(*6+G8"P2-:UXA0Q4Y6HFM(k M:7U-M%,*((MA65T Q!#,A47AU6$N(0!=8U&X)N2)O( L 1$h MCN8BY2@+8 %U'$(@"^ !>!_C*/1U %T@A?MM YT05Y0)U 4XFIBX\OXd M#TANX9#JL YL $"4$%449H8ZDW15 /P">-,3D C\3%%3UA04; !*%/G( & c M:.#)5"@8.&)*QC6[C=?%9Q8T04_SH>LF-16%"b MX, U><54 .!#=8U]DQP@ KR&." O$ "04V>6^N;+D7AAD[8' WPZP/](!H*#S-^8Q#L"?\ =T.5/1I%)5%.H"v M^0W61@BP5P] 0T<"'@3](D(00O8"12&!QBW-42@D0J!"]@+,&-;DT%E"W]?Tu MAP04@?LC$HA,[G[_&:*G"UA+ZX#9L A4 J$3-(" 0$+6!1H^L41,, 58 ; t M?K.$YB1#E& K (F0%3&J!0(T $+P]0$ 85_BQ@#D?D/ OX T $5q M@!D0"(P!&, _< \T3*1 4YD(3 $H0"+0 <25!X$O@%?R"OI6#C ,'#*0I I(p M6U53\X#V1P( GM P< 'E "?Y!! \)EW'&0$P \- 1H $N$)=)615!QXN@5-o M+("=IP0X1 0 6?DOS$\+@%K)5@( ., Z$ &P072ES0!:- -1'V(!#)1^TL3?n MQ0^0@1_5%41(+G.+A# 0\!V)LN4ZT !TC&,0%" %H$#HP!( +P( 7U]MJ?J9m M05U@'6 "Y&IFD#%0^\$!KUL9^!JT>DV?-="L24W:GT@Y!X8 KEH7L+.-E-\F.;=YQ6]G$!;4b M:09[T6:7R6SB= $ E$=1[%3#8!%@#!)P^( :7W=3/7D$+0'@U;>Y\RF WIK3B"L: \\FLVF5H0.[@+4$^R4$.4 V8 >Ty M;25E"E"@,9OK0!-@;%*.L!\GB U >>@ KFFGL0-37JNG 0: 7)X=T DF\OFx M5!>0K8!6652'#+2;#%-)V0AP C H-DX=@%56=:&E/w M"9R\5)9IIQ%L- "5AP^H?_Q '8 -C)W$8=:FQJ$#6Q]v MP+$9 41IR%K6R0[L>?3 $;=E8KII^9C75u M5OI^6^9DJ7:" 9O".!;6(0";I>L4;9@!@P!;^0V(EI\#'5 #' .M!RC@!PP5t MCB4.X%(. 1P 'W![ @"L)UM)3Y!+_-L0,#D6GYMC\1ED%F/ . V6GR5T@0)s MH/I!5M&E"/!MAH'/'QEX-B !9V /B 2*0>0 > D,'''MH-GFVTEN:1 ?X%]1r M;@F='# 0,G]C4!O4:*:7WMH/,!"&D\Y?#W@!5H<]X#+8#/: D%^PB?TI:]D9q M.? # (LG]E6.0%_KJ:RAG7:?L*F_+D!BI.+0/%W_.V=!F<7 *-M T\5%E0Yp M%0$+:!'H?;*!V%^^Q$$: >N #W 0))S+7^54_0T"#:<=H $0:+E:!B&T;6A:o M&P/@FFEMX<7#E[[Q ^T@/;B>"0$DYXP)@M:80%GD5 <@ E@;._#@M:!(9LN'n M!HQ_X("?QK$9@1)H-MD#T@$/P 4X3N9U^.8X?B&8CIQ!DFPI3&P"M$0*&DH."*#GGP?E_U6334 <*@OE ,B j M'T *THKCEX_E>I:"B$>%8/9EL.NH.V0=S X'G$A5&0h M)P0@>0)N5X1%^4FN;@@ #+ -X *L0#N4^TT;RU#HH%:" /_ !H$$X /+8 :!g M!- #O5L[-+MI TP%0N5;,A&$@&T% >"C^F@@<$R)> -I\T@#0e MP(4N EH !+ #: !U0 1 DR*"J1I*NM^!FO< J6DK/ "5 #"0"N!-ATRJ"0$,d M3D* (!%!M&T2 "* #-"#4=1L>5D@;P0 .K!R@):6!O(VRL5N6M ET)M9&A\0c MZT:\G:4D0)46E[YU\Y!Y<0\-;R"0W4"/(F]R*01 ETX>#A$$P%B8I81I#0 !b M3$/K'@,P#35U4]==R@;EI6\I7\J7TJ590&,*0.&E;NE>&KOUI71I!F"9"J9Ga M V2JF<:EDRD240:@9Y>I/X&6FJ7HP S02C$1;*EH&@(A;PP 75H(B%X, &:Jz ME\ZFL5MMBD3$ [BI;AJ9]J9T:1,P=@EOJBEO&@*)I2.5U%26QFYAZ3?@<*EKy MEH8TP0#D2CH;1]H A ***3GD,&&)0)5FMEBX4)IIJ[%I,10[4)6= XV 6)<+D$M'5"G ZYE-90 [$ 5:w MIV'?!P=VYE;!@#M 0\(#(M--Y0TTJ$ 7A-H]Z ,JH,:K!U^?P /\ >X51EJv MAPH7[;4$FCu MJ@-^0 ;PGL:G"H"*N@[4 A!ZOD'K!)Z(#XP$+5MQQKC9P$D ,( <-E6FF&:#^00!J)94F / #?< $q MP)U.0V#3-/0+W9N=*O@T /@!>,U_!0M90@09J5H!@ "F*@Z -X4"%("LB@&8p MJB? >T&GJJJ+6Y!H!@0#^ !T)4.1!A ((!*"$,)@#'PGKZJ^50\$ RD S0Do M,L Q(:V #" K"JK_%*S"EE "3 P ,@ /&:K8Z$ &*RZH_T:PF M+J+ 'Yn M?42!@"0* . !C-\&@ !X@^8J.("N"D.]A#%0#B%8]T,P@ Y, ,>J <:M^A/]m MZK\* (@9 NL"T)4JJPAKPFH1E0!BAD 4:Q6LR>HXT*T. _ 9XC>N%@ %*Z"Hl ML6I-O<0P0*!-JV:?SA:O(@1*JCI@K^*KVJJ^&@B,K.IJZH:R :P'@,!*L.:Kk M",#,2K*6K,V09L6PH@,.:[8ZLT:L"8#)ZF+) X ;/1"FFFEO)JBF!?9I;QK6j M-DX6:UT /A (E $-Z2H5"-QI!0N[I(" ._ '#JE-V\Z&L5AD\H @PFW,@ 8 (,)MF0!0%N 8 R@![&I;1J2T$h M/X"XMEZ11']*#_RG"$& "K@);E[?5 A\$F^0Y@Y ^?$!*L#BMKIEKI3?'[#2g MK6X4@.8: LD!E1/I:KHB '? G+:Z^:2"WXFS9*T#1MK9\+J:KC-@D,I03EW,f MI_-V^I&I'SA3>L P1%'8 #&FP?*4R(1Q0",:%78J5;0]X5$T +FJQ9$ \Q+d MP@#UUKSV><^K8\&E"DUI)N#&9EJ4H6EF&@(% IOI,"29;J9T*>_JF$H3+,#Tc MU@6L>)73F]:\BDQ9I_#JKB(#RY73T*Y6JQ$JNXJW4K#= P_AP%*KQ&N'^J'6b MFA^LV3>B@A+3WT&4#MB;"8$&"\(B R2 "%L'1*L;[ E;E2VMZ8 (<&]NF=_7a MBXI$- /!H%5B,=UMZ( P$ S>0XM;$R /F $PG3_ E$:OZJE.J00E OQI'8 .z M0*X'08 ZQ5:QCRN .@\(J!& ^8H!I)MU@ K0","ACBL6"P!(KL]:?WK%>K&Ey MP!F+#O2GW( :&Z!VC%V $_L+'*^_0!4 #_2BB8!OJ0_0 '] &E!G?0!^ * 9x MU964,Z?") RHH8JJX#6IM@%7;'BF;+9![$">!GA"5]- &\ ._%>2W YAIRU$w M >!B%:6]FN@ XWET[GFJQ/W' RI. :"N:L#6TU%L!OL+%KDP#$@//U62T ><*MM PE/G+;"\$@,GHV3Y"@@#!. 'D @$ X% .$!L!0!,0"6 q M# BL@.;%0 0T E\=)V>G$0.- ![5ZA$#1\ @X'KY ?ZJ I?40A+)W! @ZZJp MJC !1"3#K.L@.5Y>?ZN0( "^W%6910 NK-EGS8ZJWJDV&T9V _>Fm M"TM#JK20!3$0SGZHR%6[VL[" /8 I86V)J_U[#T+O>JST$ =H 7TL][IKKK-l M0@+&(#5[VA(#Q)">402'S]*VL2UQ^\3BMOQLKMK;FJI&k MP'L1JWJG!&T8:0.\%T*L0IL "+/BZT,+>"(1^L!C^W@]=)GH9^4UU6^2G &F +-?B6DWJ+2-0!X@2%Q:#ZXXX0=P Q@N.>7 ,0/1 IP#PP 4*D!8)$.g M0TE?'4D Q+@"@!] #D0#;0 U$*CB X4J1@< = L.Q)T6 2J_9\"EP $@$; f M(. /T !>'C 4#.FUFFI?&PB,0:U7$BO8$K93K(SAN 97P,!B*Z#J _8 F5<&e MT *2K74ZO<67E)O5F@CD ]'L3<7G5K/= PWYYU:KJ^T,N^?6L"2JGDI\ZA8Kd M)":4*_FPZ$ Q% Q)J=N0Y34 B*?\P#) 0_2R7*R;BP[4 7'N,(L.&+-OYG4:c M]IF7U&5SR\$64)VM9AOHJKJ%;E_EVD)^)VS-L+3V"F#E% #I!@ -:;#*J6Z1b M*P2G^\M&KHRMMB#GCKH'ZIL) B2S+RP$2\ZZNA0C/!O"BK/,[ 0[HB);/&P6a M!.E* O? &PC7HIPA3@L'=@970-<#D A\ 00 :)O-UJK&((VZ#/P!68"6FH>&z M BR K H#8(GPEKI;JJ9O0% @UIy M8/%L[H$J[#60$'2,85F3>,CVJ+:D$ZD$@ ,H:3D1 @AJJ]3Q92UQLN# Q^NQx M];)E #BPYO8!X("GNPW,D<*F5(<%015U@)FG\&I!($!#"GX::\4F,< !R+M2w MP"@;S6:=Z$ S>Z$6? 9OO8N/T;SL0&BF\P9[,B_!:_ BO/A8:%$'D /H #K0v M[2)4V!_/>W1B;18@E98(F+OH+OIG$,VQ90 U4.=.;VP "= ,J@.,WU@(#12Zu M+P"L!=3R (" ='FVPJH"+7=KJGX MZIUFS+YMF&D P"A%;WH 8@,M5^B"\$t M(#)) /KN=[K-QGY>$.)+0R:O?T BD Z@K'/@ 1!%)0.- ",0!0 "NT*X% SHs M ^6J--"4):O+JM:4 %@#]6L^=0\$ ^\ #8D/7*L8*[?*K H,=)\X(*XZ978Or M.@ !( +!@+Z !\R! P "H Q$4:JO.+"ODJROK\<*#DQF<*\ZL*5% \@O G!Uq M\JP':S#4K ("XL ! RD7NPI.@ ,Q%H(0)1J"P@#$.NSU*R6O](OR)JO9JP;p MZ]'Z+$51P\! U+-JK AKTIH(? .TKRF%#X2L/BOTJ[0&:TQ:_#"FUA%A'YY;o ME0VZX1*'*L[.H']N._L [+UN0"C YBJ#0"$!@&ONE]5!>SJ&G1TD*G:#JA.n M'W"L^ <,1(*$"*P, /J0.K;"% " H E& P% OH ]"!J$0!&XA\P ARZ+VS]m MR@!HP*;J*J 06'6FZAC9PD(#T< //\6P*ZOTBJP8@#U*P2 ^S[!(VL4?/@%l M .-JS> "@[^_;_)[/OVYII0RH#G,@06 ]DL TZPE*_C[ 8R_E^Z>BP9KI>EOk M%"4,Z+\^:_\[#+"G^8"^\ %HI>.J/)'9OL#J0!H,L]J_WB\VH+]*MF,J!?"%j MG:D)G3GP>O4 >$ SN0Q]7Z% )2Q5I@/. +F$O:T #0 F(%=>FPA7(Q +_ ,Ai MK](9#/0!^NFOI0%V (Q 4_GUUKPXG1,0R#9E!1$#,(-Z@/)<) ?>-0"<@"Q,h M!&@ !,! Q(L6 "2 :_4!$3]J $M"4Z: 5@"@,6N8 PD =@.5U ?! ,# .9)U_[%PA5V(#z M+=8_I!=+E1EQ^I;7@6O1$@40])H+*#$DH)<& )*49KP(F NF%!V #X_& 0"5y M9^:!Q4UE"M !0,/I6U37 %##V^R2Q64!PTWEDF6G\0/E1 J #+M6.G%8?' \x MP]%PL(<$&,,#P"8A"^O#HW"5"Q27Q1XQ0/S^D7U;UVZ\4ERAS*;+\(-. _C w M,T0$R #&:B&PRI%#?BSY4*1JCPLt M0^19S.8BD WAJ=G0Z,,;K !R@WN6Ms MZ7")O!![Q 01@JP@JT[30"#;!L$#DEL?4 4 *CP0:!9:P.10!] I8V\$8 Z0.TX;VT":B2T#R]LRE1SR$JL, !#@5\H!l M_.DW["K_@JR>,6"" A1W)LH6&>?%>S&B:41ZPUN JXP"60&IK(F1*FO*K/)!k MX"K#RDTEP\P&&&DLW3[L 4)^[W)3&2]WR_1R58P@&P++9W36,1\$'_.\?/M6j MQ0U3IQP ] T50*=, %8"(+,Z4)51 88 T%4#J,,N&SH@ BS=N6YK+[A=-=Ri MMIPR2\S?\BA0%WM!!-N:6><^#0TP A!M6D$,27>M 0P#T9 -+ .U '[P") f M =0#8_)!4)Y:"ZI36)9JV@U[4#%A B%ZBT!!I 0($AC@P;D"= #PLH\[#(#,e M^P #, 1DS*/P'*LO$T3_ !.@0- !7:(&:ON%SH%LE,PMA[Q7\O H#-BG\4"Dd M&ESEE$3 !S#*%0 -LL7 "1;/ZNF#[$^PQMNL?65V&!SH0 [<,;E!:UL:) B\c M%T%G_18Y#8K%<^$YRL)TU_ 0L'52SDTE,34^>T'E\_(7U4'/NS$!V*YMM4!SMOP[(\U5V3 P!-#*]C N7" Ov MFF]G!AT2,\ARY4^;1SO#R? V*TL^FT#T.EQ:W&D[ ,@".R&^P"KAPT4BP EM (40W3T2L<'t MQ ""!!\ 'B\"Q[0II4SW:51 #) 9![W'](N[=&J K' CP .HD*SP**!#$P&^s M@"E%!%@"M!#>1B)S3A1 PBP=,P$A<=7Y]6;3VW0BP J#Q*84$X +]&GL-%IVr M30=72&<\/4]3 >UT!:!#4P&X0$9$/0, D'0Z+4D3 )1T?.;%80.\ &!M+_L9]H#BJ,5E YDMRVGF!@,U- !X)=&#S!,S+$7Y 'VPY1%n M,& .%$14@ .PO1UK=H 1L )"D&29+QT.1&6O)G"%UQ7(1Q S;58/T\5:BF,Wm M'&N)0%E- +#2.FBVC$20 G-DKM8CD@,( 23M4U,!)S$V2@_0 >> 8EU:,-:"l MQ+$F#4O11),4[6OY@F0 S$L7-Y4FM2P -#O572= L57(0G]T)R#,(IK1V^F8k M!=$!>X"RED9_7PSS"4!!K0-I %'#R0!2U8YD9TQ &"C;AP ^M86T0&:!1Q.j M#$"W-UK_RQVDWR8#"-?T ''- (RXY5 8 5V7$Z0DPTP,\%&C&BX@3#K*90"Ri MVZ1-MJ-:/-"-c MSL!$FP9U D>9%!1BDT 50)B%-1<3#&T:5 ZX9^D F)<0J '@T\8TT8(6&D"4b M;0;A QQC(0#0@9K^I(:=!C4=]E"=?6>7EM'D1+L.F!T7MH[-+=8":$"/K4I.a MM#B3UT9-B%$X^M/DT#A]8D^&.;V.%"z MYZI$_=IM-H<]T4IW*K8CL&<7 GTVG#U#3;0L-;;D:1,"/@"O:7RRQ5VX#%-. J40YO/u MM*HIP3A@( 1RU]QC(Q@PTWFG-T"A p M!$Q#2E,70 *U H8VH+PGR(4OP)Z !@0!SG<*5 F$60\I#RP-T %4 -= 77Y,o M1Y;(A \H67A3DR6+0S9 X! %C -k MM042@"Z@A!\$0T 1+FS: PPU)C(/R(4C0!J4!P19E%MNM0*"6$86B55-F5A^j M&XJ5?K-8ZS<'F0(H:S\X!L 'C%=MN X@W?7,]\ T$ S-KAR 7/B&&U [@ XPi M7@T!:#CS &SX*I ,7 ,R4\C;>Y8!EVS#)X'CH$6=;+0#IW1VD!VA-h M!EWVBA#\7D( #R"'IP.&-T(@!/!# @ 2_H1O!'7 /, UY%;L5.1:9(E88G@=g M0(9[9TN6^LU!%K]Z@ P M0!NX"Y- @$6Y P-6T/LV-^*G;IU4 D/CWS0-Sf MH!6 47KJ 0*7>%" HP:U *'X0C.*XA2F^A*?BJ[@WT(IGL:]Xe M^3V&H]\(@2U>304#2]8PGNS^K@B (XZ,DZI5:PS 7>*A#$#W)Z;A0]&X08=Hd MH@"+IB(D '3BG[@V#@!PXZ5X$OZ-J^+7 "O.& X _F-"MU'>0#J #I$$J=#5>#PKA% /X 4<<1C&-JX(* " 0# Pb M!SX">),0\'L1 -Z@+Q"]X@-$P&[X<7!9P"$T :T&&( 46Z4GQ=%.0! !"3Ea M2[F"R)0_Y4YY5*Z40^53N53>E%?E6/E5KI4GY>2 @9&54^5;N54.EH_E8GE9z M_I6;Y6'Y6:Z6I^57.0% EF/E#,!;SI:_Y>R 5SZ7.X=V>5+.#WCEN_$!MP&Ly M U] 7QX * #KP-S@ 1YP#< Z\ 0(Y@E ]RJ8BVD_@&#. *!MNU5_Z^AUXPKYx M04 Y*&- !> #4 #OQ8^\. 60T6N.= [[,:[EA*@"RE";9NUUB\,H1[Y$=<#w MN&>".0'',(EXUIH1D C$ ( ;F!H%+AM0 %(UIL:94;/21HSU9 ]=Y#0,J:!Iv MT!W0#_H &$A\ 6\%T: (N +Y@".T!_P!%0!V?A'6T7=0/K "T %#0#J@u M QB#V/F4\@'\ 1$ =DX&I$'[VS8[ MR;V/FD,0&D Q: ,=B3X4WI0 4 /@.>t M_'E&6&PIH>"$E!:*4V]_*S[@9!JO>JL3) 4 ?" $?"2I0/'6 Q5>$KC-]^!s M7K6.0?:SL;8#L@._ 4) &0"W6[5IJS] OD-B8Y050'7'_PG"RE^IL,ZX%T,r MZ!BZ@7YX;^@\J"EE6%#(3H" &0+@M!%K/0q MW6HI?H67JP!Z,/ 4L6T6G[p MV7_QX@!0 G"<16HGCVJ3W"/0 4, T14,$JZQ@-34-^P!/ $05+m M_=\X2P$8 OX@!H?WZ@$VJ0TPJYMK6!O#Q ,, KX %$!!DM^Q^/E-D9_A3I8Ll MQ$%* #IQ0$2![QP)P:]NJU&7P;0A($_W?Q6 JGZ9$P 8*H0^"M !Q-@9Y(>3k M )"%!>C[;=U3YB:H.NE-\_41=[]AFDC -*1#S 'INO%*#P2N4M2^OK7Z9!2Wj MGJ:X_NM:DUKI 2X-Y= B(/3YIR,O_YV#1P%K9NJZ'9" (T' "/Y;3H0-@ !42BPLE_K728%P(3*0H# BF63@@!"^S0Tg MG=7J J .2@,L2W9/(D2A+P0WN^SG#4U#1-DCH##U /4Z0@"#Y.NR$+]>MF^Mf M7D3 [@2IE5QKP?ZU>A%M6Y>YL#^N#?M(";%_[.W ?XZ07NQE4,9NMXML)?M1e MME7A V2@Q&X>!\LK>[%L2L"3*!!"'1!=ZRV[MG[B996O^E!1 "3N",$ZL+BCd M["';Y4ZJ1N[;>LP^#0\ '8#O?GR-C+R[\@X b M^)6.19GI.F463;*3>$4, X5;D$GVA4"06Y0\NI5N(N\"=ED4;M_C]DZ[>^^6a M&X2MN8GOMSLNX,G-[F(?P_2Z=N^B6_INNFUNXSLNP+N:[_$[\08!T.^4F_T>z MO@=#MGN=5V&S0?![XR:_QZ4 _/>NOJ.D!7SAQDV%S!.4W&L>E'E/7?$'?_'<2Ww M\',$'U#$(^L2^7.'CJM8:#@.CYU*\0S39JK$0^3FN"Q^Q3-96;P0#_8I J[;v M"0]E6M[M>I6Y.GD!C(45@*NAI6B\X[9U=]V9M_YWPP_Q?SK0I5LIW#H3,^WVu M,FQREG8U?@CRS6!TY0K0 ?& +?S'0H%"_/16]N56 ?>'A<@3\LG564/Z!8X?!98s MR3,.O2EPA GR5HIPYNI;)6F=G]: "7/6UE+V](E?['1 L6!NE?P56OE!;U7^RLTGP6Vp MI96?VWO" UW'@"95R\<-CGC+'8IFG4 7G_P-:%*OT,WG2* .4&$&@%#QR== o M/R!NA9*RX0@W\7'I5\\,'_(5.0M5BTOO0GR"$ =O\#GQ_2U'(B^n M>4'1 !V:3QX$*B0^(- S]/#9_'WS16/-D/,Y7I-#>:D:H "@0$A$O-!@719Mm M*0&@U#/UZ( \L(G=;F1S C%\LUDA97OI 4K#(Q!Y:EL- 53B_'U)>8!@?"P^l MBYOAZ3@:7DG^F='9#PX!:.0'@",1UE)QBX#_O!1RI+_ ,M&;D[J_:^J7H/9Ik M"^JTF;7F:J;[]_A$H4"LG5@WZCX#;V!^/+EI W#@OS63\0'@Q!CD&.J!_$!DC [Ti M )I]&[WS$IND?15D]6*]V4!NK]J_W*@V/! $E/:_/3J " CWL9U,26RB 1, h M$3 -_ !HP QP#9006%!R+P$P]WXI$D$/- .;_?JWMO4!2AXY_&FQ \V >]8'g M.-C!7D+@"R0$GD/FS@=404TO%Q!PO76?/7P-WE.TE 778$ZQPCOC+!4K_ Hf M4*Z$#N0 W'V4' 1$:>S .A# H=HDP$>6!:(#'D""#PSP >!"L ?A2_@&O@%@e MX1-E(V P]-XC!/$]/!"9D\,# &)LI]&0)&PS:(^[N( ;) ]]OIG(;(+*,"VPd M5MD'U054H5U ,]@%8 /$U))%3+6W9X-Y.?ZMM#]^< 6^\@ V;1] #10"7G8Uc M2 [5 "Z=:TT-^ $#0*Y&#:0 =0 5!0] >>];!7#5D4,,0/S*!4R%5MFLU05(b M<19<4-"RU0&@>1W0>O%]6! W4/2V7OR]!V6L@0/K0*-!P,6A.W[5.?Z9%;+0a M0Z?1K90<'0\E[%$0OJ&NA@79O'$^,X .Y %X?L,']?JQGST6%.FC U] I1_;z M_7:=_:*?!@Q=>GXV*C593.0 7(>^VODEP'XO!GU0V6AVCP5AO1" I[^7Z5=Ey MT(F<0M !100'P&JW0^-?\ @\+@+(E05W9@'IP@!'6CDB ][99T7D U&2!=9&x M#,CIOQ8QD&:VF[B ^L?@-9][0 ;1!P #NCX6I L$^18Z2GC$S0+N&:H-#A#Xw M5="JCP[( 'B^Y,8'* %#OFA%#*P#-D IM!_]6LA =H9&I "_UMW9!XC4OA_6v MQ@$$5\A "K #S*Y;0"I4C$G[?N/B0&GI0D@ ]( 'G7%(OI_7!2 #Y/WXAVMUu M 0?_IJ7P_U<:@3K?!F7\2\#X]R8RM!P?$B 6!E?3?AVFTD9I;Z*3_^BSG"[ t M!@6X1;91H$V0$$@3/, 7)OT5_+!FSF=*B7A0 !B:0?1>^*W%! \ >[ZDQ71;s M:OI8D*0?#1S9E-9JZ1!1 )\6/+#J!4-]@ 60"["P , X'*JM/+<'U #4EHLr M]=HV7KT5@"-05:AR (DC ?!6K !J]9MV#!B#B< ],$P#72XNN9L(Y $(P.MJW38"+o MA0P@ 5#>)KIT&O=6&9:%#'10[$!V1@SX 3S 40O3G508.-++P),YFIPW_N#]]2PSL>> ](]E79N#9*I8\X95GSW#3 2PT6*0m M0L4!U/X)W>F0OF$#GL0#T C8JEP6A/Y6Q #&0';K F#_M+_#W^;(>[#B(RF!l M ](!M@;-WT@G=%8*,0# /I_ 8#_'SG%50.A:[$4Q/X ZQ1K"?1OLU"+VO,Lk MG8@!Z+,^P.W/"17]:P)X_ZI.I3WS'SN@M ?=:01(Z"Q+$RV]F;[MO^(U43+Uj M_U12M2P38/B,RU*+2@)-9&D&$>E,@2SXAg M_!(!? %@DPL3./7N0'$@'0(-P#UV>QLGT &$210_H ,J5 ( $ 01:FX2-Uf M1?2 C$!R]80L!1.H0%0#^,>N,C"P00e M +)<<"@=@@Y $:A$*XCH_1J!KAHX%"!0@4 )5"!,0VB!!+)&X)IF$]C"0O0Dd MT:@W_+0 !_ %9A ^62QO'0(7:C#7^)O)%(&3-404S9_\*32 R:0#X@+9(.Pc MO':!D\!U@2_0"_+EXQ.9 .%-=AIN +RI@W+^P5.UB 1""0'XWR'CO_(OP/(Qb M^$Y^SY!@CPCPZ 3]F_[9J=)0PJ;RWZ-OD 3=89CQ 1Y;-00.P!E$ %! ^;7 a M R" +H ;( Q@&W@+] .RPHX X$ O8% %"@ M)N1 @]_XAK?#SWPSA)%8(>]z M:5J!3K%:(/6F$SCS42"@ ND 0(#.GW&!#I (Q 3V 7.!?1])8"_0$@@,3)()y M X 3,FGP_2RVRC-#G&3 8'FUw MFG( 6RW #2Z &*<$L6Q)_4P(2)^@#E #: !R.]Mv M ?R"7"]0GP\KO^<%0 SV]ZX!-02"CXXI"%AT<@S*$Z8 &1%KC8%/!( 8_ ?,u M :X@

2GBM3B;),^C%;MI*NJ@3PBCG,^@9U((\t M $J#_+UC0")@ 1<;M /,!O6"Z !\ #$@LO?6J0)< = !1 #<8,-'-\@;S(BDs MV6B#H4&0W7"0HE4@9! [. J:#]Y#J8&@!/*A!60) r M 8 3H#O#5W*#8 ==(DU8!1@8RJIU2Z#&9$;@&=P/X@.. $@p M".$Z(1M=#3K@#= @- *84JP 5Y"%BP2A.U@@#"VLSOA[A1E_RR+ /#@ > ( o M7=*#KSO^%>YN-@4=)!#N!2V$D;U!P!Y )]4 \ QV][XQY$&7F*5A1EA,V!'Jn M$!8'!N=*>JHA@ 2DSU/ &U/1m M *8W6AHC44@)NG(/R 9HXZ K;+$'P&[(7BU3;+B#9PJ@!H>1P]C(#X%@!@!U !H &4=H@RL[]$P#. ]O7BHJ(Hi MJKHh M:N0Y>2Y)X8WIAA6LL:XE! 9EJI.[SNMG/*7H0R+8P I!U 66", $ /4.PLg M JB%/[Y63QQ*6T@I#/1=O?Y[AJ;9$+4'V+/H>P:PT=8!8X!%2[4GV /72:YQf M 8)!)C46P+]0!:6V,32UQR8^S !=P,4'"# Z>@3JJ0X $$-2(0%@8AA4E0X.;<.R$@JH > SA"Q54[(NJ@1D2=V05$8'B 6@a MI&1O1[T_'7JIK/2?J0.0\T*#*X DH=,0Z'(:%"U-Q (*IH-FT!" 6 %\!$"z M#74&;1D&0 [ &$!(,XGL>%A/2P , ! @@?'DY1!#3)/#)//(-$$JW00X &Hy ME!8W925)T^)/W<#JZ@!\FG@%1X>RR:8@3657H@4TE6!/9R4:@&FIK?16J@#Lx ME>9*=:6[4C7,=F@7NP!<#KE0H"7MCP% K10Z/#@L#A,!C4.W(>^'@#( B!QBw M#[.$?8C=$PG $F,Y@ZJ9ROPV0!5E&3I@#]"^$IMY ;X^K4%F""=O, -0 +(!45@4!H8(U6\8Ut MUW!K_4,OR/]PKT1[VI41GVA/(L/3X)I&2Y@08$_- 2!-J3=$ &4)M' ("+,,s M 9I!:S%P0):/ E (X &4=N9*!S\B(A+@B#@% '0GD@ NB[ 0'P0W ?1 <0*(A !!&7 $\ "@!_S7IU?AAHY1#$ ",q MXXP*_X ]A0. @S1IJNP58Y(!ZP!Y"@=)R-$PR!84@Q0FR0 @@%,+,: " 24p M='(AT*.2SDBDMM('B !P4]X+40!BDRV@2D5"7)CX?1)@XSOSG6CIF,*%\A&Bo M UX!S#U:B$5%M*23Z@"H#G !J("FTB @#Q)?,@\F L0T=8*D3XSKSJ(."#YAn M ,X!G)OI#2KOA%H=@HIRB!ZCU"J%]80$P $ ) (88 H&P%@>-.XV4W!j MM5)-D*9840A :MCR@6LEI42'>A"C%+T'^#0(4 )@ 0 K",i M =AHSJD$HOR)+ICREE^Y4L808T0[0F_Y4Y'P. LDe M8SY#A(!C0,TEKNAEZP747/ @%R%& Z(&>"-&PZAJ/A] J6OXAT@K'@!&BLVd M BSU $!!8K -($A*+[[WL##/@B ,&$ UQc MD;R*(:[1HEB1K&A6%"2L%IMN"2[7HBT MFBL808 X))/_@3$(C4 #Z(".","b M XQ7P(#ERM1GBD),(06P6:8H>) QC@[@XE=YZ2[J[' 8YPU''AQ ?$'T!H5a M 38I30!2 %DF$)".D0V1B;0QWD7I8GCQ#] U6"^R :R+QBM<@,@$!/!8Q &@z M 0",\QN1R2MFNH@#8 (@&'D!VL5?RW11XQ,4>#JM%TD520 \R!; ^],&X2QFy MYC8"=( PRF\Q&21:E ,%T^+Q<5 %IM.#]2G0AFA YY&:^,Z0 Z8YOQ($ ."#,"u MD)Y%=AU0P 4H@W!:;(-@65I$; #%7A,$8:!2,^GT 8@\A !/0 6'&1#+4>Q$t M%W$MP$6PXHD1M5B^.2X>@UR,,,;88NLEOI@&X0<56Y@!;8:F(#, "U 'V & s M%C.-=P 38VF1N)A:-"ZN&%N+I\508W-Q%W!T2 < M 1PFZ/$3MHF'2 /6 CLr M& DA])Y=0+ QHY*V:2@=!'B-%1Q(8WN+&.*_H0/ J0 L*1R-WHCQ O15G 9Yq M&<-($HO#3_*8AJDM*,'8@;D DYQ5+@ 0,N'P01:D<\Pm MDRYS%8"?H[: MKBJNSH$ H0!HH#,W02/'Q)T),9 _B VS( Z"QC #P %" REl M JI1=@!P2>\EVJ2*JP,(&D$K_T2)([_9UQ+66f M&,V._L8O3LA+[:AK[+T\' N.R<;:/$8#NX_$%Z4 16!8#IS-?1G@@.L&D5b M 3 !)3DO2#" A=8& 07 ,PH!MB@&8T)'TL@Y@0,HAAB,78 TB-?N#H('" !@a M<"8 BH4N0!Y*O**JF?RU@W0 :*T:0'WQO??J,P+X(+D!0$@A)#HJ5F2$1$)Rz M@I:0XH FY!.2&T EP@'Q%7T!&("OT/CG@X(-B$,2: 8!X8 /0!)2I2 .V$-&y MX7P!%H <@#:@#_ -,"9D^:8HA*']5H'16U,&N"9A(8\X[X!AB/U1)(A_+ )(x M'PF-1L"/H_\1 !EIW"S>'*"+H+DI2CJ +#U.LA4_29]L@#(DYH)$2#9(A(2]/QWDAL_P /@K0-:, LVt M6+0_@H0N53;1S02/DS-]G/)C 4A #ZGSX(#, BY@PH 0D=^"#;@KWB*$P Xs M%NI(?#Y]"S^D R!TA$&Q&A$ ::+,'4 EG):YRR&@?10F_@!+4PQ@(IF#M$CZr M'(DQ&DF.Y#3$(UE,& ;P^?(;(\F2Y#Z U;A.:">('BUS (!?P"D.UP4 " +Xq M:>X!YH#-6R7)3Y-/+)Z@Q:(SW: 1E^B1O6(%(.PT:ZAPB9\YRC8$&D E\DJ.p M0<"2/,EM2"H@2X00,$OR \"2'<5M2#*@6=-0ZLG\ 7! &83XTQB$];.7'(-Lo M#N\ @P!!'9M&YE0 4-_546A,.YNFF6_NJ+=-O-J,LZ@TUKP!0'\J@V !@/+Qn M >([\1LZ@,_I-_0'0 *0XCJ+(,8'P"MR&_>97$""NFP&N3KKXM5L$# .:/E(m M#G(ELQLP@'N&O8(!Z &,$^T $8"8&P"@CF*D&H5T?VJ3PQ#^J3'6U&7?Y?M@KDLFL32)@ B!;27%HN5H^.D5_ G #P"!,TQ&k M 8,FD)3/Y(>Q+2":/,4AY&*1I\D)@%5B=@,,DG.)]-9K;R82@,6$&_!A$VN)j M:,A[EK/)S?EPMF@PM 2@A 8>(H,!M1\-Y0_15?-#)-Z9g M[U0'&,3T5!B HWC$V30%*25-,#9+DPD TW0[Y#1YFGZ'3D-1$ZG)#&!J.F0$f MO51-?QS'(>5H=I7E^R'B!3E&!DJUTQH@'M Q>4CEXZ0!FQT"3802%S"4,[R9e M 7 !&@$.XJ/)@_0!@#VU?"X F"9(P*8I#^5P" 7H*;MH#ZD^C9;P22A"PQYZd MWZX.BX"AS!7'%6)>@.#Y)V=WHJ7"X0Q M*01D&;%0Q*574," (DM3(E$Z !Lc M U!)9*P" (N2JS6HE"<8GTPB!0!'99WG+;4(&)T-I?*'::5 @$J1?PA 7"1Hb M >I*QD-9F! Z ))J$H= X0 '(#;SU!!U40+F$4.FO:36!)T@"C ?/4-\UVAa M?K:*;I!!R!U@C-4] [B\GYQN$)L>T7?'_+2X:2BJE<(!^Q&UD@O$TG0"8%+Nz M*>4$@;]QI-8 8Z=*/M\:!9=4IU%AGP8($S%A'3I TE0=IZF(0J=60)34KB( PW=(IWY3-P0?Pv M /H3>B,/T!%G? -YP@? WZQ03R#8'2X@WT<.2>"-?>9WH9L 7@CO?L>^ZX!Xu M+;^65P':F^T-][8Y>0A4 6IP^P8*3MKR(( "D.@\!"A*UI)_P#?@+KD3N *Tt M0_ F!@ <0+8 IL0(V0,\0%1*& >$0'Y#1.>CTQY95$ !A@!< 1!@%/?DL@3$s MY\(!]8"4@C) $[ #L"OR!+ -,>1B 0 !8 KX%OR /R6J"7 )4+ )A L&!84r M"Q80%(PQ ]B/P(L$!80"XP%.0!XPQ#@",%V @# CXWD:M5"S"@'<(/6+5$q M ]HA"Y:% -^![P 2F C ^B6"0&HPD+ Q+>\C._I[.B6W1A(@(@M<#EM0 C@p M37 5:4PC?9R>XD"Z%YV+[>7X,OPI?82%/ S*%^:+\^7K@("@/IR?;F^1%]"o M (( \,OXI@#/@$, &L )@ 3H!.X ASI-K$T (, #T (0!J8 # !O %4 (4 -(m M,-$ PH 2 ^@!] "& )D N H( N@!1 @@D(R 1< N( /8 _@#S@$A !" 5Xl M V0!$DQPP!^@'U *Z %\ -X!@X4D@"7@'"#!Q 9\ _@ VX >P#E #= '6 5Lk M _8 '0 > $* :.4"B #X (!%H Y0!9 "; && %(,0\"X !'0!Z@". #,&+Qj M YP!80!"0"3@BPD P 3( ZX!>@ ?P P@TR0$T .4 XH!;$Q0P#W & +\ 'Xi M S !U@!30"R@%V .8&,B FH!^ !R@ _ !_ #8 1 #P ;0 .0-D2'2 .(!C\h M (8!TX 50!D@ R .0 .4+:$!30 Q !3@!Z %( /L +X!3X!&P"F@; D$" ?Hg M 0@!/P!<@ >@$( HP@6X \J6F(!,0"8@%_ #T 3H,G^9^8"R989L<9<0B/ Mf M!+( _YF$ !#@$9#,E"<- YJ9\!!\ #03$$ (< $$ 1("T )P!C@FHD0( 3(e M'KF9!X$R0#.@&0#.! %\ 4 ! [DI9H'I!B $0 B( B@!&H V0#LSQE8.X 3 d M $0!\TQ(@ > &, +L ;,,VD )H!ZP!K =880P 3L !P!(0 "0#S@$U "2 (Lc M '0!>0"> S(@$] 'F ,< *8'NP Q0"T@"! -X%U! R(!HX!B@ (@ ] &\,/(b M 5X!)0"[(A@ !6 P X )( _0!. .@%Q +6#FRK!8 K U0 2@!V /: 4,a M \H GH!50,BKC7D*X 3T B@ ? !I@!?@%( !* %8 ' XT( - !P H !( &$z M & 7@!I@"= \*@.,?&) 38 LH >P # '! !4 4L VI7B4PA "W ^ *:.8 y M )8!.( %0"L& L )P"&( -H!68!) "A@#K -:"(B!)!9^0 L !+F#T &" :Dx M 'P MP!7"P &4!F6@6@ 'P 5@ H@!S "R #< !85&R79@!D@#]@!3 *, 7Xw M M(!,@ \@!? ?X(% 18 *( +P!W "*@&9 *T 7X W8!(R,( "L 'R *D & ?, +H R@!.@"C 'F ".0A t M F0!T@!VP _@ F *: 7 TP 8H G ,-P/Y('& 94)A0"@H!7 #@3%E +P 5,s M HP $ !\@#- "X +J #0 X@ " $49#F@') $& 9D ;0 5P '0 Z K!<2H&Tr M"'$ 38 _0!Y %= $^ 1X!I< " $HP#L " 4%. /@ NX![X!:P /@&6 (.0B q M 4!=W8 I #2@&" *H !L HH!)H!3C\6@'G!5N@)H ?@ P( I@!F !# #J *Pp MK) =P!!@!; &\ (^ 5D *8! 8!AP/02!W % 10 [H 60 ^0"=@$^ $& 48o M $Y1PR%J@## !! &\ 6L *H!"X!YP"] .A?BI 4 ?( K(X^P"3@%[ )* 0$n M Y)R_P4/@ . &7 &P ,L *H!JH"G@Y!C&!(,* %\ -8 N(!I@"@ !A ,V 3Hm M 7)K!P%L@!1 "1 '"#$$ RX!9 !/0#S@&\ &0 A@ V@ ,H!A0!R@#& -D 4Ll M KX O8(YX+RJ&_ $J #4 ;P![@ CP(C3&5#11 B@ '0 J8 ^YQ: G)8'V $\k M 4H!=H!AR#> "* +V ,, N8 C( 7@!J "Y %R" S8 *H &P!]@'# *\ <$j M 7P $@ P0!\@&.">H?1("YDLOR=^P"R2;VE[8ENJE#Z7!,QTI[ISWZi M.]^=\,YXI[QSWDGOK'?:.^^=^,Y\I[YSW\GO['?Z.W<4DZ/C$T(@^2/P/ @$h M9"9'5)!($,(3(>!WT,R)[2 ,;,S)42CD(/!9P0":(>8f M E2>8$P( Z_AY0D.@##,&&:>" $20#NDI#/RQ = &(PO14\( S;P>X3P 0"0e MRX">!P$:0+L'YVF[7+6 #4:>M\L6PWOAX[EJ\0!L/1$"64\ O@ZWD0"'O6d M>K">JQ9X8.'L(("Y/ @D 54]/#=PS[#D&F'NN6M8 <,_@I6D$[MF[/ C\c MY*"> (#=Y4$ %G00^![]+CDG[X7OD<+H(& )@'O:0 X"OTC )R\) /"4&GDBb M 5@@'9R7Y^7S(" ,F'NR0)(!GL^#P#4@[\D"44^-/,$!+)"=P<@3#]#PM ? a M/5F?FCGCPN2(%=#PA,J,/&F?!P$-@.P3(< (%+M)G>?!X'>YT' ,C/RI D^z M0("?B,"#@(1NY$D/*-<\ 9"?S<^#0!< ^4D**&\6%T:>U<^#@!P ^>F3\GMRy M/XP!<3%9#^_&)V4T:>/("A$C ^1G_/ @Xx M Y"?T)Z#0,ANY D(,*>]U:Y#"(%.F7UE2(!9!]^P!(0!$"%-"#0 M@5[ YVM-%/2^@'S(*DEASY&FL.P@Lv M 78%WZ.5710 !+IOV% +( +% N@ OT#, "90.X0-L -5 7Z!X !8H0<-[)u MZ4:>N 7J*X ".H"]02P0+$!+E#)X\@3"7H0H 6P0/$!+E!>P!/4!:H,8(&Ft M!0X"")21YQ44 / -8($B 5!MDC#+)ZI-G3#RA .@VNY:95!46P)@)#(YH@2@s MVB( ;%"$@!OT(/ !B(,>!'@!J+83@!T4 ( '/0C4 /:@?5 @ \ $(IJ8P+Lr M0?D!^@;,X,@3$7H0" /L04D (D^_R\@3$GH0(/J,/#$!(D]7X"54Y&F0?'EBq M0@\"G8 ]*!/ P4#YW(-R ^H 35!3*"H4 &"Y>GER !X&)X,]Z"OT(+ -&(E\p MC\ :DMT@"T4(0 -"#?6 V2AL%#)TR0P$!UE \0!^ '!(/G8>.Z*RADYN#P"@ 'VH/C058m M0QD OR=>P#_T]Z0,L(;ZG@X"U "#Z.\I]7+Z_#T5PAJB!P%\@#44!D"W]!N,l M/"FB!X$(@#]F?)=$O8U''!Y 2/8D"k M ) *=&#WT$@"A 3?>7\%E*B[ZQL T[4)IH'2(D**[&,/E&;*"0@*'H0N 2Dj M1(N5^M"4*!, U-8*4(J"VG8!*5%8@(]I&! 5]3%% _PQO"M6 2(&X 5I0B@i MVL0!7=&#@ WT(' ."(LR688X\@"SJ$P4 * /,(N" P@.GP/SPD4K(*( ,"_Ph MKM !;*<)@'G!KDBN.PAL .RB4\PA3@D ,"H6A8NZ /:B" %-V*R0, H .(4>g M!(H C%%LP.:$"L 8G7CN&QBC_0%I*&.4%3#$<0/(1=4A[1 \ &/T($J>8HQRf M T1LA)?DBSKDU%,)8(PB0ST!C-&EZ$$ %< 8W8:6/1&C*A9BS"^ ,:K^M'\Re M1BFA !K &.4;_D-V(PB2](!C%%.0#)SRH"?00@P HYUC%%(P!#' %!SX5U!d M !8A '0'44(0 ,:-Q9 &HN=L696L1@.]I8:-RY ,BC !L *33!H >908@c M.&-LX-%N)C'F8W@0L"O>9Z8 Z%$9Z$$ B:8:UOJCT8,OIA^@YG+1:GL" P!Z%%( *CG$8 >Y3\41=&CF !(I] %02KN/ BHa M M"CJ(#&G2P /1H(U05$2$5LSH **0LD&X >!0.8&,8!Z-&<* #@'< @U82Tz M0_(!Z-'Q9^%3WW+1\MT4'/0MO"N6YT$ Z!OL8\VE4P 0-*$0#O$!9 DC7IRy M,\L7"-*>YS:.1QH G88H 9JD%@-()R0"02KAVS<429VC3:4SP)?4O-E4@@-@x M25D!7TQ)2'U4#MI44@1@26D!V-%) ):TW D <$(B2 &B!X%5 ):4&H!JHP5@w M27D 7TQA )4T/Z2V9 8,2G,%[9!K ):4 P#I! >,2=N83:5F7W-4+ KII =@v M28D S4P'!>^*GE(?=5!#0#;@5XH \,>, Y:EH$MW@+;T(+!7J@?\2KN? (!^P+H4 %"AC![Pr M7.R*O3(( ,_EHD4#F(9D '@NO"M&P!P0!' O10A@+P\")@" *=@3PO "V)<:q M3)UV#M,6PS0$"J P/0C,0:4W!=,F:%/I"Y QM1@TE=8 $5, #9K#M QO1WNp M 2JF;T<@8 Z 2@3($ ^H920,AT W80N 6$o M3/M>BTV4*1X@*?<,Z)CZ\QQ$*--\* @@( @I07H&]@!(5-+8#T 90H)T#?Tn M U"F! "5T@$@X,*[*OP%&+BF" $,@$J) Q!PN6B-^2(&8-.#@!DT.90V76P.m M<6P ;=.P7@^@;2H551"U33&B ("&"X(4"O#%!!$.2[^89("RJ9+T(- &:)M&l M/X,";=-UB(JE;;KQM#(*3M]'TQ!'0-LT^PD H 2T386? (!-0,#%KMA)HY>Vk M38V? (!70-OT"WH0J 6T3;D!$"!@P.;4UNE:60:T3<$!OZ=I0-L4]^D@:ILRj M ER@>30$*1(@^Y8.6)VR+0LK !Y0-N4 E L;9VM2=F6F1L! %G%.CJ4 P Li M ):GPY O9@2 K&)77)KD/J&G!0>1)PB K,(O+>U$.Q&DL 6" P >[K&TC?8h M ,BG%4X> /FT_GF0(Y]R XPT30#R*13T($ %X)Z.+DL[7@#R*1,4 % &H)YBg M0!,A<@#R*0C@BPER1)#"/HT*]E.V9VE'$4 ^Y04L[C8!Y-,@Z$% %. _'7XFf M0EH!%5344B)$%A!!-=+L LBG440 #& ?(KZ-(F23T6B*H4$JE)N&J(-4*%2e M3 X"Y@ 5:M@. . .R*"R[K0%9)47@,Y":&'+> '$2>@ , 7@(#D"_ %4%@ d M -(?< A*@#@## && -\ ;P#8 )[!0!@+3#"4*(R49VH4%3;@!15CM&UL*(Vc M49^H+(@HZGB!N=3O@"&5N8#.^ (,(H(+D@&=P!? 35 I:H+ZPQV5D/I*3:424?,$PX'?@AU@T4!'/:.Zy M4O6H;-3? A%U.*"%$*9^ 8BI0]1AJEO@84!$W:1B*(*=S=0ZP#/5F'I)%5(8x M4\VHT-1;:G.AT_D%L , 4LT$@E0\*BIUO/ ;F%+\4B6I4E0SP)6!:' ;F*6Jw M48&IAM0JP8; #7!.W:,N&H8#-@MW:B35GCI?J*<&4]\098 U@#\UGGH'*!+(v M" :J4E0X #X5H3I>$ Q4+!ZI^M1Q*O!I6L&ID .$4VFI\-1T:A(UHEI+'2^J)54 @%:$GHI6W:/V4]NJP50.0U15G-I1?8$85-NI4E6)*JD";E%4;6-Hq M!XJJB($W0!J@J%JQ.%,P5>6H8P [P%P5HYI6;:8.*&P,+@7P:5:NY#;)$',*9F*O8OP4JJO/"F/I1-1 84X,+=@ 6JS%UE7H'>*WZ5^L=<(#LZF_AH9I3_2W8h M!T*JNE4W1,W"PFI@9:;*6,$$'M;[ZAO B6H7R#<84]T59P 9 +MCR@K"R*8*g M&=P0M8'?@@0&\=!,Q5YP!=BL;@$)@8?50*!D?:^N5W\+ZE4S:S.52Q!2K;$*f M6C<8EM7WZBG#P=!,1;*."82II(K9 &Q53\ D$:9"58FL159NJHQUPOI>G548e M4^< -XX^:Q&UP&!4%0A@63NMDM9.*QH@PGI+K5N\!^(#@-8&@7,AUMJSP#8Td M6LT9R(P: ^J"J&$0:*9Z4\6KO]7!P)-!Q1I27:Y^6M4;6P%6*R6U- "#: Z8c M 8ZM4PZFP!R5O?!L):+N& 0#6@;F@N[!TCIG^+3>."PETM9O:H8"TGH4H;7Vb M+%:MM-:Q0X65B I3?0Q4"8RI6@ Y !L@MFI,_0W(" 8#*K65M;IH:*0&#)NI,]8R@+'5VHH&P+;.x M 8ZI4PL+:Y]!I;-F;;367-&LOP4Z0,7"1Q#.F*F6 1X9FHJ#JX#5M]I,O6$(w M!62NO58BJL]5ERIF_;D244.K8U95ZKL9=1>:K65B#ITZ*TF 3(4AHP.:S.U1" 4N+S*";@7IQ+;PFt M+Z84\-;%*[PUECI3+;M:70L>K@9&JD(5!B%,#6.$,T8,;U=,S1B X?J(\+K.s M 3ROF5=CJN\5^+IVU;Q*79<"C-> ZXV5B%J"F"^\7G<,RE8]P#;U^4IR_0*U9TAAN#[TI$Q;X"7;VO#:3&q M44NL,59&:KY"=3F%V+?^%GPB:8HX*G6UU_IB-;%N&/( 70L/ZZ[5IJI>P*>^p M7T4.PM37R(P Z5HCB*,2&@*JI=:! )%UK %2G;0N!6P0QE3O:AQU]FI:G0-Do M5:.NA=7("'!!WM$@ ,'*!0P7]U=>Q'7 ! N#*,'J6D&L(U@LA']CJ_IG[;IZn M7P&N@=7OJF< WEI0C1"H/UZN;U>W0!!6MWI&W;(Rl M%XZP<53SJI4U0C 38:0.52,$9XH3:^,CPBJL0*W^.^^P>-A])Q*5/?"U]% 4k M./ZP XX2QK" ):#@2%'0/VP ]X^:P$D 1J$I<'<.0# <. H-1P$D#ZL!<3R0j M'Q( 5X"[J@]"3^ 8V4,8!:X 08H33!7B+3 F&7T4!)P/; C1 ^G!]" D<#^Pi M'EP/L <+"2JV]G![N P$7;49O8>MA?Q"X!'\.#XT,.0;S =4+/3A_$!]> M(h M1; /]U:[!?=A^O!]2!&('\@/YH?NPYH@_1!\T QL,URQ\(=6!7N!_F!_^#RPg M(>(93@V111"#<>%["%!D*@0#80H0@!V 3.(E4%0P1NX"G=A9!.T!B'$@T,36f M-F E.Y)P+/#"+I*/#<& +4 /ZUA3[&U@%BNEV#_T'QP$ @VQ-VA!3"GV$8Ee M(/(Y"8 A@%I .[#;N#+4 ;803P8C1FA$>A%],'),(P00DHHLA:5B:)!O*&((d M!XH:CIJ8!J1&>O%D:%T(($(5-1$[@*4"4W%UQ8SP!>P#10,40"9B[AJ!0+.2c M'F005];=@'1@S&J@F .@ -P9SX<[!>["E?'00&:(++X-B@_6AJ4.%X$?0&5\b M": $M(?]10L@)FNI:)/( >("M(BY*V+@]B&RT!'$&-@#6=D;P%;6/&"I* *Xa M 2:RK $QA:("%/MM$,5F90D0!H@\@*6"\P 6.!MU^#*\!XZS:%;7[)P!//L>L%X v M%Z:PY%D* 7&6N]";3AX#&?%<]Ju M&L ,_5GB+)&@%A&@9:2"7,L !5KZPGU@%=$'6$7H(%X=HX\MA @@QL G*#N(t M '003!$ A1G5#/"@[5I$:+L"/(!%1O4-;F&S0 /X #JT%MDM1(@68'$T"#>4s M'4ZT(P ([4461'MZA4&\:%&T']H!JF W&"O,-'B:&>T U2_ZAG@1ANC]= "r M:4.TZHT2!)%61BNAS458:'^T$EH>R),V1FL&0&JD(/@210 HP$ "!("EA0(4q M.I01(P 4 \KB05NEO40\(@(25(#^!-SB$A&=W6W8-, ,C-151)AV,!"K $;$p M*JRT,9@B0!%@"6"-2-,")?*T>]H^;3)"!R&FY=!N::\ JXDD , AZ##GH4Q o M'_85; A[ZR#B1A*#H _09=, HMA"A+U5>%&@ !6H *BLH $H0/>R-:L"@ ZPn M%U( "K_ZA%JD\?&P8%,(6;L+( !1+0J 5&NJ)8TH_.@0FUJLA3I6L H:@*K&m M:KN7I]I4;:ZV56O3 ,"V!V2UZ]CF *IV%3&LW=4V!R(/:-=C;?>R3=L4\18(l M:]L,G-ID;;[C]O"K10%H:R,/RUH%0+.6O= 6",'.!62UM-I.K5% !1"N'=>Rk M*:2N)]C31[>65-NNQ=;J:DFU\-H6K%$ 79N;+=6J:R,/[-IK+:OV%@$7D L(j M*[JU[ 7H *G67TNO3=6*:^VUQ-I*G=J"60NQ_=>J .JP7UD'[;=VSDK9X-=Zi M:FNUUMI5Q+?6)8(A\-BN:Q6V_=IP[;=6#%N4[=92:U4#Y5GHP,LV7?NR#=:Nh M(EZVX=DP!A"V92NKG=GV:V6VV%DW;;B65+L;R?V- L#@ [ !JT85O8K6_@2_$3B=JR*?@3-8>;0\[!(='1V$2,b M99$/G=O@+'Zx M1IJHC)H(Q ?W7WO\(.%R(-"V- C^1$7 =($"0-MV;DVX((#.+0Q@!Q!ZR.#Fw M< NV>=84$&K5@1NJLP- !T0 ,! 1 *H6!&"_=3TH(7BXI <++D<@@SNE@'&@v M #*X4=S4+ CW1' "N .< 0) &4!0H 8WL&V +0;W.X.EP0@/ZV4H=:'=S^u M0)JX[0PM+DD A]NYE8O)<2L"> '.A10W44#%360X.<:X$H(V+OTVBYL P,EVt M!4X ,8 O[E,V#5 1J./R<*NJ @%^)9C#D L". '( !2Y:-L?K@S@DW#W#'!0'P&Z

W(0"T+397FPL:X.9^p M9;44,H E[AXW3K"AO>(B6WD11UP9B$BC!I(4R8'L0#H,(!@WP \D(SL$$2X(6n M=+< (E8R0!< .B#1/<[F<1D#( &2+6L !2#!Q>C&+ 8#&]TBKDEW0D &6 '\m M;QVV%8%00X" /K##50 \="VQH(=,K*MD$[L4Z,3.8EFQ' U1;#R6O?#3X-NRl M!6H8A0O?AI@"N(J!T$!H:Q4 (MVN0 )W5ONSY>DB6XVX%EOH !%D0T#!E>*.k M9DD5:I'@@%AD(+#!Y4!0:#$$N-?*+42739$&<.&R(2(E0XH5+KG6#>#6!7(0j M!]2Q[8K5!QWB@LNFL /4=<6KG8NZ*WU ]6&]S4" L@i M;I$#BEO#KL5VT5#799 T,SHD8($5[A@B;8M[K>O2(-*ZZUK)KA$@"2!OB#R(h M8BF[R(BZ[:MV-#"1S5KL=2VVIUTP01JCK,N&H$&D,5Z[I%K0[)-AMANV37R(g M8*0;^P$9KE5WMZO[Z-P6;<$$WHBA!!.@,E$$&.W*&Q*Z=ET*!G%W/V#<55L\f M&5 H(AW@Q# N5L$@.EZ!:2Y>(V6:QG@Y6K0/>-V;JFZGEK20[3VB@MF0$&8e M-=ZP\]0)+@*". 3F0$:0!#88S@68J3]7NBO;]6V0'L(O^%O20P] AYO%!0G;9HB* (FR0,$= >Z=(%WKAP NHO'/0VDc M@!JZJ5EG;LI52!#>C=U^*0ZZT('3;7P7NIMR10R4>,>[FEOZK59WOQM;[>\6b M!*"[4-L?K@E =TO>/>@>9_NX5MQ\[0M"ORN#I6#,>&6P< MU;FJ6DIOLD./Ja M7.NH[MS0B!S@B%L4P4*\+38$@!&E2)6 *5+$N(%<>)$$?Q*.P%;W2)#A/;?*z M 5Z\/5X9;R6W!W "2 &X=#F\:I$I!4,7NDO)14" <6>X[=RA@)3WB'L6H1*Hy M"08#7]XR+_05S1OC3>F> -B\;EX0KT+7PSOG=>BR(D 3X!Y:J=6;X%[P$4(x M,T(:X@P<1$4 H@O>/>V^!HR[:U5OA)Y@NDOF%0%8D9:X UX0@!.@"L $8 (4w M>#D"3]XS:I0WV7K$1=2,,22]7EZ!+G0@MNM<\.\R<^.\'U[H[DV7#1$0\'2Xv M+4"[F9$>QEID./ AD>M*L X%1;D>]Y1$F;N>V%N'>[?:^>O&\DM=9+SS7ZBMYG+J.s M>FV\90 X+[Y7V O-Y4"(<0&^T57B[&X6+)#-[=*2'N"XYUYV+CXUP5L$6/;^r M=J4BIH9.M$E]&;[ZW#U"(B.:.-D0.XELW;)N!.#36M5<(q M:*>P( ?0+;7O6MFL$&D +08[=UM[X#B>!OQ#?D>>(VR(@"XR!XBZC 7,8STp M178D+E\-;\Q7SCOS??06>^T6KY*K;]_VM8NIH4)(>].[:5L;A.T6.D#NW?86o M?7;BW=*5N[V!63\NG;4*0n M'L*\B0(XKAHWQ9$H@/:2 5 ;]^^[;4W[UN+8*2";W&O.=\YPPH \_OS)0IXm M>X>[X=Y4;SOC-.OD)?CN>=F]DQ%W;]JV!I&/U=F2,W*]&%YZ;QICZQOL=?3.l M<(^P=M\S:GG$0D!OJDGP+VBk M>*F]D=^S0(*B/5&&:$*D=-N^D-_F;\ 7NBO&=?T&85$ S%_L@,@A0:%PV$<4j M)5*Z/XCR+T#B*Q'TS=.J(^2V3E\.;()7ZNL>H/H61E:_3)*LKY27]MOH#?$^i M>B^OA(;.K$Z#F/'5K=[.!\84-@9+W0IWX[I[S0.$BP?L?4.(*g M>#NWWES2[\!WY!OU3?TR1WHCF1%#"6?$*. 9 8T4!D8CW@+]+\SWUSOQM?W"f M!KZ_.MF@+6A@[^L&@ Z$?Z<#$^#E1&H".=&;./^&@)D3R0G/A(-6[CL:^>&Je M@$\?"5Y"@PL8C0OPP-_*@&&]\M\:L!7F!@QA36@D86,C,!+@2.C!-B($YD7Pd M?[N^%0&6;5' *)L$7LTN@V!(L!]8$GP&H 23@BW!@N!-\/CW)3&2*$D@@GT060F81$G"% P", %Wa M@5/ %8L5L A 0#$&3O7&@->Y3]_YKPVX,H(#_HTT2N# ;0%#R1SX.%('WO 2z M@66^%-]3,!(89PL(-@PX@!<-&%X3P"GC!1QZH-=J"N*_-&!\<&7$L@L>\9! 2,HC ^%K,->W($S#O0AWv M;C/"IMH?[@X71/+I+?.Z!>J^IXPC+@A "#<&AN/R<&W"F@)3[0I@!1#R%>,Ru M S\2$RXEUL$EN,Zt M<^6^#.#9 'GDB)OGP/"F<\G 'H$U;EH8#K 6]MSR1]S").$X;J*@O3'N%:_6s MA44 _Y&0\/>6"%Q670>[R)" 0;@9W"XEY<\'QB*FP/I@%/2.($%A(P"7Q$0V+EY9#4o M1WZ[8F%=;X9W_RL3KOWZ?U6U)8+*!?"WB#'\G0OX18R_5]<&,/@W^KL&F/XNn M**J_9XB4;O(77#L(A@([A-6\V%]P\/:7]\N&>,=F"=P6P >CP#V#^\"\:)!@m M=A\?K]UVK@A@1/*"(%?,*K(5G9(5B;Q7UQL*Q@5#(Z8 #&%"L$-X'&$!ANY*l MB%TDM)%L;Z)D1K(H2<)^>3O$WM^#L"RX$*P(_@0G@KFVB^"X;X: VIK@U9&,k M??TDE))%R9KD1?PGB1&G@F?$(^)1L"?8"HP+UDC4)4S$Z5X10*:64Y(D$1(?j M28C$/A(C\2,829R@J$G$), 1YF O\2Y81RPA?I(<+J(D,PLJ29HD4((EEI%Hi MB8VR7&*E!$OB%BPG)D= B7G$(H L"67C44,;Z9),2KXD6^$V<>-7W_']C1-Gh M);P2Y> 0L%8BX."9N!-#>44 I=@RB8KX3^(I:90(BDD";^+Y<$,X05&5L!'Cg M@CO%C>+CK(2X31)<>)/T@U&L G%,F(!<2%X(DPG)DSLf M)>S$HN(H,9_D37LF0?S:0*S$EF(.<9$85GPDEA4GB3L3]PAS,+*X-$$FCA(7e M2AX0DV)*,;"8-K(A'NC"B(G%6V)C<8*B-N$I_D%PBT/%J5D)\0PF4@(CF92Ld MB6TDEA(M@ZL8UHLMAA-KBZ7 NXDL<++X"CP%;DX\B7/%>.),28.!44(M[I1,c MBX&HL'8">NL56 I/=#D"$N)5,:H$P_LN-@[')U8 R6%'L:Q7!'#AA>ZJa M:@' 6X$J1+=B>FN\-0"O<"G&G^&D;_;W @OW14!K1G?y M/A).8%X?R7Z874OMC1K?/E"\8(ZAK]*7>OLU=MAR('2ZX8?V,.MW[.N/;7<0x M,YR][&!/[P]7GKI?R/VN*HZX=X QL*^8))#J7?6V>A>_O5PSP/YU9TP'4/NVw M*-B^.F/Z\.?7T_OQ'?=&CMNV<-_X;[KWY;ON50-+1?:OJ]]8B1:F6OSM70JLv M*@C"CM[4+!=5HI*J'?;2'N#&78%+K5TV ,&& .JJ(&3'E][_P$\CC;'4'5PDu M+3HP4=D>B,QB*TQ[6&K8!HH/MPAN;%/7X<2K50!4=&L/"MQTK2CV;WR+@ Z8t M&7@@7=VU;MJBK@O7?>T6@,.Z[8'.;N2637 A:%4@>U>XW-W(PZ46M3L^AN$*s M,S*R*UQ2[?H8XDO;7>2N?C&]A=W4+!0@"" %H (D ?S'3P G0/ 8BV",X!]Kr M)]:W6 "Z+0?B S.LR.SF(#@0D5Z3!LR!TBN4M1_CC[D0F]Z*P/RXUTO=!8((q M6Y&[B%HG@*)V*,'=Y?Z"=]?'/6&^<6)X@USO+0@<<4^])&'#L:N7*LS.W1P7p M?%&_5IBU*F DT,M"GOV6A_N_S5RO[U[DV#L6\8VD(-P6"E^V2+-7LMO]G2\\o M@/G#U5Z1P^17;8SQQ5] !U#(E6,JLKF7AASK5?K>D#W'>A%/![S7*4(Z7G8%n M*4B]J./SL-RWW[N^;=]ND>W!-N33+V#XX(L6H0\DD1F^M@$>\AD9XIM&#B*Gm M9BV^X%W.+R4UG,'QY?L*'* 6>31;W78*ESR7?B>?"D;*=^5;\M7/,PYM@;?l M>['!#EV#A7@W+##I90TH;/4#%%Z!1RQU,B#<%>,*DN<,/%]!WM+!OQ6i MD3^_ H= K>%W<$P24/SJ;Q/'3N1I,FUDBLS>U4-8?F^^&5^=[R%!E3R%_?QBh MD>'"FF,><26YUIOZK< @DU/$KM\=LGBXAVSO7?3.A(W ZM0? :$!FWQ&WOT^g M>OT>8XPH# -99O';Q1MW+U'(>^-0[_3XE?%"%AR3DV4DA6-6+Q, <=SXO29Gf MDT,/>]]6\O[XE8P?I@(,?L7)9XC#;^(WC[&_V.,K3@L@&9N&Q<[DCDy MEG?+.Q$9L6\9N"Q<;C8(C6_!R>7J)'!>CA+Q :Z<;F(%:VJ&#'AQ%@!K <#LZRn M@J$#@F"?[<>6/ "T704S<,4 V>.*P#TC" +Y+1K3D%4 <("E\ ^7KBO'I0\Lm M,CNW0P D /^8/?$_=O2ZCD$/KN:8\;\6V%QK1EZ49V>QX-AG:LR8U^R)H#_(l M1LH M&9AK"k M ;K-">%O<[@9.6MM#L^RFW^SWF8V17L6KZRH: ?7;ND".N%'[J..ATL?X .%@+\CXW&((#CK$Q75\MNOC>Si M(3@/9P*QP)-A%DN210OD-)*Z'P(@R. B"9""F%),-OR\3!'HP(^@)"O\[5:[Fg MCP^[GMHQ0$ZUKGMVEMJNG<,5I61I[FIW-.+;@ ZHEY\ 2X"\,-)YZ4P?F.V>f MFB^^>N?B;IG7S,MX=B%7F7#-61]\A>YW:NH*3RG9+D"D)J6\:^WPWM0-@O+<2^^MUW8\[1WO8O?[1N[c MGO^[9=[\[NDYXLOS3>?&D$7*R.:G/YF'AL!QWQ.L 3F,H;'.J<-X6;PK(_^RY?0'Y7/"%XN",#XL-P#+6^U!0=<9.*:"QQ%C5@*>B&LM^J$*K'N8"-8ULQC:65-&-Q3_Hv M'S /!]GN111Z !&HT,MB9AD0#HBS0 0BH'R610,LC^T0]PF&A@0HVA7\@$9L(R*KMO:t M&$X#;0!Y;3,X!3%6=B _>ET1[PI7M%R ?9'MK=3R!73,^@E?A"CZ+U%;)B'?s MEKD1@]KR1#.:V0!;9M_Z)!@2X>7A$?SHZD _N@5P$&Z7MR:*$?Kp M).[+]65]M$+ZP)R.AD8[I.?+]65Y-$B:66R0GC CF#72S.@)7/A#E:)9V/CD3LHSO,%&GRLD<:P QAOBZ_I /,!6EI-(@Y)ZU>1DGCn M)EK)*&9W-$^:"!"17DJ'F&72%VGPQ'!"/%&=V$=?)9324NGI!%5:'JUBADKCm M)9++"0E4]#[ZQ^R> $O/)LS2)&E5+3 :AH&,YD7L)W(01Q$V;22X-?MC_A\Gl M 0+(3^97PI1]V!DV8EI&T.&P D XGNGY4$D (BHQB5FPQ, /$%$?5/\)9#36@F& W/Z"_"FB%48h MIX_3YV6F='.Z25$18$9#-5( DP<]"7>:*8N(, +0 *P 9@VPAAL K*'280&Xg M >8:%"/W]&>#N>*>I@& I]/3A@%LKTK',$#8H!@9!CX;;8&,@!L@(]#K2.WJf MEJT ;HD@@&HBN*S6Z$[C)J;-Z&DZ@'J:/3W7>$^S .+3;@ ![D1"0IV?3O&Be M!"S4;0$'1X9Z*%S?3>V" !#47P %M1"""M"@)D\W(Q*X$>H)]86Z0IW.W5!#d M.M;3'FK^-(G:0'V@3E OJ%G4;PH'-6A"[ARC=D_C;]W1'.KU]([:0'VB]E&Oc MJ%O4?PGS='K:2#VC=D_#IS\;&>H+-0V@/GV?3E+KIS_4_6D1-8":N6(8L$\'b MJ5W4!(EI\Y0:1]V>ME!CJ#74W0@O=8X:1.V?SE!#J1_4"EP)-96Z35VCME%Wa MJ-L"8.H[]9!Z[JRG7D^#I_W4ANHS=90:!G"43>UZ:WFU:HV/KJ+Z*/V=GD@(z MJLO3Y^DU-87:2GVAQE+/I[?4 ^K[-(Z:/XUM!E /J)?4)FH4M8J:08VJ1D9Xy MJ7FX^^GW-*Q:3 VK%E#'2A29VB_E&3w M'I+5DX=7=;-:5HVK+D_' *C5A^INA)(:7-VC[E8_J;75UHQE=;1:2(VIUE17v MJ=W4GFHM-9=:72VL)FQDJHR];P:39T 4%,7u MJJO55^I?]40"6^VO%N#"J\75L>I-;H@:6EVN?E'GJ674?.IT=; :V_P69E=Ct MK W6'>LT-:%Z0BVR-E1?K.75*>N&-:,Z7=V-B%33:3FT<]K@ H?6,NT3F"\4s M! B8@VD0!2 V41 #N $@ID\4CX+\!]_![E$IH,Q*.'[0[$[)="36 #*9YEDGr M0%*[5P N+0A "J#J%0]TK8\ FL?1%?@*L(5>$U_,C00]EV. &$V'@L ML_Fq M!885)6J0P(!W;DVWKEO;K7L &HCQ *@UQTJ]6$VWH94#](=L1NLC8R$6,#-$p ME1W&*H EP9BB#""YI5XD!?( &8OI@QQ 4#: '),!C@/FH8]01X .A 640'&@P*K ,,0?.A>2:T, &2$'D")P<<(P]QLLBV8L?F&1P:;,'*N%USk M:8,8BPLU0<\"A0$F N8+LZZK0JD 9]5B$$>(&\4,:[7.PM0@R+#0E"A50#4j M1+($A=2P ![E2' 1E_P!2H6S0VOJ.AJi M(-H5^=G7M0JB)1O"AD( ,C 4&@H6]L""QJN!N&"3!R864N<@2/^:G)&DD#J+h M2J37N5BC@?;"#3#"%CN_ 6"S@N!^Q8L >)'7$!+@!H@ [X$3P%S@X!&N0%DPg M8QD5L-K\ 'TD.Y :B*6RK[T/[NMV19, 8!$-?A!<-\ZV^ QI[ G@4W'PN&RXf M!R86"V+YV+)F)Se M://8\(LDA>2Z^=$5_F##(<0"0^S(@VM !3 B\&%O,V;82PLL0<:B)3O%_FE4d ML;L7(FP$-F/ ALT2P6&C5#4008#3=(78!=$4H4"T!I*H'0] ,0"85$&0 V0$9! 4CEFI]@.H6L]6S. Z^ '-DJG$C^*OBw MFN49< &E@+VBAYW1WF7G,X2NPHSK1>\A!&/*=AA/LLO7G@QP1EQ@,I %0&.;v M";H#95;.11X[IFT4&&-K(=K06 8(1%A 9@RUH-K6'T 2X#;PVL@K RYIA#(u ML$/:HA("@>V:G(&.K0VTH2LDN ?9P)CBMRO#M@N8*:(. &$R=E2[;?'$E@OTt M!HP"6PO'-FQ 7'N(AL"XLLO8O W;A<.8+P#0G@L(M.\ !.V#*@B@K(W,3HLDs M-MX"?.UFM@* IRU_$#\8H[<"@6L7P8=U(*L 2%JD,$39% *IQL,B8I'0*%R_r MCT?;@.SQ /!AI*T9$&0'93D:S8R(=D/C@BR'G@O(!GX8^FL51/GZ"M$@L&4,q M!V06,FRI;F^[M]_;\.WXMGS[40?5U1,Hp M ) =< KW1T3[47<#<']T/^Z]B0Q?,1F OWT#H!0P.D+!45T927H;$>OH('! o M8%;8/I)S+)OB3Y+>[F\#.AS<@ P)=]I91I+)]I$,N%L !6X#MZ:@0\P1"&O[n M2!;">Q8S[47<1N'M@N%DB/8M0\&>;PLWE3G%7N5O918I7MH^$P]KC)G.Wk M +K<0&Z6")L[%#RY57"7N6O<1@- !FC6R1UE_;>ZN2W<<6Y_1<%51A *KF9+j MN4'<5.XOM\]"/0 'D.,VN4$".@L!-X%;Q*V, D\NCD""6+$[X<[Q/W?MG3+i M<>D LP%)-XB[P-WIY@AWA)AID&O[Y<]V-@8.'K]@S0N8D&81$[]ZU;Q:WKWCK,g M%PK=] $?]Y0;UZW$'G:S 93-,I(VP!K@UPWLIG:W1(;=VNY,0RA8VWT=0"P?f MN@'=2&Y=-[E;"Y'E?G-X!L*\%>Y@=[6;B?W@%7?WNC.XFMA5][2;V3WLWCKLe M7T/!!M841+>;W\W$#G@7NMO<\.Y]=[K;VGWB\)'4!6S=Z&X'MZZ[+A *7AT;d MN17>$N]A]^JXW0WQEG=_N^G=.FY/-T@@I:'IGG27NA,%B(%&09BW4O'F-G,3c M./P<+0I)0:5;1H(82$ROO._#.Z<-X$CR]'S)@/8b MO/\D0&^7MT= Y\WCF'DG"K8.00#$;](;SPWS=GJ3!#8;*F^D]Z,.(^#E]@@Xa M.#P"$ X:@/XB%+S9.'K[2%C>7&_PAX,#TB$IN 'H/\C>9 6QC>:P?N!]M[W'UU]17_O>O>!(Z==R@8,A#$"//^y MO8/>@N\21I9;FO'SQGE'OF?=,A(.J^';\DW@ '2$@CFL66\9R>-;Z0W+'7&Ox MN2D19N]$P>@;SYT1D$2[10&G@ &Xw MO5W?IFX%0)-[ODW\+GX;OX_?ZFT-A,RU53%]*&=W!=0"C0VK-M=BX#$7< VHv M('(?7H("MA1CDEVY]D-(L[$$"H#P=75#Y! C> O$/MS6\&M]+>KV/< 7X'XWu M-2R[PN/WP&1 !@(Q1EM7LS4;1N]%[B3"_"V@0'][G (Q1(Z6T$F<$-+1<[?]]4I1@(@:ZL9>0TD*?#?'@%%1?%Z9,$/OGS(r M!]S?=0LP!P%\*BL>,8"SMG<$4P);MO6[02R5E5D$E,?-,(X9^,.;.[ "%V;Lq MK@W@VVJ. .Z8LM&VOJ\Z*N+6'(&[M1;<;JV!F(*SIG$78 %F+&D;+U!HZ MDp M!F <(/#N\ A<&5M]R \HM(W7%@W0\20;^\ <4!/, 3H$*'#NQIN TMH"AX(Gm M #3@L/!8N .\] #I!0%\,[RT(^7Q0.LAZDT%\%H_ ;K6CP<,>"Q\&*X UT" l M.80 'PC4A1FY+BO,,%[7L4VUQ8N]A?.B**#*8!#/,O+@8([?+A7U2"$CZ!"4k MK6T#8-V2!O+!AA&D&%)D9#/9](>9MF4@4I, L'#8:)_:*@V(!6>6*,"FN#K/j MP678Y_#!]FB 2Q"F ',DKI/A7 $V1$<6J6K0=@]$8?+A 8LY0(JW6U&^1MNRi MLS,?"0 ! 5(#-# $OX8;5&46[G!^L:)BXFQ']@]81L[$<@!9QH# FF&[\ P4h M#XZ%&O?#FS8 ;@ M]N7B.I E&&I/g M+ 0>6POC=8+D#2[,P%A0"$+:)O'Q0P( )?YEN+)JQ$/B\'"A@#K<&SXC0&9Pf MANLZ -^Z:%#=;D/Ge M*U0090HP1UNCH8$$=W(8KP<":H @.!$\_DU6QG&8+H#'"'%*QHFC'5ZUX#YXd MG1>[LVO@14:\)6X++X?/KX?8!O#* *N6!+$8Z!!(OYTCIFT!-B:4#)-WD@TE;F@'FB&MW!6HB\-6<.%A@U:O2\*F^M:_.FH'TMM?:#IX3KT*4b M,FH=I(?\0#8OX '0 0&KE8TKu MMT&MA.PC>8 B,7 98!$$KV?8#F/<:X976A&'<%M8'?H3AA)WA@6[JFW6%I';t MOQG= (\L :0C1<[.T$#4Q<6Q]=B=KH%<=XPF+Y*C /( ,P(%^1J )RY^B XPs M188/(XL\P#,C%GL66%Y;P[<$THJ_0#JV%PTA)FI G^_:/W#R>"%[%%N@4 IPr M+L0"8V4%@/@7[5VXTV*'>L'OE>6MF^9H@+!XD1WPTo M-*;E2PRP@*A@(6[2T)7;RC78\P7Y )S@,: ""NW*K0;WW(^P:[<[-PKYX8;n MP8,@ /-S.>9U2$O5SA)P/D3;'W+Q^)+$ITV+X-:Z+1#A.>TB=DK[DMVYF(>Wm M(9;7+O$BN DB+$"YJ WTP&L/ 0*+A2][&8ZI/8Q0S%>_;@L50!_\\< IIZ(Rl MF[7DNV,(:QC<^W 480__-,H#LX&[=DTD;@S(KM,R8Q_F* R'\8*D;-$5>#G/k MP(,8G]UH.5K@(9X47FQ\R"/:3'-7N:*B#TZV,!(TFOL5M/(Z^?M:X'&3Y3&@j M!:+DW0I=.8&<]M$D&#Y(4T<89NMF=BR50 @@+-2"*S?./#N"'W<9@'I53B+i MOY_?$0(2QU];-&W5IF;CR74@O&\8N 8B:?'9-I@G*3*R[FLX 6;\=Y&W]1&4h MP4?A^%SA0%Z 3-'0;EU@P0O-6_#0^1%$WZG*?D'C.OS;A6D9=*( ,4V915HOg M.%04)H%* 6(ZWP>UCDQ;.&H44^LA=-7::AT 816X"L(SB !0#P,@X ((X+DLf M!.Y-6 L0"X :' /" >LXHP!C(!E@"X@>,Z1"E*1 :P 8#='T0ARND(V 8Xe M J8!CH!A0-R('Y K^050 L0 B8!P0 H@'[!,0**@ Y@!LB5TP . ( +R!:8d M#Q &*JEM@.K ?) .J!4L$] !^8 L7]V ?]X/T#B=O]@! G0" "T@ E"AXY^/c M2_[GVH!Q0L)@81 *F 0 -(!$?3_>3) @@X 4!@T#DP HP +^HG2@(X.J 4,b M (@!=0.K =8@>+XUZ!H(#^X&"@"* A@D&X"(? @47(!MH)H@#H@&K -$ ?Ha M Q( $JE/@C"!10#UAz M0:$!Z0 W F]"Y#E2QN@T T *G0; L=#-(U< +$T,4MZ0 H G]!S \ #Ly M,U/H5P,QNA4 6B Z 1XL2+T&9W12P <@'> "(*%W #CH'O2Z 0C]82 QH!B$x MD2*@6X L !9 "] ^X$B]#+ != !K62[*E/+]0P9XD&1+&LO)3!4@@F .8.A9w M :X+"@-]@ F@@DX : &48SR//[?_3/-\:S ,&/'%]X0(EJ OUO3<"L"18@'@v M J[GJ@,D@-\@>#X(,+ZLT*T 271W#A,]%W ]9R=,N;(!KO2#@+, 6A"@X@08u M - !P)+N^?<\? YS&@'L YP%,(/@^7MP&/ ,\*0["PHF$(!0.C'="F!,CP9Dt M W8!U'/;R@ EJ[G_ DTUN0I8 /@#.]!"+6JP.( -[IL/1;NAQ/&J!+-P#Ps MTGWI ) [8 :T 30&?\3?0.#&N:O8"_P!U1PK0!^@'8 .0 (!5-_ND _( 8#_.1H@ )!4-QFD _">_W,M0 # HHY1GR/4n M#>X&>8.]0=_ ( ,: ,$#I0!;0#"@>& &M &2!PL#AH'>'7(@>2 < =" Z(!V8#E '#P4; #2@#> Z@!W(#F@'M@/<@07 HTX+X!WXl M#H 'P@/B@?%@ I \F "@U#/J?0"-E1W + =U(5FMYP'T /I@28@'> -8#ZAk M YH!MLN+^MT L8XWT!OP#?P&??6_>F"]<. #(*P;UAD'=_7'0>1@A@=% Z.!VD#E8'FG7.^NL@=C [0 ?4#FX''?4V@!.T=_ ["!X,i M#XH'$P"P46L=I7XWB*V?$&CK:8,QC+T)MQX]D /LUA-%Z?76>B@ %M &< &,h M C! H0!<0(%]%# Z(RUX ;( C(!OP-ZG;.@!(*R#>?0!(:DV0$(=H3XMD"+*g M5J@L"(,(X#_ !8 !2@AL 3SI!@!.0 I@.#@.: 28 ? !G8 #P#8=(= ^>!_$f M#^8']8-T01L@?Q *P > :?X' 00#@#Z@#]U;M-: 1Xb M ?8!A1NZ&TCKL/ G[-XB$OV )R+#%[HHQ?4TD @.@HS U$"8L CP!!H!K3:!S%$ ,: /Lw M O@!WO8N0+T='8 ,P 'P#4L #_=3>Q&'U(X". . %B !.H!O@FTR7. 5Tv MW.MHA#100 K@#, #F/E4M"3NXX,9@!8 M% $T+?30OP!5Z4SP"+ V#;' 7$u MF:[M&H K !U$Y^X!L &< =H%N!4WNM =!T!TUP$0 q M#GD0W \?X/L %@D]OOV7=T #<@'U!#B"*8 ?@!Z/:G0:Y$W6X.R =NPG CN +\ ;D ] !&@# =DX-$!N@ .O $ %.!1/RPMk M5Q@ NX!OP G^%( $F$Z@ [H!&8!OS/DMX+Y2 ;VWWAWP!W=P@/_=%Z ->,!?j MN:0FHX#S^;7=$B &V 6TVT$+0 #6!!% ^S, T,EX /KNH0#Q^\X]H_0+B#/]i M"9D SO?C(!\ #$]]MP. X:5/5Q\FP-"A_P >M, ^F4[Hh M[^P*+@!]0+R]>T #Z+OO J8!)W@Q@ V ;R@"" 48 '@P_X6R2=[K B"'SP=F1"OT0=\c M$U8H'0 7._X]HLZ0S)74$-P!!OBA V+="^!/] .8 [H]2P 7NSH@"[),& 5@b M 55U.I:_+Q0Z"K?#_^'R\(4 ((x MY*DL*ZPE@@0@_UZ,VP60 GSM^X E #H>1[5-K[R+ C@!8H &PK4=#:!S-P(8w M $8!,M!=@$G^D[11!RT( J+Q;C2"/#!@FPX1V;G+0!,!VH!8P !@I9 "F 9Xv M%;P*.P5&P!SA"'!G^@)@ 'YEZ',/@"9 #"!,V*:SY>WQQ !!8]W@%E_IZ4)Yu M",-+H/BTDQW>5C * .8.$_RHP!V0&C>'4":1RAL$=(!C4^W9E@>'Z WD"@4t M9E9G$P0E@%6KAF,$T =(#TT*9#V&R1:A..^7OYHM CX H 4O@ ; #H^W&R< M! +>'!-#2[OB C0#L JI27]P PX4'SU_;1/"X@AX"1'\^Cr M ](!505!@A' 'L!!$BCXYP9P$_=10 : %$^"YY]LYXD NX!4/#H@$C"@)P+Hq M#(HU1@!Y "@ F75\-\ WE.@@[W]'T+EW+GK *X OX"@'SI@'X $\!@=p M!^L!2("L/"8 '? .X,!K*B?TG/?N00( 0[]SMP%< 1+O:W T"D5]&C X@!+GHDPAG@P.F@CP)\M(8./7BK/"8@>* )R,I3m M M !R0 ./+M ">^>%P,85>H!4DDC@#M K# /T\)[ #)*67EWP*@+": /H1NXl M X('\(#P^_C]"E"*!RTT !KT"?J)^R5@&__.VB(,3K8(:P0J/0& O)<.^ )Lk M$%;SN'AFR'Y>^X-BJ1,@$3P ]H#I1 T!#'":MZN[T:)2&W7M@+[\+\ .XD6KK$[%\2:N^<;"&VM7'i M#PKR,M!50@,A%/"8%P88U]53T(!8 &@G"!"BW(J @X!4\59O;-^&$"M/P, h M 0#S9X!R?0_ 5L ': ;8ZD$+^H :_!2^>T"KCQ_TZA?OF(#0_&B^AP";9\=Sg M BX S7AT?3J@T^F8/P-X%?X!MP!4@!>@J@>P)P(,Z_/R&_5R?2#K6B]"T]9Sf MZP,C\.P,P/e M S3SH(470,.^7'^NEX&JZ]GUC(#2/#W>DUY#T 98VK$!3J/\NB6 !E"^,0)Hd M SA(2IVTP2Z %7""]P*8YV5+-003P#;]A."S]P)P T +Y( 1D[J&;E"%\@*(c M \X);8!K^Y"=;L -N))1#KXM1@!K@")>\+@=W 5H D[P'8"G_3(A:C^UGZU;b MVM4!H 4A@-:>?DYG(09([7?V^G=R.C% 'S L$P.(3,1+E -[0#H@!Q N+S?a MY4GS@Q ] K$=W5-O;R#L%$(&H(4<0 _@F\!!ZM,TYY$ >Y/F/-U G% Y2-W8z MM$)OH'?\N0\^0A\\F#SY 03U%H!Q.P+@%^!C+WH5 0(*Z8"D8ZO7@!K=Y=@"0@ ]]^)\!GSUP 17NG@AU 'O +^@%,)UKWB0#4>O_G S X^QP0x MTEKWRX3H?>M^$7 X"#) %CP;8#ER@, %, +: , $%KW*05YP@%@*J^+!P (w MV]L VI^VS4_AG@9)6-\SY.D!N "ZG_;^I[ $2/G]%$(!!/CHO3!A% %N (Lv M$W8!Z!%@_6@^>[^?G^+@ $;W0 @@$1!D&"ZO[;3 MH H_L"@*U@@F^=MVEYu M CL&?P< @>_@N\!4+#CSQ/W*Q6\WRP/4[]%6+O7[IT!1 Y@$!A?_.*MP&,t MYMOO^?I:_ 0?B> .6(LQ$=8(67H?^\Y]R)Z59][W (H 8'NQ?1N U=3"WP;\s M O+U[Q+W]EMP$\p MYN4!*GMS0 K &A -, =T\A1Oo M\COYG?Q /1\,\\P^0+$7(@ *C%PPD9]$;#*;^5/YC7YG'Q/OCE EJ^9!^4Sn M0[X ?95U02+@RU')O^2[\H/YL?Q9/BC_F?4%F$$1 :HR7 '0#.?E8_)_^6_m M\H7YQ/S-_,'O"\#92I M\T%!L7H!9.1]\EYYQX5M7D$H \[^/YK/QY_LK^GI^9MP*$ G+X-GST.6<^$3"M;"!Hk M#U#N\GN.^LJAY4X'N !D-$_PC0 ?@!T>8_"N1P=P 8@ K": ?LJ>GF_/;]GCj M\S7SBH!^_H4)92_0K^>S[+T*2GE[0&2SH,^]/W6*4OP 32]'Z"R/P>D *X!T8!S0%I_"A (. 84g M\TE&;G#[\0*H [+R6"]C0!#@U(?31P?Tf M @;[ZAK:/26+&! $J.@C\$_PF*:-/JG]+:^*7\[;#3P ?/F4/A1@N3*GL>JKe M[%WZ!/U\?ME]EE?LH\.L 4\[P',_E3*L*[A/]WWM8X"G/2!_&[ (\ '8a MYM$!7-K<_&Z^ \,& 60 8CN\OS;_FN?I@\\^ (( )+XP7T,_G9?IK1%2.%Oz M$?0(HWL7/B6K# $R*6=$+9%"7TA]6[F6038 M0'B8!#0"G_%H#*#^DGt M^-?\7OY\?DW?P9^5AP?,L7X 97ZQ@CT@TP_:3_47\X\ =H,OP%\>QC]DYRU+C\M?ZL_AQAJ__,_^J'\_O[8_VR_ED_K9_6;^MKr MYK$@M/5P"+2?E4_6G\R;]='Z:OUS %O?K3]'@.N+4GP!>GX9@ _@_[4%R)=,q M 40)'99EV;K?KH_7OP-HF?@XG'[&@2= ?6!W#RV@ Q( /@"I">5@LR#HI_7Cp M]FGZS'YO/C0?K%_,%^MS^Z7]X/ZT?N$$E5\X@=G/^?\A=GX/ )[?%X!*X NNo M^RN15,1W?^W=%\#<^@9L :X P3FZ0:!_T%_H9P24_+$'*/^+?^M='*#O/P+9n MW;T!,)6@[_]+:H(]@/?[ OS]GDQVO[O?YZ_G%X0*_??N\'X^0%@J'L#;m M$&0/^<%\_\&=W__SAZE< S;W3 1]/++_X*_J-P1T^C_]"!7>OKW?U!_05_"Sl M^9?]SGR%O[-_EG\?O/?R.'_N_Y+Q6>.OLJFW]R?KQ_='ZF?V( R'^" #L ^1+H .P .@" e M?K1_A7Z^ V V@0#@$,@BW[Z?HY^O@"0?E8 "8"3?G-_Z #53^Y^\'S;?UQ_d MQ7Q>?XP#WW^E?;%&9'\C?<%^-'W^?\A\K7Z&?+%^9WX&>/E_A74: /8?#2*Xc M>W\ ^@"0'KA[>@#[ #Z @4M&[!X405X?&X$/WY8%.8 4A,'?>UYHWE9>5(%b MX#I3?*$ !WX'2'X 2G6\?S: P@0[?O1X8'F_?4-\;0!9>4TOW Y $9]N'L#a M "4%S7E4>+\0['/1*V40BGQJ&!=_=7[M>7A^(THQ*B%W?7ZO #D :'QV VY^z MM7_H '\ >X 3@ !W/WEQ*%X W@!9>=@ $'AX@-$2=H!I (!W^GFU&EX )06[y M?&D#TG]1?[A\9!_]>. 4P60@#. LW[I?&%^U10'/TQZP0/V %EY\!HA '!!x M3'JR?E!YDH#Z '* !8!9>9R K0"0@(TM@H -!&U_[']T _T?9WY9>78^\ Xw M "YVVBB>>[V ]@#>&5=V(4.G3@X ?X#$ #@ B'Z$@&%YAH"(@'X BH!? (!Wv MC8"<@*X %G?,>5$=0'VQ@'2 !H!V@#D MH"C ,^ 0R"[?"^ $@!_@'( YX Ru M?T8 TX")@.@ #0#8@+. 'GW<@/IY!'\S)IAZDX!B@.@ /P#"@'X KGX*"'1^t M1W[B@)R V@#X@)0#.25^?5EX&7I<>%YX% X &%X,143@=1W" 3@6AX @ 3s M@=ADZ #\ #< E ,R)5X Y@ .@5MX('I0?/D -P#V?G0#YQ\C@4)]Z !H&W< r M8 0. ,KY0";-XIZUW89)>L J !\?<$#Z@!,?KM\1@"W'W8 Z@"[?18 #'W/q M+$8 /WU!?7X 4@51 .> 5W9& %4H=@#B .!_O7WF%,0 & !P@-0 H0"B ',$p M'@"D %8 OP":>>@ <0 @@:R 9WZA +X 7X' &*!J ,,UX 9X'Z@*$ V@!?o M@=P 8H'$ PS2P!G@=Z ^'C,!+@ ;P!O'<1V18!2>KL ,'OM=PI[]WET+<0 n M#]D$N "1m M@9.!PP0G!.H#=@#L *5V=S(V *P "WOH3YZ!'"30!VZ + #;= Q\Z@#I $ Xl M/H$L@-Q_#'XV?90#44D+>[J!5WWU?YMYN7Y+>E6!7@ M@46!PX']?WT:U&F4k M ^\57@!=>\N!9G_E?Z!\M7PQ%T9[8@6&@-2!J'[*?L9\_W]G>V(%V #"@=6!j MRG[#?MT#87GF ,$#MQ_^?6!WH@ V )0#-25& 'E(R8%9>=X (WHU %EYV@#Hi M ,)-67G6 "QZ:DCN@>@ @ #Q@48 &SCT@<$#/B!^ /B!V0#Z@7X _('3 *"h M_WUD :"9$E/ Q\\X'K@0M[67GB -5]#X+X@; #X+\@:H #X( @J0 $X)@g M=\0"E ,(@AN"#4 0P>6=M0 H 6E .$ HG:4@3N">@- 'H#/X+3 $&"0P!#@AAYR4WHe M (0 28*Q=DN"?GV[@22 E4/32O=!2G6:=EEYR@#R - H 5- %F"d MGGOJ "-0-PZA #)].W?X ',$ X*" )87S7G$=LYVJG9-+Y].:(+Z !MY;8)[c M@CD$?8*&?30 :()&@C8;X !*@L,$]S0 =_Z H@"(@E6"H 7C (R"*'[J )=Zb MZ@ [@B-0M@7$(/T H "@ %8 RQ7%@*: %WI>@3MW88$]>I$3>8+X 'N"M@)Ka M=UZ!Z !6 )."EG;X * %EP"7@J@G?7NT@8![Q3@U!+" 6X)J*L, /4- !+)!z MZ ", +J"EG8Q%UX >1W-@D, 73K-@J=._@"R?NP5XQMI \$#M'5W !H NP"5y M /-]T0 O -\$;=EH0SP S $,'x M[SZZ@J-[:RC.=AA^S7E4>OH XBA]!!]^;7MC /-]>@#A@B41;H#D@O9ZB'QPw M@/P N ! %8,$NP!: ,]]#02@!=H "D',>>0 ,P!*,VT H8*C@C)Z]#!?@:A\.'I.?+*"+P S *N"P0 Hu M@Q=\NP!( /-]]P N '9XIGK]@> OWA5>$P X0!7=H< 0#AX/T\QZ(!-(ZD$t MZ !>>]\$RGJ^@OMWQ #P +)W_7:8=N@ AP!"@ZUX8!"& %:#ZP J *UW5H,6s M>],O=Q.) ,P#J1M?@_L >@.) #L#Q@ [!1DVIGRT=V.#^P"#$VN#=8/J?>UZr MV7MK@^D +P!I=5Z#[@#[ .D X"#M?:UW@H-.@GT?:8.+ )\ M'=U) @ I1Z]q M)K=V>W>J=XI^(WJ-?K)W&8"U=VE6N7#^P C4)QZXP ;!&N#=X-6@WF#M@*<>N4Kl M?(-6@Z( Y7OI )0 3G6Z@W6#O8/;@\"#J8.) -@5DX,$ +\ ?74+$940*!8:k M ?2#.C8<)W6#0 %A&T N #!$QJ$^P"A@U:##(3H@XDDH 5+ !&$(8 EA-F#j MXX,-A*>#J8,K "R$Q8,8 PN$[8/*@\, YW=$*S6$J7?;!#B$,(0HA%11H 7Ki M $4@$H30@!6 )H0YA,"#!0"@!$:X,GA#J$32/H *L 480VA,,$h M082E@\"# P"@!8L 6H0_A%.$2X1"A*:#T(*@!6TOFS=2A%R$5(1,A/L X@/2g M1&.$281=A%%."'NT=^\^=(1*A':#)@2V #HVRD;S?9\ *P U!#D__(/T@_Z#f M:X/J?9QZLDGD>^%[RRR[ (TXH 5Y "L -GAX -T \GC+>G4#'"0+ +L H 3e M=UH E81$ .L 02^A@,L5!21V #=Z P"[ '( E7L;=7E]]T',$*^$ZW_X?K.$d MTW\,>1D1=P#:@G8#LX01!#< N8!@@G< %@"[ 'H $W<' (2$/B^M>FU[9P 3c M=_$ *@!2@_$#GG0;!=X WW:^=HT VP#3"3-VZ7;$ "0$#030@F(%N83^ )]$b M[Q73 -,)@P1B!1AV#7>)>_]WM'>R?WD=?02V@KI0+P"132,7W0"T>'YYVA\:a M/3 .V$Z "E - 2803LA)AV_P!6 H YH1.>O1ZZG;P)+4Fz M^WFA>_QYU12E '0#SA!&>6N 6SB\@)F$4X.">\Z"! !J?(($9WYE%E=V-BT_y M!=T?.@ [=\ 87N3@-Z$T8*M+,$#^ OA2E]_P B$VT;3'I2$]MTT'GHA&@#x M"CI' /\ .@";.=< 57ET?D)\$7XQ@*0 !G:\?DM\?7ZZ -T A]!*GU[" Zw MA1MU=21 %[M\&W4[ &=^I0/I '< J0-N@%.%'84U!*H NP V4 -X37@V4* %v MW - #^#=@6Y -B$"'H] %P :H0I -,)EG:H * %A0 D #9XH0 @ +:"NBY>u M 'B%Z #U6T5[:8 8@YZ";P,,?*8 ZP!5 ,$#I@"0>5X% 0 L>PA[BW0QA1($t M12\E "1[, #H=.YV\#4^@_-Z=0!:(UX CX7: )&%+'L[!8MT0BY!>TP%?03!s M ]Y%>$I3 U\A= .F )=ZI@".A9"%K4DL>XL O"%: !PD:WJCA;B%DH6;?KR%r M'"1=*,V"$@2[ "@ =D"?0 8q M@F 06P3K "L=S8+!A:>%4D[ $#*!,87AA0=[MP"+=+L (0#+A2M-]X323(,$p MYH6EA;F%PX6+=!PDNP#I )%#'SZ .D ]1F/?.L 60#RA::%Z(65A%KP D "1[3#'@A?.%PH7X?(MT]T$%$0Z& X8:*^F%6@"[ !H RX7D ))Xn M(WD\!)9Z\845AO2%+ 7$A=44E "AB2&NX7VA=44=R8&AD)$U7G(>;L !0#+m MA9\ DGAV \UYEWKZ )IZG'I5 &TTK7J[>]B%K7F[ .T V -7'R< TPG9A"=[l M0H;Q)>:"#G[C$KL [ !K .B$'W[K0^, Z'@/ .MXJG=(!,D V@#?!$J&T82!k M>XT#K'E^ T NP#- $:&'0!(AN=VO'HT?1@ NP"S $:&GP L7V%\\WCQ XXAh M+ !D '0 WP#K +#N *C0*UW?38'AJ9[YQ7M,BV%:H".@?]W+#9!>_H f MDSZ0%9TG>R@??KL A0!&AAP 2TKJ&AR%\0.M=R@U5S)K>QT??02[ /5AH 7\e M )F%W8:_ADN&&(,%%)B&\G,( )N&F(;/AEF#, Z1>H:\(82 +-]HH:M>O"&d M_0 & 'N&/'O$ -0 @(9& %AT)0" @Z, A @A+YYT@#I 8M= /2 )IZ6@6#c MAD$!" "[ &D %P1> -0 XQ*L&KP"KGG2 ,B&WWTT=[b MU13DAM0 NP"D!: %1@#JA@X$Q "]@O$#5'N6=E=[Z #. &,L6WM2@<$#7WM+a MA61[9GMI>W0#:GLQ-@\C= /0 =(=0 U *$ #(>D>M.%=@4_ -< TPDG!"^'z M50!&AN\ "X9?>05^#(>[ '8 +@" A7A[C2T^A[(E"X>%=3 2X>L>74 A!4,y MA^=Z#(?J?0))4X=(!/L U@"2?6F'6(>[ $H 1H:E %V'.(;2 )=Z"((3AW4#x MGH+^!%"'\'LR>G6'Z #& 'B'E7KH()0#010'AP=(GH+0 %4%-X=\ANIVKW: w MAH8 Q@"#@U$ (AZ>A]F#QGD=?%2&&X,J "$ YH2& !TVNP!& $:&,0![A>\Lv MK(?I@X8 KW;>&;L 1 !&AAX LH>M=Z]V>Q.VAQ)+DQLU>?H NP W $:&R#"Lu M)K2'](.WAPD NP U $:&\0#%2+.'OX?,A\*'?0#J +L ,0!&AML TX?UAM&&t M$'@2 "1[Y(;%AR$ 1H:] ", ^1+>AFJ#X8:)>$\N'!_7A@< 1H:= .F'ZX:Cs MAL, ?(-]-G(0K7?( />#Z!%U $ B@#"AH@?V@3'%"H A@#$ /L @ !>$ZN'r MS8=P2G8%I@#5 ,][P8? AZ]V43*;@@.($E''%(R&)1RRA88 _8=X:Q>'^8?[q M ,B PH9W@]4VM@#]AVL>$HCA>-"&*'@1 *N'((@?%?1%HX=W@Y^'K7>?ASR&p M @753NN'GG3;!/=UM743 /:$='P=A1:'?@ /?$*&=W1.AK00JX0& -@#V8(3o MAO"& %*<>]T#LH3:@G!\WP#!=Y4 (@#0A'R&1HA( &.&V0)^ ,\L_'@00E"(n M,H'PADH *1LC>10 NP#> #-W9XAP?&^&"@!KB/)V<8B[ +< P7<\ %R(ZAJ:m MA 0 N89WB&^&: I&P0 _H9OAK8& H>!>[M[:7R,!2*%_(7O2E=VW7O= X1Yl M$GWU("X =0!S&NE\ P#+%9$YFH@\ )>($7TI?00 RQ4K (F'<8=M '.'#P",k MA^X Y81-?;@":8,#K !:B"$ 27D^>?\01H4L?K%X5@ @=$N%K(.K=S]Yj MH( $&WX S'N8 '\69@#Z '\ )0")AU*'0(.1 *V(^WU:@+@">X8-!%:%X(0-i M!%J%^@!\KRP2)B,4X089_B+AX$0!QB'Q!'P#3"1$MT #7A7^(8HA@B&6(h M"Q?H $$ YH@?@Z)[S7D] )Q$HGKZ #T !6@,_6(0 /V=*-[]HA! 91W$@#Kg M -I\]8@ %>$0L "7$ ( L 4 $2 2/ .F(289P@+:%_'C7=J@ @77L d M0XDYB2N)/ #6#-T 28G>>DN)(P!T &*#-(E$B2N)RQ4< '>%LG\HB6F#=22Lc M * %^ "PA?IYJ@ "'V $7 "[ ,@ [@.CA8$CCH42!,$#7G83!&D %H.)>7\6%;XG(a MA3T 8 "@!8D 'P!,?"6)X0("!>X _@!;@,0 6@!P@#-^W(7\A7-"N !E$TR#z MHWMZ W>$8!X2.[ &P!%>Z" ]@#H>:AU.(;Z *2)JS.FB0,XCHEA=Y&)6WMGy M?M&"]@"P #T RWC!$'8 ]@#:A[6)$0"WB;R$KXFQB0A[GP.\>P\4;'R*))& x MVA\]0DL%L$VUB>$ '@!)>4"#&P#1 ->%^@ ZAE&!.X:' #X @"<>EX 2P0(w M@WR&K5ZU=3H /C)=@WH$ZP"+&Y. Z(4*>[L ) "UB9( UHFXB:^)$WL]@A5[v MVWK8>MYZAP @ !A)=H8@ +6):@ > ,][08$D$]9Z^XG9>OV)W7H9>\, 4T7Cu M QP M8E& />)KXG=B?6(['J2 +Q[@ !-(^0#M8DE !>*^(6/"#($!XJNB#)Yt M^@!9(MZ)Q7F' !8 X'DW )&$)8I(1C)^W8D)BCL AP 4 8 ? #3 (R'(0 2s MB=Z(5(/E2'R#:B Y+$YUH8E7=H8 :B#(B::)Z 1 !H Y1N& )5#28I+BNHIr M:H.50RL /R&0!(8 ZB '=Y5#K8E4BD@@5HK)B7!\W EBG$ '0"L)IX E4./q MAI5#O(F^B6&*3(K*B8R(S(D@.P<=-1R& .5(VA^')[8 Y4C_=\ 0H 4; /6'p MM! / /\ M@"50W^*_P"@!3H(ZH=> *H NBZ> ("*ZT,9(S4<'"NRAN(&AHI=o MBKM\2HIBBJ6)GP.)BJ %50!0BE,#K7?J("F)UT6' , 0K7=ZBMT#% "6=H^*n MH(JU=:4 BX%_B:^*D(J BK5U9P"TBJUW:B!W@VH@88HXBN&)G'K. X%7H-%m MBM, 9P.> $N*%X;RB=, )8I(-?D2L N .EYJ@"P " Z7FK .AYA@"JBIN*l M:B#ZB:2)#8H7>_^) 8KB>[L SP"/"*"*6Q!\B,:)O(H.*11[X8K^B1"*$HKIk MBH<#C8I?B>F*;P 5 .J'G@!. (J*MHHV&_XS>(HF!&2&*@"&BOV*AHHF!&&*j MWXK8>F6##XH:>U>$PA2T>)R*OHJ, YR*BX0"!2$ 1B'LAF&&OX+$ +V =@-Ii M _"#N8$;==E[X(D4AG8#GP! .&"*E8 @A<],D 2< $I_#00EBX<%5W:? $I_h MK8F[ ,D CP@=BE>$-P"UB/F&P@ [BXR($HI;$#^+! "[ +\ 0HLMBR$ 3H0#g M*T:+\7U*BSL%<@!-BP$ 3XNW %&+PP## $V+[P!^)/B)Z'D BB0N&W5?BW$ f M88N2!:B*P@!EBU^+$P X*NV)- "6=O A'FPB:E^O #DB3*!P#XAAD1OD'W=1.#*A!>>>:) XZ.+?(;'a MBU>$9"KY$M6+.P5UBK5078B>=$"(V((> !B)#XN@!08&WP3*A+-UVT$[=^*+z MPP!,BZ %,!_FBQV%WXN7?>N+4XN@!28<1(BDBY5#Z(O@B^N+6HN@!68#\(OYy MBS4$#(.^>2J*8P"CB3"&IA2F>XB&D72%.0$G"(Q5=!U\+X72>LV"E887 T$x ME7?+>$X$$P"[ *< )8I9@;1]8AH& "P 0P'E .L [0 QA2^%,86R>M44;D4Yw MAH*+5'H[BI4 HWLQC'T 28&PB0F,"(:_A,B+!HI3'*Z)K8G=BV*&H'J5'EL%v M[H@%$>&+;0 [!1Z*H 4X !>*K7K@>RYXW0,= %",?P"3!0N*X(KI>R\9Y7M6u M3@ VW3@>P $*04" '" V@"[ )\ CPBU=9@ U(:)>0H Z "M $L$?WOQ Y9Vt MU@!!>V$I!0!WBL^)W0.N*4L%)H?H &D "P!,?-@ XH;<(>,L1@!+@'Y[C'G1s MB4>+B@ EBJD 8HG")6U[?0 EBIH 8HF[ %$ )8J0 U[=WC%=H5?M76$ -2&r M@R6I&M6(6HO@A)-[M6=TC.@ 9@"?C-H?S3B4@;L I0FU=5$ JHS5%&]\[8FUq M%ZV,Z5^U=30 LHQ9$ @#\@3->=Y"+@2'C.6"! #?A%B%''4' #P N#17&K%Zp MR(Q\!$$J!P=T>_1XM75% ,@X1 2!>YXPHSYB^"(B8-(!'4@_WP8B:%^+XKJo MBQA\E0.;BX>+R"TOAJ6'R'D0C#&&EX6% -$]F%)(!%H "P#GB..,$(PNBL=Yn M: .S/#< TPD,,V$ _R&?HADADB(ZXB5m M'@QYX 3H+E"&? EQB(B!E"S6 +!V@R7N'T:,&H8EB@@ E(J%B$6(0XQ^ &"(l M28ADB+N$%HTV !B)AGT:C<9$OW="BU>(%XV1+AJ-=H@=C?( 7@"@!:\ ^HI]k MB&*%'HN@B:6!LW79,\2+%X/:'PL HWMX/TMZJ@0:@\]T9P 2 N%>1U;!,\Zj M%H7A)>YUFR71>_XCS"=E?C6+X8G^>_( ?3Z\@!(%706U&F4%J011@? A<^!$9PC?^(08%HC5:*37Y:BEU^-h M((83A7X JAIE!9=ZR!HWA3Y\# # AE-Z$7I^ (8 5(W= PQYQ8 "?*@D<(#Vg M *YX^XMA*?P 505*C5$R @7# U&!Q'ECBDV*<@ PB)A2B7N'BT4F08&BC;Z#f MV((OA@$ _BHF P( .P"FB78 ID3 "I\HHFOC:D;904# 'F-6HK;B3:*KXG!e MB@( ? "F3JN-L8F,@Y\#<7XZ?!%Z97[&1*U[T8+]'\M[NCG+>S2%B !$ (P#d ME8!3>K< 0#AR . RP0J? T$OHU .*%^(XLHBRJ+UT7 R&&OXPD "R*=XVBc M>VD#2 "DB?XJ8R0OB\J)+XRB>S>*)HM\ $$4NWPFBWL3)HOU=YN)\HN\'OEYb MQX(]*>>(]W7='A TPD2!61Z$7PBAB"+.(8$*80 0#AJ? ( ZS&?05R-="W[a M !X F3AO(.:)[()!>_AU82EY 1WG(N,@UV-LGY&A%&!]@#)C?MY= 2)@["-z MRHWWC041$86)>[5X_((V/\V+"'M .%]Z9X??=CF-N8#=C1([\P T,NH:LD%$y MCC^.XP!(CNR*)HN#$R:+5W:NC3B,-(XIBS:.H8WDC9 $2(,GBXR#Z8TH'>."x M0(9, )B-)8[5?6002WH8@WP 'P! C;J-58ZRB9\#_A1.CD >X;=B&R&VHQ,w M $:(XXA&C(U_#8Y$ )]VP0#JB%: [8B[A.@ 5 !]CH*+ 8GN'P>).@2>>_F(v M_HC6)_6(:"H#B06) (D(B91W"XD-B0^)RDJ CA.)]'BF0ZAY6AO-@J>,?B.%u MA;&!'4DLVT4/M&+_'@*C=F"NWV\A&PHI'V%&=1_?GE!C,4Xt M4XYV T< VGQ? +,AL#TIAQ4 :C^;)52%?8 <)#@DZ8!<,;A^_H2BC+-MO(YUs M)"H RWRXB]X M(H<)+4F+(N@?+^.0!=$ (497 "H)\$0QXXK%?M[?8![$ZZ)r MH'S@! -"UW:L $M\5%'H #8 6P4> .V.5W8R@;HY,H%H/!H1Y "M>@9X67G/q M=. % #L.*.O'I8>E9YNGR-@/ :RP!JC'IYN'YI>C]Yp M#8^H@.@ TP!JC&V.44[/>VD#TH[4CM&.PP!W'A\0 @!X/WIX?HX6?B>/>GGHo MCGYY: .F%$< MXZXA*!\S(Y_-4R#K(Z4B-*.H 6@3U2(;A6\CMN.IT[=CM^.n MX8[_ +6!)GL"C,0 ,G3GA+^,X *^0?,0_@ +A?F('Q5@!*2 07X4?)EX^@ Hm M'6L$EWI1C?@ ,8QR B"^ <)$\G]8@?%:E*'AIK!+J.5(,9-CT$.W<-=V6!l M61?TB"4%^TR4+%8:87D& +:&]@#I@WYYVXD] &8#><5S2<;B[R-^@ % #$I@P1E$P( -T17=E\ 8T63@.P5j MLH'KA^L 80#)@+-,U12=CX^/:P0I!=2"6P3_=R0$51T-=SYXZ8 > &LMO@#?i M@_X> 8NI=P!^P0#OA8@ 0':?=3F$) 0\A5L$*AJ%'*F/G@"KCZ$ K8]6>3-^h M("VRC[5W]0!XB[:/W@ '@VL$)X2' "0$A(_3>>V#U(^1,W./@X42 (R/Z34]g MB(%[ XRR00N.J@#Y>5HM%WZ3@#Q]P(AA><: ,8 [ !( +G;X (]8 5XT'@GIY7@ N%EX _X^^>=H $H>"=Q"%T@#]e M>>D U@!G P60F7C2 %F/!9#1@ETJJ'78 !:0P0/8 "R,L'HZ %H15,?%U[0H=A>Q%^1(?NAT .RG\>("&b MG&0OGE1C;9XA(N] &&.'84.A?P H0#D & '"0?y M /]W_G87?RAXO@ 2BVLLW7UY&?P HP"1D)60F';]A/Y0D2I^ Y&0H'?H )( x MF9"DBGYY R4? $I)#M@VD##XA0 '&#F'8,,\8 !P#?!."/Q3B$ _U]D!&[w M'#L AP5V ( 0=SJ+ #T 4#Z+.GIY/P ?=JZ)B0"B$,Z0\@)N % ^G1#8B'\ v M_@ %/[M\NRR[?1L$NWR3&=U[4#5:1-T0&W79D+E^U()< -V0=@,V+1P K7JAu M 0 6G1U U0R:CIK+)0%.P V .^0DVL,,PY(CMW[Y ,?<6*7C(I!/>0t M;@#*&^N)B0 $D3I[1X]1C8EYP02Y!74##'P\-(H$C0- "0 _@ 1COMYH0 (s M -.0U10A .U]=P5D01^#ND'23!:1D01' !A!/@ ;D8D @U#K:6 0NRR^D"HHr M;@#K -XF>2R_C[,\^P!13F(%SH)=CY. Q) I*"F,0P#9B', ,"32@LUYW)#Fq MA7DL,86+ -^0YH4= !]VX 0= ,^0CB'2,-=VD!&I-SF%]'C&D,B06!!E1<")p M '1/CZ"%8 0SB?0 AHV\@ =(7(5% %^%6)$+D3T$%9$7D860F(_4@LR&47Z5o M TQZ,)' D+%[2+K(OP&EL ^(9ECI8 HI&5>ND:887YB_MXl MSW2( *$$=0.U=2L 8)&1!,F0]7HF*_X CB%& .AYV8V- Z%[?X@?%7MZ^ #+k M>AMUUW8, "V1"X,[=]*1.I&- WX#UI'TB&XT2H@[ALV"<@"N>6XT?0#H?-Z1j M^ #[A&\@]8]5AJ< ZXD<)-)YZ1KUC]8UZ)';=/V/!7F0$:, [Y"C !N1.W?9i M=]&1;@#:A(J(>(XW=74"'X , 4 .@'Z@D>+ Y)D&8QUS'K= X6*F8T\A[H]h M+8_\>-&"94/->7"*_'A@BGN/=H[4BQ"2H3),?+*+ )*RCLR&XI&5$Q22(GFPg M "T OHGAC761K(MECFX$,GY!BH)[28]Z@I2!203\ B*A1D? U$+IXS% *N+f M\87YC3B,Z("T=1,$8@ $=[2.VGOZC3X$Q7DU ZD;2P6) #< #'P4CAPD[QN?e M>WH$_8_ @JZ Z(1PD)*&&W71@A)]^H[2'WX L7@B4S]YSH(A!,2(&P4W%>B/d MV(PXAO8 :3 R>6^-/@24 Q9,'Q7!(_R )!->AG^0WHM*>_Y6H 4> \1WYXLEc MCKL . !A * %\P"QBTY]3WA%+\Z)@I)M>Q4 AI+O@"7DO!!IA^H>:R1NP"! )&2NH0*@-@ N "4a MCT 5_(CX "&('!G;00N.UWS8BT*-.P#G>/.(;XWQ!-5Y?GGI (A:P2=6TP6z M:@#$DK#").R.9B 8 %9*9>/DF/X6U>(603H/L?;1]*!9F T@$S3C3"<0@!06SDIQ$x MGGNSDG=)=0 !DLR2= J&O>/SW1U(+F2SW2/ ( "X6^DJ6'?GG!PDX@#K "X N@ =P"W +"2J4#$DG4":'F_ )>)0(,Z "V3(),.0.J-+)*_DEYYt MMI$=DD>+1 &@!3L ^7G;=+@ S +0 @@#D * \MTT0(<=M0"A1, "F3N0(*s M RX Z@##(9 #0"- 4H,SW&#;2 S8N &F3:9.+!., 40,E/4\ !@#C $H r MBP#EA7\ UC+^ #!!*P3Y ,YC!P# /#E([0/# 'M,-BD$ *8 :P)R%M$ Z0#+q M$/, IP#> X, [@!T+>\ @",D\,@+!?W )U/+R #%3013P !(H ! J 4 p M& #D (>3G 4K)%0L=AK@!-I^/".I-^, 1@ I /< = !" &=>.0#/ ', 12#'o M /T 0#. $X 0#/ $\ ;#$.)RP B9-_$*0 JPE/ (^37RQS !X 1@!' &T#n M_P*1!(&3#B<. ,F3X@++D\Z3I0 1 ,D XA89!$\;C 6KDR03ZX$K%G,#D70_m M.#H$'@!3*L$0EW>S-MJ3 0"D *T " "1C:L " #D * NZ0"X JH 7!M8 )<%l MJY/F (H 5 !V ^("M3T'''DC<1/0 '0 ]BK= Q$ K0 X R4$0#VDX@>. #4k M .,'^9-U .\ V7O> ,, 3@"./+D5Y).J. )X(I#M%<$5LB4Y '^3-@ (E#8Ij M"@"L !64) Z 4 :P)-+9B3K0"# ,< +#&MBM 0J1H:E/ B"9 %3.4 06Zi MCT< 2FDZB3\Q7/ )8&H@2MDSPC.1.7=SDXD!__+^23=),&?,$C=Y/C &&h M?)-^DW0 3P ME-! ,)3= ST 0Y0Y ,L$: LZ !A!R@"/DX\01G0" #B4.I05g ME*1;-)07 /F3X #P -<%#92=DS8I^HHZE*23R%&9.C24,"%O44>4IY.IDZ5#f MB0!6E(L 691#('\ !1$+%_P ZY.E"MJ3! #+DW0 &"IKE)"3# #UDP^4^)/De M . 4#4* 'N4.@0B &T#\@+1 $F"RBM3+G-[@I-V -F3>S]?!*H 20#.DZL d MWY-(%.T#H'P" .23Z8/G *H#B@"G*<$5GRI0E, #!M/ +J/_0#?%0, &$'Zc M !D$WP!I)KXK40/ %1MU0'3Q)1X A !A $!T= !% (L . 3#E(0\0%3A$MH\b M8I3ZDMR4A1F*/-,5G3G_ ..4E1,X!/ \\@#& -F-BP0V ->4Z0 Y! T#UY12a M1#5V\ /*2:".= 2/?*U>7)(! -4Y4WU\D I')@7?>HD 80 A$"(3(I#UB$8&z M_(CYB 43>R@ B1*5E'CN?, .9#V "@H28'X "I[X #>>3"&9'K7C(,$U3G9y MC6",H#E\D(% (EU OV-)9/= W(@>#^J! )T2GIBCG0$'19'C1.26A & ),9x M<8\&DBF* (EU)H.-&7QSD,UY3P!7C_(9;(_" ^@ T@#Z>:",Q "X%? !0 Lw M%S&54(]' -4Y:9'8C=!U\7I\D-@XN@4RDKM[:0,WE5 $4((;>DF5C8!2!? v M-8<$ %\ @HL^E8B.096$C9&/1)7Z $:5%Y(D+D8 "@!DE16/[G5!@I0 :I5Lu ME=5Y2I4+ #24GX2Z!5*5DA-;!%655Y4_%,B15I+-AEV5\ RDHM\-I4X!#4$t M>%'YCCF0FX(N>1PDNI"J+<"&;X*:%8HC1($Q%;( [Y+' )))7@ $?T%]J95Bs M!<<\W(7@ *23/ 8' @ :C52@9=Z'"\9A$8 W@"QE7T6!P!& !MWT($,?.8 r M)97ZCI0#FI5O@CH!? !7&BYY/0!U)G\ .)6%,"B5+GG0C1;1"Hq MCR]Y8 0P)(6,"XLB-&V#A8QT Y(P+GF_@>L K0 ,?.( #'SG'\R5#55: ,25p MF96<@LF5RY5O@LZ5T)4% -*5+WF5$]65;!O8E=N0TY5@!)".,B57C-AZX97Lo ME>0 $@5%@48 [)7B )=Z)Y.F Q\<2C,E9U._(AO@O 221UD>Y=ZW "DD\L5n M#6N8E11^QY7I )H -G7< !J6,7G&E0Z%O )RC266E /< %.'*)9!),(E&98Mm MEH^"QI5D>]H?,P1$@3F4F4$I!#HF=@"">KP !'>:?^X D4>H T2!)Y%8$"D$l M/Y:M*2B.E -$EC0Y,Y;P@#>6W0-B #N6T1E8&ZB/!)#: !MZK8/2 /I^J2)Vk M=YH]ED>B%*8 %01? "\WP0/N -&"[@ IDG"*1@#D@5X _($1390#6I9UAU1[j M)P0[)4N6-0!"EDZ6Z0" +_Z5J(\P&I,;)I)JEF(%;)8JDC^%+)(Y)4*!=I9Vi M *$%2Y:- &>.?9:J!0^(T(%IEFN6L #\ C^%Z0 H(966NI78E4!]:Y:0!?X h MOHGI -0"GI;> -B5-9$9>>P5!@"&@>AS&7DL@?B"P40A@<$#?8% B:&6AI9Ig MEAV0.)7D *%[V1^3&R:,<@"7EH:6F7CJ +Z) $.?CU@*00$"!S4B&U#,EE,USY8L%W( R@ ] (\3=P U &V#PP"4':< IP!3e M $ 4P!- %( [ #LENZ68P!3 /"6\I;QEO26\)8' %( \Y;PEAD ]);T %$ d M\Y;A %$ ZP Z'7IZ>#]1'4*!XY5X/XN6Y@"^,\*57'N=>RR244GBE86,43(]c M +:6B(:AA70#W@!X#D$!V8[L -&"[ TA9J.E0"N ->%+74+@2<$^(&& "27b ME7KF )=Z"Y?5%-DXZ'P>EZV5(9>I/N@ 9P KEWQ]H7N"EK%U'"'DE13M 0_C&P!D, PP!+ (B3T !Uy M.&PI3R<\(^@ ^QN1 (< ^P"I&W&7$CL '767=Y?_ "D=NI3^! )(4#UYEY"3x M9P.$ER(=-RWW &4 @"3 /< "8>I&P4 S7.2A98&%QXM%H, Z#;# (.5"P!Bw MEXL$^0#C '^,^0!T 0< QG4L-/H ^(=@$%F+*#"?EVPQHI>.,]$ V ^=*>7v M5S.6!M@R&P"?\ >0 ' /< WP!E0H, WP!Bu M/7D "P"5EW '( !@#;=X0Q=P \s M -$ X@#1 -8 DVOOEW( ]@ +%X0Q=@!HC=X T0"EA>$ T0#7 /R7\I<23L( r ML@?&=(, $B^]*!D \P#1 .X !)@[ "@$=P#? %.+.P!6 /P /X WA+W -< S)>7EXL$!BH*,":8p M> #O ($L"0 JF.XH$P4NF#"8T0 RF.\#7@ *,,27QI?(ET68\0-9 %L K5Z)o M '4ONHJ) $\ LB7_ .$ I 58 *QYP!*+ "\ BP"ZBO\ 9P $ )YT= 3EE+@0n MKQ-6E9 %C)4UA=44^X#UCV$KO'/D#V=+M&T %S>@%+ R4 " @T #UNI1(Im M7W4>T@K^$38 0!@E (&8KPV$F#80AIB#F$<8B)@S +]7+%]+ RE?1PU26RMOl M-QC3"SM?W6E 7QP![%D6840!; %R#'0,-0LQ;KH-G4YS#/ +RYC-i MF$L#NYB#"!19[!&P6>T!.&#+F'P-&VA=7MX%86W$F$D QIC""5!B06%==_A%0e M;0A?HVE0$0J9&VBYF$,#G@Y&"R(--YE*#+%:'0;>!>-R"W-+ P =@#1!QX!d M,5DM"EP* #E:TD19A&56DERE1I26QP&G9@]5HP!,)F5F+QB=W!H$1B9G @Wc M)#4-Z5A<$0H 21&" 1\28&C_ 8\!I \."J$ 7@" &F" %@ 7@"' "D b M4 !> +2!MP"@94!]70#R "@ Z0!= +\ 70!' "D !B0.'!$ + "* %T 8@!=a M ,D ;I!= #=(B !"9IN7H0 M 0 70#4 %P Z@ M ,L 7 "D %P 0P N )L z M0CA< /8*RTY %P 7@"S&@@!>)CT#Z-4>IA' 4\ $PM\"%!;%%ZG#!@",@A4y M""D-LQ*PF6,,*0BSF5*959E%#*\+(0RS$DD1U@%H$9T+HCJ;9BMF3UNPICB#QIHJI@MF9D0Q9DUw MF6(!U@T& J "4V?,F941 9E88>T1C7._<@=SQ@%U E4 ;@"+<@-M*P@+9J&TQ#)!5S > $74"0E\ +MM0A!56G0 t M/Q#4;^I88P+W<;H-@PSL;T(0Z$7T#R\ -P'.-_(-] V$ 8%8,A)F5*E;O5NTs MF=UMV@'>!694<5BW71YN9'#A![Z9*F= FAL*F0AM5I 1N@^"#0AH< A)FC8-r M2YIA 0B9<0T& ;B9KPQ/FOL!A%WW75.:$EZK6TJ:=%0;"L*9P4X966^385YOq M<>L*( +N"@1LM@%( 8(! !; %$+.@)ODRF:,A+H"I01Q@%%#*ARAEE'5-X%p M6P!IF@,V>9HD 3R:97%["*%M@ LF"%8"!@&>5H1FJU_E:\QLLFNT5Q,826,1o M"X::B0(J"V(!Y6L79($+#0*D6=8*^G(;"UT0]0HZFC(25PBQ;?"9C@H *J:n M>0$=5CD0&ETFFF "/Q"O:*R:PPI>505S=U:1FCR:9'/V5E(0> &J3MT 8 #:m M & UP!@ -( S5.E$& 0R-7-ZT 8 "D & 0!6< ,U3D@!!(XL 8 #L &)Tl M8 * #< A0 K33< @ !@ $8 -P![ -.:. !T & +@!N#F ,!!I & EP Yk M %\ 8 !+ /--9$!Y4[&9O9EBFKY;-@W F;>9<@&YF8$1^9J\F3V:$UZ_F;:9j MFQ)M5B&: 15=$&T-4U1, 5H-&P&0#:(ZS@L9"S8&:@"*"EL+8@V*"E&:O1$8i MFEI>+)E7F5(1?A&G#.,*[0H +,-7)H;FA&:$ENU"O)5:U? )]X%CPP )X,h M))KE9S)L&AP;7MH@W!]: "v ME!J3 IY<30"31$I6IY8&UFF"P-Q'UEL"%I9t M7%F/:!%9$UE@67YGQ&C::V%97F:V9IH"D@IY698*T0K?$>E8E6B-70,/40>4s M.BU965DQ (UHE@I>"K-I[P&06;M;91+QF28(M >46999#EE<"KL*$0AC""UEr MM PYRY85-8EIQJ68& $9;;\(30K::P-4-5HE6C!:+PY]g MG=UK00N@FD1:E9U'6I>=(UH; IJ=D)T\ %,(/E0F"/4'@IV;G2I:HYU'$:"=f M1EJIG7, +1&*!JR=*IVBG:^=3IVW :>=H9VCG?9K6P%$6H5:QG!\G4!:(@!_e M:4]:&%IX6AM:Q9V7"+-7%PB[.'A:#U4&"L (/IT;6CMB_P',"F1:5EIZ&JM>d M30!3 '.=[PK[!:3@"Z#VX+W5DR"]=;/IT3!]D( 623!R( 19GHc M:TB9CV@76JI:XYT% 4F=X@JP"HBQPV #!5=!IY_"?Z=S%W#VYX5P6>6UH(GAM@')X4GAZ>JFP9GO<)V5WP!AV>%IXL$:!9*9X]"$4(z M3@"C75:5)IXNGOX*GVWSG4=H5PQ #=3'$J<;0'\F<. OML5U,6TD"ZQP@PBO 8X+>UL@GF6>v MQ&@Q!G!P')W\"7%I H89UQ:TPDB"=!;OVC! 9MSR0%H "EQ3G&Z80]B_)T]u M"&5FT 8) &D.AUL>#2D(J'*>GDUQE#H7&(Z=/IU$9\4(H C)"#T/, !A6UQSt MV@MJ6Z)HL0J)"*]@_ @O *6>KP=-7%())EP1<2('?A&5:X (!9J\;S\.)9M@s M!O,.OIVJ6@8(&9M"G5F:'W&("[YH6UI5"5D)'V = =X.? ?.>>K$_BGFIIFYY+#3YR;V:%" >>20 V!\M;#@GL"4 '0@>Gq M68H.-0"V6W@ 80!B 4@BTEN'$?2>DIYK6I2>46^5BD@VCGJ\(JPE0 %4 5 !" %4 2PA58*:>^@NIGNYQ<@MEo M !2?30T7GQ,+RU5W6X4(F&BE:<@'KFFP::MD!6"W#]N>DYXI"-IF!IJ4&EL!n M;UL'"7);J@@<"(D/)0@9GS*?; B. 555U' .G4L!X9S\"=]:TIU'6_Y:;Y/Am M6N1:.5CS6BE;J5KUFUZ?_TX57:9S@@)#:^2;( &M^;l MZ4[QFU +88[16P "H j M$'@! %0ZL0#N((J 7D]3 +\ 0 /:>K, 4":['N @_@#+ -84GI\* +, @#=i MAI%T5@.1$\T#K)_R +L IP,Z&72:_@## &8A,R"U %&&*1"@@Q-TNP"&+],Eh M4G5$=49U6@7='_8 4'7)GW0 [P D)^< H "V&/X S#X- $EU%3HL #$ / $g M !^8 S0Q "H0 "YG_(0(AU8 +0 $ #V .0 DI_?'<8 G !D=4P6A1L3="D#f MY +F N0"[#3D FP P"Y ]DMX (N / 2"@"B6*42B'#OG4>9Y@%)F0L(:9-:e M7)E::F5P96QE;F4Q& ^@-!@@ 7-E70%U97H(Q994_O!2X&6A0* 95W8P;Z!?P%4UBV2^\%"09. 0&7Z!;a MH 8J"1!AT&"P'Y!64&*@9@H%R@.UBD4 H!;*"# =U6S$<1!G(&P)H?!M,%z M_F-K"<()!P%N ",1&0=F5*L-(R/^!FT 3U3R5L]671$S!QQ8IP;HENL&R@51y M"R(ZRG0S!WV@10!/ ""?V5'O!1D'O0J9 :,"-T^1H$X VEWR!OLVG*#3!;EMx M?0(8!],%,7(?9&!.GP/3!4=RO0IG TX'Y5943QD'BUH_9K88]@;*!?4*79UJw M)+"@+0= A)815$S!T$ P65%!Z8(_A,9!WX(@ A4-<&@3@ U#1,8:1N'H'=7v M. JQ'_X&$Q@( 0)%HJ!/94<'@Z &6 @!8RG0H!,'Z@C'<],%-0V] ;!0G@ Su M!XM: @<$!\P"O* :!\,! 4,]4#,'LYY "$((M2,9!^()DPE) $('+T\9!Z (t M7P#EH$,E2 ?$95@ ^&&731D' 631!O\MUDO5!DEQ5UD&H?X&T 9:"0D!@ 89s M!T,'S%T4 1"A/@H-,P=K$B)3'J'SH'0 *%@ -TLHJ 3!I 22 WD$AD'P0%7H80!p M%RT9!Y>@\@AB48*@TP6S5U!7[@6BH(B@ To: drew@hazelrah.cs.Colorado.EDU, linux-activists@joker.cs.hut.fi, I initally had Linux on the second, smaller partition on my drive. It was error free, and I had no problem doing a mkfs on it. However, I have another, 32M partition I'd like to sacrifice to Linux, and it does have errors on it. However, when I do a mkfs -c, the parameters come up, the drive light blinks for a while, and then it just hangs there - no disk activity light, nothing. I can cntrl-C out of mkfs, but after it's died, I don't get a prompt back again. There is NO furthur output from mkfs. Pertinient information : Software Linux .11, as distributed with minor boot sector patches. Hardware 386-33, Elite chipset, 4M ram Western Digital WD1006-MM1 - very WD1003 compatable Microscience 1050 (1024 X 5 heads, MFM) Seagate ST-02 (currently ignored) Seagate 296N the problem is always reproducable, occurs irregardless of what's mounted as the root file system, and any disk accesses performed before the mkfs. Any ideas? mkfs source or a newer working binary? Some one needs to get gdb up and running. Any takers? --[0271]-- [0272] daemon@ATHENA.MIT.EDU (Drew Eckhardt) Linux_Activists 01/02/92 22:07 (8 lines) Subject: mkfs -c still Date: Thu, 2 Jan 1992 20:03:42 -0700 From: Drew Eckhardt To: drew@hazelrah.cs.Colorado.EDU, linux-activists@joker.cs.hut.fi, Looking furthur, I find that when the -c flag was specified, only 1000 blocks were created. It's getting stuck there... :wq --[0272]-- [0273] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 01/03/92 02:12 (29 lines) Subject: shoelace for linux Date: Thu, 2 Jan 92 23:02:03 PST From: pmacdona@sol.UVic.CA (Peter MacDonald) To: linux-activists@joker.cs.hut.fi If you didn't get my last message re: shoelace for linux, you are probably one of the ones whose mailer cheerfully bounced the message because it was two large. So instead, I have uploaded shoelace.tar.Z to incoming on nic.funet.fi Below I repeat the message... -------------------------------------------------------- Here is a quick hack to get shoelace to work under native Linux. All that required was coaxing laceup to compile. The catch was, no minix header files could be used. All the executables are provided, so there is nothing to compile. I provided laceup.c only in case some adventurous soul wishes to try adapting shoelace properly someday so that large file systems could be supported. Please note. I have only tested this with my floppy drive, so be wary.. Just follow the readme file provided, and you should be fine. --[0273]-- [0274] daemon@ATHENA.MIT.EDU (jim wiegand) Linux_Activists 01/03/92 02:45 (129 lines) Subject: lp support (Alpha level) Date: Fri, 3 Jan 1992 02:32:11 EST From: jim wiegand To: linux-activists@joker.cs.hut.fi Hi Y'all; here are the lp files. they aren't much right now but they will make the printer go. (that reminds me- put a line in your init code somewhere that calls void lp_init( void ). i forgot to put the file in the archive. oops) right now i am working on the following (mis-) features :-) o ioctl - to handle error recovery, translation, reset, etc. o lpd - basic queue services in that order. and now for a few stupid questions: what does the GNU getgroups() do? i wanted to compile cp(1) but make barfed on this- not found. is the message passing stuff going to be in the pipeline somewhere? i am asking this because i need some sort of system log for the lpd. what does POSIX say about printers & does anyone care? thanks for the airtime. jim[v5068u].vm.temple.edu ---[cut here]--- begin 666 lp.tar.Z M'YV09?#`>2.'S@L`"!,J7,BPH<.'$"-*G(@0A,4;-6J``&"Q(XR-'2U^Y!BR MY$<0-6+,@&%CQ@T;,6Y8C`%CAHP:''%2W,FSI\^?=>;0"2/'(@`Y;][0^?D0 MJ5*F4*-*G4JUJE6I`0<6?&$D#9LR."21JA5]-*[6B#!@V0(4>:A%LR MAHRV%E.N;(DQQEL0=F_$P`D"AMK#B!L&'5ITH].E5A\GGDRYLN7*0>:`>&,& MA)(P;ER`D,$"<(X<,G0HZ/I5<]`R9$#0>0,B31LX7]N4<4,'Q%@0<^K`T4I' MM8(I0^D$3>"DS)T70]"`/@,[`>O=870K:/.&3((Q"1*P2>.F#IX7:\K(<5.& MS8LQ:.1\(2/'SHLF8=*;\5I&0=8$;H0W7GGGI;=>>^_%-U]]+XSEPA@*N*$4 M@`*29QYZZK'G'GSRT6??6%^D\<88=+#QX';=?5"1,U7AATGDO$& M>Q0F\`(9,S8(QQ8PM"!#%R"@`,(8(-C`PDB& M:E*$<0<(/-J1QAAE;.8&&WFXH,`39^8!''EG?`4"''*0UUN88Y9)!UA[DE&: M&'7T-D9W99X%)EAIG,%>;+.!()T;9,@Y%I.^P2&#FE*4H=QZFKT1:`NEF9I@Q8)FH@E"$$4%4P005:D*!%)ESS-$" M&R.F%YLH=7WXI1YKG*@A!OOA?#$1L9893!G1NG!OI&&V&<,688;*#I@I13.-PR MF&^`!8*$O3&[*QY19=(M%=F-T6N358 M7BJQ-(,-&)UDETV$&0;WX0PM1I11DD66%&2(1R[YY!&!\((*"H"@@D4#7N@B MC!W.>*+FF6]>Y!`IF)9##!:959YF5!!D!\MDS%'Z"U..0-X8;-3!(P@\]"RA M"VCXH(#N;O#N>YD\S)''BW3D42_QQA^_>^^_\]#Y>7/`!QOUUB>//?/;8WB@ MB<7G?OWRP*/:Q@MSE'&&;KR!C[SRV;O_@HC@^X?'GNOA5V_H$+TO,"L,9$!! M'=PPAT0M"@1M(`]!6,"VHFP.4&9@@9V.Y"G>I&`'_@,@R39(P#Q\X0YUVI," M&>A`V$!0@G*@H'0LJ+$Z9'"#@UH@'3X8P@P)L%(G3&$9C+3`!BK*A1&44`R/ M-$/-8;`T..Q@;SX(@BE%KU0\Z@P*5#"&IGT!#G200PI0L,&FL:"(+8Q-$B=8 M0I32'A20`)W)BF0H0$'3>M`#*10A"$1(P0]*:,`R M(!`%:XSA$R>Y0]6$AY4H3(,*8\F"64HQ!3SLPY3\"$@DE?$.=XR>(7-VAS.R M4)$O5&(C:?C$*,Z15G;$XYS>L$<%;#(!:=#B&&3%+-ZTP`3P:P M!46`0A&DT`00=K)9)!MD]`IIQG'*H9QT.&<)>PE)6K(@DR`49A^S9,Q#(E,. MV5DF"/K9Q$=F\(<&Q>8E59!);W+2G22#9Q*>D-!A,E20R-1-&R1*44>^$8J2 ME&)IZKC1;7;SFR`%@4A)J@"%$C.0Q_S"&E3*TF:VT:(P%91,-:K-CN(4GSHM MPDA+NM`_`M6A7QB+D8Y9FD0^D)=,=.D3,;I4FN)1CU'RZ#UW%LJ)?HF4(#`E M*J,$@A]$-0E.L$(0F``"'0`QERJ,Y@1?*L*V?G"]1,5Q0F6XX/`Z.WV@^G%,O#E5DHFQFABEYXN]T M>`8LAFJ,22G75/X@PK3<@8XVY\7RS$P%N$-QAVF0XYW-ES@Q)BX%36Q9>R8@ MBV&H`QN*P]R<[O2[[SU>%LE3)B=(@0A%L,(4BH2"!NJA#)PI4A>1.10Q?`68 M+VAS&MXQT'0.@YW+L(4N].";3O`5$U@0GLO=C%!V MT%R2O5A?I%':TCOJD4I!H"DD(9F3D6;"I"N]N5#;QPRQ.35S)$WI(5LN3"]` M0ZPW3>=]?KK5N":DIC_:ZSS4&M3!CMZP.XG,L1P;V#WZC:Q3S80^"-G6"W1# M=EPXKWH-6P%!K:!C-QBFTAR5L)*EPTPMV53+JG7.7SRT@UOV!032Q[.Q+5(3 M@J"$)T@!!6%*@0]Z8&8TJYF=('ZGJIY@<'N<@A&"W+V%!O,M"G!_"N\U>V ML.]^_SO@71#TA)T,SU4U_*-0G3?%[2V'*#> MEK1MQ4%CX'EBY/86DGC$;G*I"PQH8`,HH:1O?(F!768B=8QPQ'!"'YOB&G.4 MQUVE<5D/N]@1<[_Q`4]X;[#?^K)7/@-I2.WB8Y_V+,0][Y$![OACGO[XE[ZR MRUU_\9L?EOIGZ;9G"$$<6M"'R(*D,;@@!J>)00L@CQK/;%LS5TB#_$"S:P58 MVL%V<&5Q(.@FE,&'S&9"DZ-RQ3J(\<940*@4':"T,-FS+K5CH<,,3H6OS%G$ M-K@1&99<"*C>5,$)5"C"%))/A&];.@W`$8X>]80PST&9A MN@&.VFCE*%?RJ"C[D9,.6O"14X]@S.P!`1.@\(4B8"$)RR\,'F#`_QB(N0S[ M$7_S]P534`1,4`1#H'_\!P,R\'\!6"8#""W2D@`*R'\TX("H-X!/8`1&P`04 M"`/[QW\X@($"2'^K`@5!(!(A2!.Y`W]E]@1?,']K-@,D"('T1P5)T`1%\`15 M0`6CL8">MSD*<$`MXR9B`%'DT0(\@D"BT2Y%(2%W(!I]M#ME<@>X@B]+."!G M``('A@:GXB@$42=VYB9S@"Q?@B=D0B4TXP8GT!OQ0WUEPAXNY(1?&`=U4`9W MJ`"G)A1R4`VDC)S8$^6)H<\$AMT""C. MXTQ$+U8=_""*D"$0:QVA$,EZP M%1Y[H'\S(`9C4!HP4!I]P`+,98CT>`,X@(_ZR(_A(8_Z)P,`*9`@`%[A41(+ MN0-5%(15)`:Z="@/R"X$`0(XJ1G$<8P=M@*`08XU"`(2 MF`4)`((X\!&6%@8`PXQF.&SO!X"H%P1#L`0F@0*01%$);^)Y&^YXH@,#N]4X4IM"_R8444T4=D5.VB9MWR(6[N1NB$014L)S1XYQJ MHQD3,S,Y!0.B47N@Y28X0X@HDQXF2*>,9J>]@:=Z&B7V!*8$2ISB.`=VE7[?0AZRP:EO6AMF8"2) M>JGCU:?["0)\P`>5JJB%ZJ0QRJ4A\:4=L:F+M@6>"@)XVHC8@JOC-8#VAW]4 M,*H=$:=M]1'#521S6JS'"JHG.1I10JF!2A"R"JG7^:2SVJL\``*-F@6/:JF] M.JG2"J>!$EQ&,IE#``6XFHQ.H)GX>JW82JQUFJ7(FJ?="B6'Q4DAX7ITL`9& M(@(EZ@:ZY%=C40*Q$1"GR@5N(`+KYB)-"JX+B;`+F0!AMD$@(F[]52D5E%2" M512754::@IM.>JC@%E,Z9!%/.B6V!K+`L1NQT4:-DGO^UZ5S(A_M:*P?022< M)&O4BK(S5!H`VZFQ-+"ARD>V=@=A4)%T>*9N(FLV<:K3(*JG[ M(FMK!;.82J_96J=1RZV&N2\'RVH@H#+,*!P(&G[!.:!NUQXZ51OY0AYJBK8\ M6GUU^0:_R"RN%`:,VS)%6+UN$:4-F8"K1Q2X4 MXT)XB[;=XS!DH&5#Q%VT)*DK8&7@!5K\8201-U$ORS(@D%HM25>H55B]D:X# MB(,ZR)2BBK.?=R-A]`:".7YA6[1W0R2'J;,]6B9\^`:]B#!GX(5*.Z]M9:_X MJJN9V93YZII/`)M14AI&\K3&^K8$&[<&BUP\FA_4F[R]>)/;^US=:X"4F:_A MVZ_HV[90"T-26[#?ZEF<9&G1)7ZZ`:!NL(6Z`1IP8@9:!@)9"U6+*FLZH[;\ M0J_JN[(#'+>L<[`HYV09S#)41;)P$$2Z-$3Y]4Q?Q5]'%5DT:U@>M4&VRZML M`$(VC"R("T)M=(^:DS6_.%X8M*.;XSUN2H>_8;%"<9QE(FN?YS!)G)&XJ:(2 MLFSA9"11ZP-3"H,R^+MG`G9VM(K*:_T8Y8'*OIF\+.R[[*JAFIY:SW MEW^I`U?6*L9057(,EV9&S*937!1T,B+EPB_YI6)0_)^&:RATHBG*UD6D`@=& M*#2V.0>C0BQ<>(T4G)$\`BAGH#(-O,9MU<%PS`:.F+OR1W^[*W(6(:Q9#,#K M*\!XNJFA>$[$E*/CM7OL%*PZ^[%=JES](;2PVL9BJZWL2\MK<$[S$AMX#*PE M(:PA`5XA`/,MNC"K)S,7+[*M'0DY8HLPJBG"P)V*2V>8IKB_F*Y!YM*N6QHF/:E>>UL\FA1J&GYAT,_\L:;[<0:R0GV&XES+ M]ATQ&UW355V!9=+<5<+?,EXE.T-&`L11RUV%6R;,8H?^XD+.!2IF("JD8BHX MDR='_W0L%9MF5G?? M'1)2MWM/MQ!8DO09R-L>">T00;AY"(A('[EQRPG(*#4RZ!DPD$\ M0BVW_=W@'=[B/=[D7=[F?=[HG=[JO=[LW=[N_=[P'=_R/=_T7=_V?=_XG=_Z MO=_\W=_^_=\`'N`"/N`$7N`&?N`(GN`*ON`,WN`._N`0'N$2/N$47N$6?N$8 KGN$:ON$_N$@'N(B/N(D7N(F?N(HGN(JON(LWN(N_N(P'N,R/N.3#>$8 ` end --[0274]-- [0275] daemon@ATHENA.MIT.EDU (Ari Lemmke) Linux_Activists 01/03/92 09:08 (14 lines) Subject: shoelace for linux Date: Fri, 3 Jan 1992 15:59:12 +0200 From: Ari Lemmke To: linux-activists@joker.cs.hut.fi In-Reply-To: Peter MacDonald's message of Thu, 2 Jan 92 23:02:03 PST <9201030702.AA00807@sol.UVic.CA> Peter MacDonald: > I have uploaded shoelace.tar.Z to incoming on nic.funet.fi nic.funet.fi:/pub/OS/Linux/tools/shoelace.tar.Z arl --[0275]-- [0276] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 01/03/92 11:24 (63 lines) Subject: Re: lp support (Alpha level) Date: Fri, 3 Jan 92 11:06:05 -0500 From: tytso@ATHENA.MIT.EDU (Theodore Ts'o) To: jim wiegand Cc: linux-activists@joker.cs.hut.fi In-Reply-To: jim wiegand's message of Fri, 3 Jan 1992 02:32:11 EST, Reply-To: tytso@athena.mit.edu Date: Fri, 3 Jan 1992 02:32:11 EST From: jim wiegand what does the GNU getgroups() do? i wanted to compile cp(1) but make barfed on this- not found. getgroups() is an optional POSIX system call, derived from BSD systems: int ngroups = getgroups(int gidsetlen, gid_t *gidset) (this is the POSIX definition. BSD systems have the type of gidset as int, which is not the same as gid_t (unsigned short in BSD, and unsigned char in Linux) --- this can be confusing) This is used to support the feature where a user can be a member of more than one group simultaneously. At login-time, login(1) uses the setgroups() call to establish a list of groups that the user is in, and this list is inherited by all child processes. When a groups-level permission check is done, if any of the groups in the groups list match the group of the file, then the user is given group access. The getgroups() call is a way that the process can inquire about its group list. If cp(1) from the GNU fileutils is trying to use getgroups(), it sounds like there's some sort of mis-configuration going on. Its .h files must somehow think that it's being compiled on a BSD-like system. It sounds like either something in the /usr/include .h files is tricking it to believe that the getgroups() call exists on your system, or you need to frob some #define's in the configuration header file of the fileutils package. In general, I've found that programs which are told that it's compiling on SysV R2 or R3 machine generally work. Alternatively, someone could try adding setgroups()/getgroups() to Linux --- this would be a good thing, since the BSD way is much easier to use when you belong to multiple groups. Date: Thu, 2 Jan 1992 19:51:55 -0700 From: Drew Eckhardt Some one needs to get gdb up and running. Any takers? Some one needs to get core dumps and/or ptrace() working first. :-) The job control patches have a hook for the core dump routine, but it hasn't been implemented yet. (I wanted to wait until after the VFS stuff settles out.) Another thing which would be really nice to get working would be profiling --- both user-level and possibly kernel-level profiling would be nice. Also, assuming you have a swap partition, it would be nice to change linux to do crash dumps after it panics. In short, it looks like there will be plenty of hacking for people to do after Linux 0.12 comes out. :-) - Ted --[0276]-- [0277] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 01/03/92 22:30 (11 lines) Subject: serial port hang Date: Fri, 3 Jan 92 19:25:00 PST From: pmacdona@sanjuan.UVic.CA (Peter MacDonald) To: linux-activists@joker.cs.hut.fi Sometimes I when working for a while, including kernel rebuilds, reboots and powering of the modem off and on The serial port refuses to talk to the modem anymore and only a hardboot clears it. Anyone else seen this behavior? --[0277]-- [0278] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 01/03/92 22:41 (17 lines) Subject: Re: serial port hang Date: Fri, 3 Jan 92 22:37:32 -0500 From: tytso@ATHENA.MIT.EDU (Theodore Ts'o) To: pmacdona@sanjuan.UVic.CA Cc: linux-activists@joker.cs.hut.fi In-Reply-To: Peter MacDonald's message of Fri, 3 Jan 92 19:25:00 PST, Reply-To: tytso@athena.mit.edu Yes, I've had it happen once, and I haven't been able to reproduce it since. Interestingly enough, only once of my serial ports wedged, so I just dealt with the problem by switching my modem to the other port and continued work on /dev/tty2. A reboot later on did clear the problem. The next time it happens, I'm going to try reading out the serial registers using /dev/port to see if there any clues to be found there. - Ted --[0278]-- [0279] daemon@ATHENA.MIT.EDU (John R. Schutz) Linux_Activists 01/03/92 22:59 (16 lines) Subject: Re: serial port hang From: john@csrnxt1.ae.utexas.edu (John R. Schutz) To: linux-activists@joker.cs.hut.fi Date: Fri, 3 Jan 92 21:55:47 CST I have also had this happen every so often. Soft boots haven't cleared it, even when I reboot into MessyDOS, and use a comm program there, then reboot to Linux. The only thing that seems to clear it is power cycle or reset. While it has happened a few times, I have not been able to figure out any conditions that lead up to it ... john -- | John R. Schutz | Email&NeXTmail: | | A learning NeXTie | john@csrnxt1.ae.utexas.edu | | (512)328-0587 | "We are all victims of dead men." | | 3009 Hatley Dr., Austin, TX 78746 | -Charles Fuller | --[0279]-- [0280] daemon@ATHENA.MIT.EDU (Bruce Evans) Linux_Activists 01/04/92 06:53 (16 lines) Subject: Re: serial port hang Date: Sat, 4 Jan 92 15:26:05 +1100 From: Bruce Evans To: linux-activists@joker.cs.hut.fi If the serial ports sometimes hang after booting linux, it is probably due to inadequate initialization. See the Minix-1.6.16 rs232.c (i.e., my rs232.c) for (almost?) correct initialization. If they hang after heavy use, it is more likely one of the xx50 bugs. E.g., the interrupt ID reg sometimes reports no interrupt when there is an interrupt. It's necessary to check the modem status bits and possibly the line status bits directly before leaving the interrupt handler. Someone says that these bits sometimes lie too and it helps to disable and enable modem status and output interrupts a lot. Bruce --[0280]-- [0281] daemon@ATHENA.MIT.EDU (Bruce Evans) Linux_Activists 01/04/92 06:53 (43 lines) Subject: Re: lp support (Alpha level) Date: Sat, 4 Jan 92 15:42:01 +1100 From: Bruce Evans To: bde@runxtsa.runx.oz.au Cc: linux-activists@joker.cs.hut.fi >getgroups() is an optional POSIX system call, derived from BSD systems: I thought it was a required POSIX system call. > int ngroups = getgroups(int gidsetlen, gid_t *gidset) >(this is the POSIX definition. BSD systems have the type of gidset as >int, which is not the same as gid_t (unsigned short in BSD, and unsigned >char in Linux) --- this can be confusing) To handle this mess, fileutils-1.5 (which implements cp) has #ifdef POSIX #if !defined(sun) && !defined(ultrix) #define GID_T gid_t #else #define GID_T int #endif #else #define GID_T int #endif and it assumes (GID_T *) in the prototype. I think another gnu utilities package uses GETGROUPS_T to allow for gid_t being different. >...It sounds >like either something in the /usr/include .h files is tricking it to >believe that the getgroups() call exists on your system, or you need to NGROUPS_MAX. >Alternatively, someone could try adding setgroups()/getgroups() to >Linux --- this would be a good thing, since the BSD way is much easier Minix has { return 0; } for getgroups. This is good enough for fileutils to work. Bruce --[0281]-- (nref = [0304]) [0282] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 01/04/92 13:15 (47 lines) Subject: nonblock read; ptys; Date: Sat, 4 Jan 92 10:07:08 PST From: pmacdona@sanjuan.UVic.CA (Peter MacDonald) To: linux-activists@joker.cs.hut.fi I also found the tty_read command to be blocking when VMIN=0. Now some questions about the solution seen in the job control patches. Which is: if (!time && !minimum && !L_CANON(tty) nr = MIN(nr,CHARS(tty->secondary); Now for the questions: - Should open with O_NONBLOCK implemented by setting VMIN=0 and !L_CANON? - If so, should the above be changed to just return -EAGAIN? - Ditto for fcntrl O_NONBLOCK? EAGAIN is what nonblocking read is supposed to return in errno on failed reads. Next, some pseudo-tty questions: Ptys are pairs of ttys, the Master and the Slave. Anything written to the Master tty, appears on the input of the Slave, and vice versa. I am implementing the Slave as just a normal tty, but to save wasted buffer space, I have the Master tty write directly to the slave read_q and then call copy_to_cooked. Likewise, the Master reads come directly from the the Slaves write_q. This not only saves space, but also unecessary shuffling of data to and from queues. Is this approach sound? Aren't there concurrency problems with two processes manipulating the same queue at the same time? Don't the serial and tty handlers have the same problem, cause even though they have interrupts disabled, the tty_read or tty_write processes could have been right in the middle of changing q.head? If there are no concurrency problems, then master ptys can just use tty_read and tty_write, with modifications to point to the right queues, and the q->write() pointer called in tty_write calling a function that invokes copy_to_cooked. If there are concurrency problems, would tty_write have to call a seperate pty_write function which would (shudder) cli() and sti() around writing across queues? This would result in more code to maintain in future. --[0282]-- [0283] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 01/04/92 17:57 (37 lines) Subject: A screen dumper for VC Date: Sat, 4 Jan 92 14:55:02 PST From: pmacdona@sanjuan.UVic.CA (Peter MacDonald) To: linux-activists@joker.cs.hut.fi Someone, somewhere said "when you have virtual consoles, you almost don't need a windowing system, except for cutting and pasting, of course". Well cut and paste is hard to do without a windowing system and mouse, but dumping the contents of the screen isn't to hard. One to many times I watched my modem go "NO CARRIER" in the middle of a mail message I was composing, leaving me staring at the contents of a screen I knew I would have to completely retype. So I implemented.. setterm -dump n -file dumpscreenfile or just setterm -dump These options to the setterm command cause the screen to be dumped to a file. If a console number n is specified, the contents of that console are dumped, otherwise the current console is dumped. If a file is not specified with the -file dumpscreenfile option, then the contents of the screen go to the file screen.dump in the current directory. Technical Note: To avoid adding another system call, I defined TIOCSNAP in termios.h and used ioctl to do the dumping for me. The SCR_COLS and SCR_ROWS should be defined in . Instead, I currently just check if VIDEO_VGA_50_LINES is defined, else use 25 lines. --[0283]-- [0284] daemon@ATHENA.MIT.EDU (Owen Cooper) Linux_Activists 01/04/92 20:44 (12 lines) Subject: FAQ: Non-ftp access to linux To: linux-activists@joker.cs.hut.fi Date: Sat, 4 Jan 92 10:11:35 PST From: Owen Cooper Hello Do any of the sites that archive linux have email servers? I lack FTP access but would very much like to get a copy. sorry if this is a FAQ. Thanks in advance for any information, Owen Cooper (owen@seer.mystic.com) , --[0284]-- [0285] daemon@ATHENA.MIT.EDU (Rob Soukoreff) Linux_Activists 01/05/92 03:45 (35 lines) Subject: Two Beginer Questions Date: Sun, 5 Jan 92 03:37:42 -0500 From: Rob Soukoreff To: Linux-activists@joker.cs.hut.fi Hello Activists: I seem to be having a problem figuring-out Disk Partitions. I have an IDE drive, with MSDOS 5.0, and two questions. Question #1: When I use DOS's FDISK, I can only make a maximum of two partitions, the Primary Partition, and the Extended partition. Now, since DOS wants the Primary Partition for itself, this only leaves the extended partition, which Linux won't accept. How do you create a partition of a kind other than Primary or Extended for Linux? Question #2: I see in many places people talking about having four partitions on one hard drive, but I seem only able to create one Primary, and one Extended partition. How are these people creating more than two partitions? Are they refering to separate Logical DOS Drives within one Extended Partition? In particular I am refering to the file: INSTALL-0.11, by Linus, under the section titled: "Using it." Thanks, Rob Soukoreff rwsoukoreff@descartes --[0285]-- [0286] daemon@ATHENA.MIT.EDU (d88-man@nada.kth.se) Linux_Activists 01/05/92 06:44 (11 lines) Subject: short question... Date: Sun, 5 Jan 92 12:40:06 +0100 From: d88-man@nada.kth.se To: Linux-activists@joker.cs.hut.fi I am trying to read the keyboard via int 0x16 from setup.s this seems to work until Linux have booted then the keyboard is hanged. But if I for example press ctrl+c after I have done the keyboard read the keyboard is not hanged when Linux starts. Anybody have any ideas of why and how to avoid ? This may be uninteresting to most so please answer to me directly. /Mats Andersson (d88-man@nada.kth.se) --[0286]-- [0287] daemon@ATHENA.MIT.EDU (Rick Buhagiar) Linux_Activists 01/05/92 07:13 (8 lines) Subject: Unsubscribe to linux From: rickb@phoenix.pub.uu.oz.au (Rick Buhagiar) To: linux-activists@joker.cs.hut.fi Date: Sun, 5 Jan 92 11:30:25 EST Can you please take me off the linux mail list as I now use xenix. Thanks. --[0287]-- [0288] daemon@ATHENA.MIT.EDU (d88-man@nada.kth.se) Linux_Activists 01/05/92 10:35 (14 lines) Subject: int 0x16 Date: Sun, 5 Jan 92 16:30:42 +0100 From: d88-man@nada.kth.se To: Linux-activists@joker.cs.hut.fi As I mailed earlier int 0x16 seems to hang the keyboard for Linux when used in setup.s. I guess the keyboard must be reset or something before starting Linux (after the int 0x16). I said something about when pressing ctrl+c afterwards seems to "undo" the hanging this was not true (it was just as it looked) In fact it seems to hang at random (with possibility going towards 1 :-( ) If anybody knows how to reset/or anything the keyboard outport etc. Please let me know ! Or any other ideas of why/how/etc. Thanks in advance... /Mats Andersson (d88-man@nada.kth.se) --[0288]-- [0289] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 01/05/92 11:56 (41 lines) Subject: Re: Two Beginer Questions Date: Sun, 5 Jan 92 11:47:25 -0500 From: tytso@ATHENA.MIT.EDU (Theodore Ts'o) To: Rob Soukoreff Cc: Linux-activists@joker.cs.hut.fi In-Reply-To: Rob Soukoreff's message of Sun, 5 Jan 92 03:37:42 -0500, Reply-To: tytso@athena.mit.edu The problem is that the fdisk which MS-DOS uses very limited; it only knows how to deal with MS-DOS partitions (my 8-bit CP/M machines from ten years ago did better than that!). The MS-DOS partitioning scheme does indeed allow for having four partitions on one hard drive. The problem was that four is just way too small of a number. So what MS-DOS did was that MS-DOS knows how to make two partitions --- the "Primary" DOS parition, and the "Extended partition", which is in reality one of the four "Primary" partitions which can be allocated on a hard disk. This leaves two other partitions which MS-DOS FDISK doesn't deal with at all. Other operating systems, like OS/2 or Linux, can use them, if they can figure out a way to set up the other two partitions. I thought you could indeed use the Extended partition for Linux, but this is sort of a bad idea, since the wrong MS-DOS commands could easily trash your Linux filesystem. If you want to set up one the third and fourth "Primary" partitions, there are two ways to do this. The first is to use something like Norton Utilities, and mess with partition tables with a disk editor. Norton Utilities' disk editor is actually fairly sophisticated, so it knows the format of the tables. You still have to do a bit of manual calculations to get the ector numbering and double-checking, though. The other method is to use a more sophisticated FDISK command; the one supplied with OS/2 will work. I don't know if there are any other PD versions of FDISK out there that will do the trick. There is a fdisk command under Linux, but currently it will only print out the partition table. Eventually you should be able to use the fdisk that comes with Linux; however, for right now, that's why I only recommend Linux to people who are willing to hack on it. :-) - Ted --[0289]-- (nref = [0293]) [0290] daemon@ATHENA.MIT.EDU (Tom Ivar Helbekkmo) Linux_Activists 01/05/92 13:30 (46 lines) Subject: Incorrect path parsing in fs/namei.c. From: Tom Ivar Helbekkmo To: linux-activists@joker.cs.hut.fi (Linux Activists) Date: Sun, 5 Jan 92 19:26:17 MET There's a problem in fs/namei.c that affects absolute pathnames. It can easily be demonstrated by e.g.: # cd /etc # cp rc / ...which gives an error message (can't remember the exact wording) to the effect that "//rc" can't be opened. This is caused by the concatenation of the directory, a '/' and the filename, which gives a double slash. Of course, multiple slashes should be allowed. Not being familiar with how, exactly, namei parsing should work, I can't offer a fix. What I did locally, just to minimize the effect, was to check for another slash near the top of get_dir(), where it recognizes a leading slash as being the root directory, and just skipping that second slash if present. Also, another bug somewhere (race condition in the file system?) showed up after I installed the virtual consoles patches... Starting three shells on three virtual consoles from /etc/rc in direct succession caused the file system to be damaged. It turned out that this was caused by the three instances of bash accessing the .bash_history file at the same time. Staggering the shell startups sufficiently in time fixed it, as did disabling the history file feature from the .profile file. At startup, the kernel would report trying to free block (NNNN:NNNN), count = N while starting the shells, where the last N would be sometimes 1, sometimes 2. Running fsck on the file system would show that number of references to the same (actually unallocated) block. On the good side, fsck fixed the file system. A bit of good news: I'm running with the posted shoelace here, and can report that booting from my hard disk with shoelace works great. No more floppies here, except for my emergency boot floppy, of course. -tih -- Tom Ivar Helbekkmo, NHH, Bergen, Norway. Telephone: +47-5-959205 Postmaster for domain nhh.no. Internet mail: tih@barsoom.nhh.no --[0290]-- [0291] daemon@ATHENA.MIT.EDU (Yanek Martinson) Linux_Activists 01/05/92 14:27 (15 lines) Subject: Re: int 0x16 (reading keyboard) From: Yanek Martinson To: d88-man@nada.kth.se Date: Sun, 5 Jan 92 14:22:17 EST Cc: linux-activists@joker.cs.hut.fi In-Reply-To: <9201051530.AA25892@dront.nada.kth.se>; from "d88-man@nada.kth.se" at Jan 5, 92 4:30 pm > As I mailed earlier int 0x16 seems to hang the keyboard for Linux ... > outport etc. Please let me know ! Or any other ideas of why/how/etc. You don't really have to go through BIOS int 16 to read keyboard, potentially causing problems. You can read it directly, on port 0x60. A value less than 129 is a "key pressed" signal, with the value bin the scancode of key pressed. A value more than 128 is "key released" signal, with the value being scancode+128. --[0291]-- [0292] daemon@ATHENA.MIT.EDU (Rob Soukoreff) Linux_Activists 01/05/92 16:18 (21 lines) Subject: Partions ok now... Date: Sun, 5 Jan 92 16:13:41 -0500 From: Rob Soukoreff To: Linux-activists@joker.cs.hut.fi Hello Activists! I wanted to report that my partition problem is fixed! The program edpart.zip from wuarchive worked great! Many thanks for all of the suggestions. Do you think edpart.zip should be mentioned in the FAQ? Thanks, Rob Soukoreff rwsoukoreff@descartes --[0292]-- [0293] daemon@ATHENA.MIT.EDU (John T Kohl) Linux_Activists 01/05/92 16:28 (14 lines) Subject: Re: disk partitioning Date: Sun, 5 Jan 92 13:20:27 PST To: tytso@athena.mit.edu (Theodore Ts'o) Cc: Rob Soukoreff , In-Reply-To: [289] From: John T Kohl Reply-To: jtkohl@cs.berkeley.edu I use the 'edpart' program I picked up from WSMR-SIMTEL20.ARMY.MIL. it runs under DOS, and provides an o.k. interface. I believe it lets you select partitions on cylinder boundaries, and does the rest of the calculations itself. [of course, you have to calculate from blocks/MB to cylinders...] John --[0293]-- (pref = [0289]) [0294] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 01/05/92 17:31 (44 lines) Subject: Re: Incorrect path parsing in fs/namei.c. Date: Mon, 6 Jan 1992 00:25:45 +0200 From: Linus Benedict Torvalds In-Reply-To: Tom Ivar Helbekkmo's message as of Jan 5, 19:26 To: Tom Ivar Helbekkmo , Tom Ivar Helbekkmo: "Incorrect path parsing in fs/namei.c." (Jan 5, 19:26): > There's a problem in fs/namei.c that affects absolute pathnames. It > can easily be demonstrated by e.g.: > > # cd /etc > # cp rc / > > ...which gives an error message (can't remember the exact wording) to > the effect that "//rc" can't be opened. This is caused by the > concatenation of the directory, a '/' and the filename, which gives a > double slash. This is corrected in my version - it will be in 0.12. I had expressly forbidden zero-length pathnames, as I didn't know what to do about them, but tytso implemented the same change as you wanted, and it seems that is what linux should do. > Also, another bug somewhere (race condition in the file system?) > showed up after I installed the virtual consoles patches... > [ deleted ] > > trying to free block (NNNN:NNNN), count = N Right - this is a race-condition in "open()" when using the O_TRUNC flag. I knew about it when I wrote the code, but happily forgot about it (as it seldom happens on a single-user machine - I've never actually seen it). fsck should report "Zone XXXX: no file uses it, marked used in the bitmap". If you get another message, please tell me. The reason this happens is that I didn't know how to handle a truncate on a file that was in use, so I ignored the problem, and forgot about it. I think I have a solution, and I'll try to get it corrected in 0.12. As far as I know, this bug is totally harmless (except for the message), and just results in a unused block on the disk. fsck should repair it, but if you got another message than the above, I'm wrong. Linus --[0294]-- [0295] daemon@ATHENA.MIT.EDU (Teresa Selling) Linux_Activists 01/05/92 21:09 (12 lines) Subject: kermit From: Teresa Selling To: linux-activists@joker.cs.hut.fi Date: Sun, 5 Jan 92 21:04:43 EST I am having trouble getting Kermit to work with linux. I set the line to /dev/tty1 (for com1). Is this correct? Doesn't seem to access the modem. Also when I send mail to linux-activists-requests@joker.cs.hut.fi it gets returned. What am I doing wrong? Thanks. --[0295]-- [0296] daemon@ATHENA.MIT.EDU (Christopher Provenzano | ) Linux_Activists 01/05/92 23:21 (13 lines) Subject: VFS To: linux-activists@joker.cs.hut.fi Date: Sun, 05 Jan 92 23:15:46 EST From: Christopher Provenzano | Food is Great! Ok, I just mailed Linus the VFS code. Hopefully he'll include it in the next release. Ted there is a prerelease version /afs/net/user/tytso/linux/proven/vfs910105.tar.Z, can you make it publically available so anyone who wants to look at it can. More stuff for the VFS is coming but the current version does include all the functionallity of the old fs, and hopefully very few bugs. CAP --[0296]-- [0297] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 01/06/92 00:41 (21 lines) Subject: Re: VFS Date: Mon, 6 Jan 92 00:35:43 -0500 From: tytso@ATHENA.MIT.EDU (Theodore Ts'o) To: linux-activists@joker.cs.hut.fi In-Reply-To: Chris Provenzano's message of Sun, 05 Jan 92 23:15:46 EST, Reply-To: tytso@athena.mit.edu Date: Sun, 05 Jan 92 23:15:46 EST From: Christopher Provenzano Ted there is a prerelease version /afs/net/user/tytso/linux/proven/vfs910105.tar.Z, can you make it publically available so anyone who wants to look at it can. TSX-11.MIT.EDU:~ftp/ALPHA/VFS/vfs910105.tar.Z - Ted P.S. If any one knows of some email archive server software which takes little time and energy to set up and run (very important! :-), please send me a pointer to it; I've gotten one or two requests for a mail access path. Thanks! --[0297]-- [0298] daemon@ATHENA.MIT.EDU (Owen Cooper) Linux_Activists 01/06/92 02:27 (12 lines) Subject: setting up linux with dos 5.0 To: linux-activists@joker.cs.hut.fi Date: Sun, 5 Jan 92 21:24:13 PST From: Owen Cooper Thanks to everyone who replied to my last message. I have now obtained a copy of the linux boot & root images (I got them from ftpmail.) I tried to create a non-dos partition for linux in fdisk (msdos 5.0) but am unable to set up such a partition. The dos manual says that the other operating system should set up the partition. any help in resolving this problem would be appriciated. Owen (owen@seer.mystic.com) --[0298]-- [0299] daemon@ATHENA.MIT.EDU (drew@hazelrah.cs.Colorado.EDU) Linux_Activists 01/06/92 02:53 (29 lines) Subject: Re: int 0x16 (reading keyboard) To: Yanek Martinson Cc: linux-activists@joker.cs.hut.fi In-Reply-To: Your message of Sun, 05 Jan 92 14:22:17 -0500. Date: Mon, 06 Jan 92 00:48:08 MST From: drew@hazelrah.cs.Colorado.EDU -------- > As I mailed earlier int 0x16 seems to hang the keyboard for Linux ... > outport etc. Please let me know ! Or any other ideas of why/how/etc. You don't really have to go through BIOS int 16 to read keyboard, potentially causing problems. You can read it directly, on port 0x60. A value less than 129 is a "key pressed" signal, with the value bin the scancode of key pressed. A value more than 128 is "key released" signal, with the value being scancode+128. -------- Infact, you CANNOT use BIOS calls in Linux. BIOS is INACCESSABLE in protected mode, which Linux and all other REAL operating systems run under. There is NO Code for handling int 16h. You either talk directly to the hardware, or let a device driver handle it for you. code for handling 16h. --[0299]-- [0300] daemon@ATHENA.MIT.EDU (drew@hazelrah.cs.Colorado.EDU) Linux_Activists 01/06/92 03:03 (47 lines) Subject: Re: int 0x16 (reading keyboard) To: linux-activists@joker.cs.hut.fi In-Reply-To: Your message of Mon, 06 Jan 92 00:48:08 -0700. Date: Mon, 06 Jan 92 00:58:16 MST From: drew@hazelrah.cs.Colorado.EDU -------- > As I mailed earlier int 0x16 seems to hang the keyboard for Linux ... > outport etc. Please let me know ! Or any other ideas of why/how/etc. You don't really have to go through BIOS int 16 to read keyboard, potentially causing problems. You can read it directly, on port 0x60. A value less than 129 is a "key pressed" signal, with the value bin the scancode of key pressed. A value more than 128 is "key released" signal, with the value being scancode+128. -------- Infact, you CANNOT use BIOS calls in Linux. BIOS is INACCESSABLE in protec ted mode, which Linux and all other REAL operating systems run under. There is NO Code for handling int 16h. You either talk directly to the hardware, or let a device driver handle it for you. -------- Sorry - misplaced that original mail - whenever I leave even for a short time my mail box fills up with mundane sys admin mail, etc and I can't always find the good stuff. If you're calling int 16h BEFORE the protected mode switch, you should be fine. Make sure you haven't cleared the interrupt flag. As far as reading the keyboard directly.... This gives a SCAN CODE, not an ASCII value, which must be converted if you are interested in the value. You can use an index into a translation table, but this means you must store all of the keys you are interested in in the table - a real pain. You also have to worry about shift states if case is significant, multibyte scan codes, etc. --[0300]-- [0301] daemon@ATHENA.MIT.EDU (Stephen. Clawson) Linux_Activists 01/06/92 03:14 (28 lines) Subject: Re: setting up linux with dos 5.0 From: sclawson@cadehp12.eng.utah.edu (Stephen. Clawson) To: linux-activists@joker.cs.hut.fi Date: Mon, 6 Jan 92 1:09:38 MST In-Reply-To: ; from "Owen Cooper" at Jan 5, 92 9:24 pm > > Thanks to everyone who replied to my last message. I have now obtained a > copy of the linux boot & root images (I got them from ftpmail.) I tried to > create a non-dos partition for linux in fdisk (msdos 5.0) but am unable to > set up such a partition. The dos manual says that the other operating system > should set up the partition. any help in resolving this problem would be > appriciated. > > Owen (owen@seer.mystic.com) > Try getting pdisk.arc from wuarchive.wustl.edu in /mirrors/msdos/dskutl. Someone else suggested edpart, but I tried it and like the program that comes with pdisk better. I'm not sure what the rest of it is, but there is a program called part.exe in the archive that will do what you want nicely. edpart dosen't seem to understand partitions >32meg and managed to mung my partition table up a bit... I used part.exe to set my formerly extended DOS partition to XENIX and things have worked fine since. steve // sclawson@cadehp0.eng.utah.edu - University of Utah --[0301]-- [0302] daemon@ATHENA.MIT.EDU (d88-man@nada.kth.se) Linux_Activists 01/06/92 11:58 (293 lines) Subject: SVGA-alphanum. modes Date: Mon, 6 Jan 92 17:43:12 +0100 From: d88-man@nada.kth.se To: Linux-activists@joker.cs.hut.fi I have finally had time to finish the SVGA-detector. This patch will look for clues to determine if/what SVGA-card available. If it finds a card it will ask (at boottime) if one wants to select from the modes supported by the current card or just do a 'normal' init without SVGA-modes. This is not the best thinkable way of doing this, I will work on a version that can do the modeswitching from 'user-mode', which however is FAR more work than this straightforward hack. But the detection part of it must still lie in the kernel (at least that's simplest). But this is good enough to be usefull/easy to use. I have uploaded this code to both nic.funet.fi and tsx-11.mit.edu. I have only been able to test the Trident part of this code. People out there with different cards could please test this and mail results. And even the Trident part is not guarateed to work since my card seems a bit strange. Cards supported: ATI, Ahead, Chips & Tech., Cirrus, Everex, Genoa, Paradise, Trident, Tseng, Video7. People with code to guess other cards and what modes they support could mail me, or implement them themselves as long as it gets spread. Finally, the patch someone (can't remember who) sent out with the 'standard' 80x50 mode for VGA could be implemented in this code as an extra choice but I can't remeber how one did it so could please someone send it to me, and I can tuck it in at the end ... ++++++++++++++++++++++CUT+HERE++++++++++++++++++++++CUT+HERE++++++++++++++++++ begin 664 svga.tar.Z M'YV04HH$(=*D"("#"!,J7,BPH<.'$"-*1 BBH@T:-$ J,@1AD:.%3UN!%E1 MA@T9-RK6B#%#1@P8-V#8F,'QQ@T:,#;FG,BSI\^?0.O,H1-&3D4 : H/,&!),T;NK@ ;&F MC!PW9=BX4*" "IHT:LF:10/B3AHV;$"4<1-&#!NQ>=[46=M6J-@PB->B!8$9 M#IHP<=O833,&Q->P:N?4@0/GC1PZ90Z1K5R;3&F*!D7()+0*7PX M,9FV<]K2!C$'S1O#;LYH%GLZ+6<[80XW?LQYN!BE=.BD$:T M&PZ:.5 EFPZ M3![F>%:&Y@!ET1^MRDP1WSS<0:" M;EU5I]^#=*S60E)UB&>?89F%T>$;"(K7&V+OP67&@>W!U0)<:="A 'Z%_746 M".HEQT:':=0' F @G/7&@VYPYH9L&.I'11%2-*&8&W8 AYT<:6QWV1ACN$8& M7&>P41M<%Z*%&'!^V57&BNJ!<)MI >)8QE=VB(6>6(O1(4>*1;H 1U)F'";G M9\-A.$=?3#8!7!!L)*VVT"=<8.X;%669S@K"E&6:8Z<9PL,G11F]PM% G ME=:9D50;^O7YF *=?AH&'"Z$0<9Y@"Z*6Y"^,;=::Z_-P<)]1MV!QGL&#O=H MI'^^.6EB;#%'EGJL;B:>:/?EE]QK7$Z'J@XMI,!7F0^.5=99UA5U&6MLI!$; M9?J]NN<;>U8)&PBJIO6K>=,56>FH>0R:I1PYMG9DMLW>9I2LKW;ZH[Z;9;EI M=GB=9Y>K<-#K)YM#S7;9K+&QVI;!:TT,JL6/*<@@>\>Y<<)P:QAX1XUE<49& MPG;9"L)G1LK&AE)K_)A?I5E*VEN1.[]QAAMIZ+'> MK0C#T>FO:>07HZ5O6/CIMV=:=S" M&NBY\*"W"M2KUK%UA$6&#GP%-%!!"23@%Y#UB>7"[0HXK&,9+HSA@MP)$-&U M&2W42Z]_+Z0;%QXO"(T7&R^<)<<79,AA1_3U[=Z[ @C"U?OOPP<_?/$7HPE" M\G#)]0*,=+S0O1O;8[B:Z.!C*CZFY'-G/OK+O_#=4B^0'ZP&U2I0Q6I6"0C" MK&+4(\8P2V2O$M6F2%6@,L2F8WUIB[N\%+?AJ05 &PI2K\/&.@ RD( =I%148,DC9FR+OQI" M*=2A2$20SQO/&(,;Z( &-M"!2]Z8@QS$0 $M""4BW: ]W^'E#HU\) B4 !J5 M@$ &,- !#&(Y@Y3$H),R4( A=\G+7JI EX>D00Q80(.4\%(!%1E!6/IDGR=( M(0E'^((5DD"$(CSA"U (PA&*$#L4J %CYQ#&J:VKN:X9C@J2 $,\)"#6:[1 M6\E<)ES$XDQH2I.:UOQ"$YY0S6YZ$YRD'&?$F..MLYRQM #<3@&"= MF((G")1YIGF"H)[1G&8UKSF$)S!A"B!( I&^LUP"K28#'X !]X*P43EV^$ 0LB+2D 24GDE)ZT)4J% 8X1>9.*]I3>VHTGU(-PA>$8-5_FE2K!#UG M5Q/JSC HE:=--2M0HSK5(;05J^*$JSD-BE"6SG(,W@IE"T @3&*F1+$M$.M2 M+8K1I^8SF]OL)F!/NE6Y%O:K-+@K6?/Z4ZCNLY\B=6M6!SI8E=)UH0U]*!XB M*EF\7M2I9^6H1T&:6M4&EK5<_6Q+8QO3F8*@IC?-Z5B9>EN]0E6H1#4J20'Z M6Y1ZUJON+ -Q9VL&T3*WLKGEJUJK>E7J-+5E+'!YLX(GDTBD;^Z$?PG/C%,(YQ578YQ-ZE MLDBL+-*&.:F#E>@@!AFY90YRJ=@:F[(,J'0DCENYXUOVV)(HX>20@>G+*E,9 M!#/( 3%M<-!=@E*4629F#D 6;%*%G62XH'RU&>&.;@ #4NLB )6,%$TBX4' M0Z%2=-Z\1#J+=2AE(4V0/F.4>&U*#'4PPQ9>(@,:=&$'9J:S#B; UJP&P>,J @SW6($!U0I8*UM,'6GM9VKKLM'4"_9C5?F%89 M5#UG7<,:!&+*>,BE[W+M2@1GFF% M(GQAJ$9X0LN_B>X(52\-<1*V&U84I:Q3>?Z$DU?3"F,WKV"#B]T8 M&&$($J7RL8])XQS@@ 4OR<@QBSQBQ,? VF6N"*!-Q.WZ2$=7;>SBMAS2=0U^:L^BQ M58NVP:/[W6_>5]HH[2[*&8(MAS%LH0L@\/P>0" "_\$E@&@0P:^<4 4F, $$ M?= ]XH=TE@ 7" >+!GV>URH[D #]QHA0 MHG[L%P.0&#*>@H=#D09^6!$) "<^R!9?8!G34QVA&%)=TW(A@"9KL&EPLP=' MV&YW(!99\DCTP3! <@:OYFUOD#0J('):V$M7%D=:5DD><4RBJ!X9DFMIH&I] M8&:+18$$F'P'R'S.MXGPUX /6(+Z]W_52'X#:&GHAXG;Z'[PQX%%4'\C:((2 M"$H@((_6:([*9P<9"'\,* ;7UQP0"(_B&("45X'MUHCYN('SUXX>. <@*(+@ M>(+R*%9#.&P&)U9[H(:BYC-DP +1&&UO= ,V@'@XX&QE5HR$=TBP5(:P-&9B MN%@N<7@R, ,>$7DA-8VBN'EX (=P-XE(Z 1U5P0ZA9,Q$H5+L6IP"#?#*%;3 MZ&=T-H2'V"I%6&SO1WR+:&JH)@)+TB0]X# E0 9XT)7WMW0=]5&_LG0\YW.< M1HF+B&F:UBJ_8FIL6(@)8)4H( )9@0(4#TTV"(^401QD4D$49@=&$E 4M1MF%IY&$VP65OU(4V4&*-24@IMD(61$)DJMZ0*GE !-X",Y9A%O ME$DP4 .:=)NXE(5:>&4S0&T2QHSS*(IPD@!A@ WLQ?2^09VD !DX"O5*8^C2)_4B0;7 MN4XP, />N82R,0:X<2UC,23ZB0>NL8;^*09HH)^2DP#K]!*QHU-S$ 9Q\B/& M4B0M\QQ% @=Z,P9E\"L.PX?T(G#D,BB+M9_UN04PT 4LX)47RJ'T!QW'\3*&00;H$9$5H5/D,@9)8SYI]0);$01%PQPD M@HOUT2?2\2P\)'"-8V;S69]W^I]_FIN+Q4:.A8:15:5;>$C-QFQJ@#^C6F0B(YZDX[6HG]EJ;#D:EM^J9R(!MQ&@:L MLX@RZZL/BPJF> M)[2;RA^=ZGZ@^AS$0:H1*F>G"@) .AQZZ!%':V;(^DLT9IDLD)+/]DM%EI)9 M>@,R8*QJJ 9NH >,V#-TH'IOQT8#F@?6L5A' R]JZ(P J%-2D'$692=Y0#!M M$3534Z0U=$/5,B&OV@+?D2M_0R3#$3GY 1IY4',^&JNM^#6D2S56^DB6)D@)[P92#)K '"[!L0 :5" ="@0;VB;$A MA;_- ;#\.Y?PLK]+&U+5":QCX$Y5:R_YN8B/$08)($XLT 9S< :?M(@GP@9S MV2MVTF\&4A=Y@+!P09WSJJXV0+48'*_EJZXXD$OV*@;Y&HQE4!LI# *\1/+!5>\#JRJ[N6I4#?)^5J+F[-[ (^\ A M)<&P%F@U.@1HH:H@$ 14D 0@< *04@=I<0)5NR7 .@,7'%)P$E+E"JPPD -1 M7 8W!,1P, =B4,1X$<.!5HD/',%I,*-ST!OB \.Z'%(-6LPAZ\H= LN46C9A6Y_J MK*Z)%SNW[ ;^3,X)ZQ@'G'5(:>\-GG0!<'RG+#E"Z&(C08;N]@;C4".+=&)O=,C@ .730:< M;0-);)U![<;I?-2LS-A;C=>Q'-:TW-?]_-<;?21JK=>*R[@&,@90+0=SW;$@ M+=)Z+=8U2]("W:XLG=N[[:^(D0!R,!1)O=0Z+=-8LMM"H=,X3=T!',C?G!?A MO,/CW&_-30?/7=0&K:[/W=N.48EI_:N'O99HH-CIZMF+*"N@K<0 JM5W'=)= M+='.J);E/-2[C; 9S-S.K=2QX\ZA# )%$"?J,1?Z;,95/=K &A.SI-X-:JB% MZMHA/;7$3=P1M(JC@%6C=;^09VM78DN0!OSXJ#QF<:#_-C3&P >#OB6''E*U?NO& MG.NK' 9X[NM[GLC!?@:6 Z\54^S'G@;)+NOP(A;1W,8 .\YRK,,)H+C)+#6+ M$=V#3,U?GLE!/L'JKLPZO=V3K.3>S>28_.5;'M.##&NXNJCXBN!-#05%(2N M(18/SL^FK="#K*XW<,T)R^H >N+,;<=E@,=Z#.*XRNX]'O )'^]? ?(/4N]( M?N\2KP;?+=2X2MXSGMIAGC140"5A43<+'^%77=P9O]KZ[=8/+=>Q/=82C0=G M<0;].=@-C]45SO/ [=="K]Y%K]8>F_04C1DU.@5V AH!IQG9$I\+HQ__DS3@ MJ19W$ 9S(.FS#=H4W>HR,*!X0:*.4Q3O\9XV>@>NT3:^:QKOT1M%6R.D,?7G MSK@8(@9M?[-J$09K0?-U AQ7$"/.(>I?4RF%K!YKXXLQ.]^T+=!F -HZY1BX MH1ZR<>I+3K]R0/@76GP"1_@(&]!T/7/>V6^04OHRL/JLC?34F?E-^[3$G?LN MO,-]7"PTWV]3GN/]SN/4_.1U(O)+H?B;8O(\G>0IO_+__>0NC]I8$O-)2"32 M_!M@BK$KY2Y#=KU18VNB 8T"$ ^Q;H<+_)0N3'AM$;'4 AI4O M2*'<-!@9V!/-#X/]JU*CVZ(#()MU=P#JH0&C5[[:&QS[5[_P+M2T!$#TEN'1 M6VN)4,WU-HC7XB#A<@.&=$#]:\!]M@VFQ(3=T-1 M@CVVHW&?DJ$3LV%0;!%)L?^V!V$A6G1-.@4)F E$4@?JE\9 ))*B6:@&UB!7 M ,V1R!5O9UU!J\ HDR3<$FM7.<"_7;R:!KTZ%X^P#^@A9JR,QE#5V 5>8#6( M1"]0)6=1#*U=%>QD.Z\?;K!-(>[(8"\S=P,.',8 Q6@:C1EJC(32<#5N0]?8 M"T=C.&2-<+"3O<9O&!OK6$C;C)S+9NU1TUXY;S"!>DK-^TPAC'28T>\'P80?MX!C$@G^@7?=A3A@%$,8N'(:',&,N0 14(OL$ MPP#41NIUG1! A>H,1$=&>B8 M3NMCBLQH-S)/Y#Y$6/=29>I++J84PH6%6 ZO2YQX&Z;A&@)&?=@2WB8T[$B&. MN& &PL!\P UV 6%5!"= @_!#PD18+;,,)"U#R OJG#%[G4B->(:X(G<\>R?6A'98,W8ZK=G9Z\I0 MKSL\(#/:B0$\1T;()_@T9L-$MN"$TSDWJR>SVYI^2DOAN1HP,H6G;%E6]Q-Z MSH2]R3W7B>'"HP':$R/SJ6^ M-F>_H6::#&6&RTTH3#PH%94!^ V*6C.W.47Q Y@(V, SWW16R)&A4D8E2UT MKB7,SS72^ZC9[E256J(I5M$RVA*>Z$PSGIBPBXY1*^I%P6@9C0$L:\6QD;A) MS8A<@^.B<52!SIP,&J#.J""5 >/S?F*$2$I%R:AL^:)8=(T"4OX9 RCI#EDC M%72,AD9WMQ@R&2)EE8H4EO!/&3 R]^@?U9J8-)3ZT4N*0QVI8&1E:]2'"E(: MVDA0WX0-)CV/0JZ23_HS/&D[ J7TE)B.DP#:1^% MI'0TBQY3[7=*E^4MM:47009P4%3,?A1%631;VHC:M2-:D<*R*LX(&2 HS:%QT29)!.%$2-(Q2;0 M!,S486 "A1,Q+D$&@":1>A5&TXHI35:!Q=#4G9I11X!/_:E -:@*U:%*5(NJ M43VJ2%4!C "EFH2H)/B2?$3A+_8]?O'U*H5'K1C- F>(A<"(5'P7!_$]T2'C MC8"GNAGH&P/Q$33"87#5,P(F8!F4 MQG\[F!6"/X O[[4VK.K$ %])HEFH56-6 _;"4D6JD#6R2M;)2E3YPF*E<36 M#\15/B!%? @74 )0 <6M:X"_>H$& MFUV=0W(5KFL@!NC6)P %(JP,6+%1(,+.@!4K!2(L#5BQSE%KF%<-FW)T@!V@ M R-@!N@ /!#_XFLATZV6I/GHUF,Y!N9 @_@5,^^!T@% J_U^10K45#APK):);GDG4L.N."?K8CF M#+[76>HBK]D8JH-=@(RK>D+R[%CU#VOB2G(&UL!Y](.P4"1<;VE^#,E@%*ZJ M8ZVR63;6REJCRD3&JB/ABZ\ATH8PIGIG^]5E':C8-;2.UM)Z6M] :M4!JQ78 M0HH36UMO:VZ-K;PUO@+7$3M=*!J"KA=T"T[6ZUM;K&E]) M%'?UKN#5O(K7VDI>S2N W0+IUNP7:;1O@K[75 MO\I7>ZL#!FQ]-; Y ,'*UH&Z8$EL:'VPQU+"4M@U\&TQ[!K@MQS6P\I6$"MB M':X.,+&U%<6JV-C*8ETLC)6Q--;&XE@=H&,9DFYM CX6R I9(AMLS>L80+(Z M0,G&5B8K;V4KE-VV4I;*VMI'FVMYS:X=JW2VP0%:YB# M;-- D(TERS;D-EOS^FQW:\V=ML*5N.H XXIM:^O/Y;;>5KI25SA 8W:#;JV=$$07-AA= MUC%6>VWNJ ^$"* M!L*+=P^O#$B\+:'A-EX@&W$AKVR]KA1W\F98M=MADVOFI;;QE?/.U@@[MWMNXVZZ30[KE^"JUWD+?P-LS>V[AO?OLMO]*G@'+O\EL#L M=P)@&B" '2P!?KP3M^(N8/';@#]LA.VXFW?==EX*_'E-[NA%N:=7Y:Y>EMMZ M>2SLE;FSM^;:7A2<35JEK;*GN:@W%6;?S;EW<6H2E[1$.N];VN$+B[QM^96L4)K^AU?S*5O1[ MA?5PORVO[-<+;V'92F_-V-[%M_-7#,O6^UN&]V_[+;R+9@?@T,2+0]MP=G6\ M$C?R)N#:2GD9\.5]P!Y7 GM>DGN!3V[I3;FI=^6V7$,\@F\ZP0BBF >78A\\ @!R*IZMJ[CK6M_?^HJSKQ*N MQ]WV":M=<7N :ZXNW@*\>!7[XG8;C.&M^^7"]?88AU8PO&B4\2^6K_AW"^A? M@@N-"RQ&H,9LF/&Z80B;C2OR-KZP<]@66UX'?(/8 OOA# R(.; @ M_L"$. 2_WG: 1=]\6/&7YPM"-P;J6!B=='6)G^?'2%;2$=@,: MVD)X?-U 8#QA 9D4.U^KBY8/,FT=PJP8VAIAS9N$MR]$3KOBER)O 7);?M\N MNM7(6=CN#N.\&Y+C+S+6M_47\*;DE7R&#^X)2[PGS!H_W#=RY.7&.1G< M[F0['&)]PR,!8"^/= M["R2Y6LR)M++F P?:3.P?NX-]>'.SV;EN\.5LM[VNHJ M6S]MG 4U64B'84Q]DHUT M_D727K@E(UQ0G0-$-4V&TI<9)YMJG5R'-RY\#L>@F56+9E=-FHMR?I;5^YE6 MKV9$?*OA\9F&RE)Y6K/I!/VK+S%3?6I1S5=4:*7+H06MB&X)2"V6&.M1W'R3 M]=4-PJJ811]GA@RM'_*:3M3.F5%CZUVLK0$U=<[4W=HC8V=P?6]'\J7NSD5Z M,:-KCZRN$6]ME4GNN@"3:LP\KS5SO<:\]SH/K^H*O*4Q<+^&U?_Z-*=F=FRK M 70\1M/S>%<;: 2-CXLNL"Z^_'@>V6F,#7TWMD > 1X;^JYHE]VB!_6+CM8Q M^E"W8!J]J*VU95[9&+EESUT>+:E_M#$VS#:;.]M?37VN.76Z#L\M 0#+@* - MA[6QE*Z\1QL<*^V0JZ7+<9?&SQU8'1?B,4VPK?;!'M!J6F%+8MN,E=]TAI8# M?I9E9>(Z :(]\<66 3U4R)IM9 U]3[&07=O4UUF3[+=MLD4WW;[%T!E'2^=> M')BO\[<&TN'Z, ]IG VSS;5*WMD"-CQ/XWD[ QAW98[2I1IROV*4Q#8#)UAM>K^?V3*^W=ZJ6SY1;7]=G\.VO,W>8WMRUVGP[ MY=N+M6-SZ);;M/D%=VU+?'2=VIM]W8(Q3Z/M #X"V!7(1L@%W.NZ;5@,MPUU M[T79U1H7/_!LK:.W=?'VUGY;.ROO<V8LG:^9MN5^U9A;/T]MSOV?SS<-1]@$&H=SV_6]PQ?TA59F7UD3 W&T_+]- M-!%ORP2<;8_L UZR[?+)_MW/^5I'9RK^J*^XS#[>?SM(;_&23*Z9\:9VQH<; M#3_FVAJ99?(U'M6..WM3:%C/$AIG20JYGIXE*!HE'/$_G;N5^+/FW8[<=R_P&MW &S4$M^)\ M6S!CN)=W!G?>C+E3'UR4 *IO@!E/Y40[C;/R-?YQV_CWOL^F67,K95O> MFG$Y;$[8>GQA]W'3/;^KFYT>YK5$B,-(%!W0<7>@=N:[FXGW[GP.Q1FX%+_( M&1F;2_"^#9(S>?+NYES\FW]Q4![&T7 M <#FW)1/YG=]QMES9LZX:OQ*M_-7 MOL+AN?B6Y_V9*1?L 'W'0;?6SN%^=/#I[1,$Z@QHO7XS[I MDD["C;8)9^=96H4W;9<>J\>WP/;/]1Q7UW1=K;YUN$YWWW\EQ&Z4E?HT;RI3_.Z_= =-?'.YL8[BU=JDDQ_N[@G+]PW2#_/)!V=H_%5;J^Y]^3>PVK]C3_M. ZPYW@,O^5R/9?;]+J>TTOW M3@?F(GJ8AV)CCK8#>T&^W4?]H"=U[*N?F6=V; M;W7,WM4/[O0FQM7[LX]UT6[2BS9*7^M#G2 C/M!7JQE9YLW:L/_W)J[ %?6 O]M0 M/6]+];V-X"/[N[>'?^>7.YZ_\'D. MU\NTB9?M=#W%OW,NX",YD"_P M4;V20W8L?N07/&4WR9?]P6?V@BO&)WS K? S66AS][+^W4M[*U_I5QZ6LW41 MO^5C>M6VXV >Q8MN%4_F\3IN1_."5*"S>:OKYH-[81_N")S'!W@?;^<=.$37 MV^IWSU]R!:_),3HGM^R$6]!7]PX^Q@]]E%?/&9[*.WJT[LXE?99_Z94>O9=X MFI[IV3MM9R((AJ=*^VE/[:N]M;_VV#[;:_MMS^V[O;?_]N ^W(O[<4_NR[VY &/_?H?BH end --[0302]-- [0303] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 01/06/92 14:08 (30 lines) Subject: Re: SVGA-alphanum. modes Date: Mon, 6 Jan 92 13:53:39 -0500 From: tytso@ATHENA.MIT.EDU (Theodore Ts'o) To: d88-man@nada.kth.se Cc: Linux-activists@joker.cs.hut.fi In-Reply-To: d88-man@nada.kth.se's message of Mon, 6 Jan 92 17:43:12 +0100, Reply-To: tytso@athena.mit.edu TSX-11 FTP server update.... d88-man@nada.kth.se's SVGA patches: ~ftp/pub/linux/patches/svga.tar.Z edpart and pdisk have been uploaded from wuarcive and placed in: ~ftp/pub/msdos A quick summary of xterm/VT100 escape sequences can be found in ~ftp/pub/linux/info/xterm-seqs.ms ~ftp/pub/linux/info/xterm-seqs2.txt I uploaded the last because it might be useful for people wanting to hack on the console driver. In particular, it would be neat if ESC [ ? 3 h switched the screen to 132 column mode, and ESC [ ? 3 l set it back to 80 columns. hint, hint. :-) - Ted --[0303]-- [0304] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 01/06/92 14:46 (44 lines) Subject: Re: lp support (Alpha level) Date: Mon, 6 Jan 92 14:31:59 -0500 From: tytso@ATHENA.MIT.EDU (Theodore Ts'o) To: linux-activists@joker.cs.hut.fi In-Reply-To: [281] Reply-To: tytso@athena.mit.edu Date: Sat, 4 Jan 92 15:42:01 +1100 From: Bruce Evans >getgroups() is an optional POSIX system call, derived from BSD systems: I thought it was a required POSIX system call. I stand corrected. It is required; I was getting confused by the fact that NGROUPS_MAX can be 0, which means that there is no supplementary groups support, and getgroups() will then also always return 0. Minix has { return 0; } for getgroups. This is good enough for fileutils to work. I've fixed it by actually implementing getgroups() and setgroups(), as well as POSIX_SAVED_IDS. Patches have been sent to Linus; if you want to look at them, they can be found in TSX-11.MIT.EDU in ~ftp/ALPHA/job-control/grppatch.tar.Z. The patches are relative to Linux 0.11 + the job control patches, but they shouldn't depend on the job control changes except for silly things like system call numbering. Note that programs which use the getgroups() call will depend on the size of gid_t and will need recompiling when/if it gets changed. gid_t is currently a unsigned char, but I would strongly recommend that at some point we change it to be an unsigned short (at least). The problem is that if we do this, all programs which use the stat() or fstat() system call will also need recompiling. Another change which is similar is MAXHOSTNAMELEN, which is currently 8. To change it to something greater (I would suggest the BSD value of 64), will require that all programs which use the uname() system call be recompiled. No big deal, except that /bin/sh is one of them. Neither of these are particularly important to make, so perhaps we should batch up all of these changes and make them at some future point, at which point everyone will have to recompile all their binaries. - Ted --[0304]-- (pref = [0281]) [0305] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 01/06/92 14:53 (13 lines) Subject: Re: SVGA-alphanum. modes Date: Mon, 6 Jan 92 11:45:27 PST From: pmacdona@sanjuan.UVic.CA (Peter MacDonald) To: d88-man@nada.kth.se Cc: linux-activists@joker.cs.hut.fi It was I who sent out the patches to get to 50 line mode. I also implemented the Virtual Consoles coming in .12. Note that it would be desirable to run a windowing system in one VC and be able to switch to other text-mode consoles. This means not using the bio (yuck) or finding a way to use V86 mode to do the switching. This would be nice because it is a step towards DOS under Linux. --[0305]-- [0306] daemon@ATHENA.MIT.EDU (John T Kohl) Linux_Activists 01/06/92 15:00 (15 lines) Subject: Re: 486 problem Date: Mon, 6 Jan 92 11:52:59 PST To: nicholas@cs.uwa.oz.au (Nicholas Yue) Cc: linux-activists@joker.cs.hut.fi In-Reply-To: [128] From: John T Kohl Reply-To: jtkohl@cs.berkeley.edu I finally found and corrected the problem I had with booting a 486/33 at full speed. The problem was the BIOS "Fast A20 Gate Option". For UNIXes, this should be DISABLED; for Mess-Dos, it seems to make no difference. [A droid at the computer store said it has something to do with DMA] John --[0306]-- (pref = [0128]) [0307] daemon@ATHENA.MIT.EDU (Mika Matti Jalava) Linux_Activists 01/06/92 15:51 (18 lines) Subject: The partitioning problem From: Mika Matti Jalava To: linux-activists@joker.cs.hut.fi Date: Mon, 6 Jan 92 22:44:55 EET Oups, I seem to be forgetting the basics. I think I sent my previous posting to someone personally instead of the list. Whoever it was, sorry. Anyway, how are the bigger (>32M) partitions meant to be formatted? Now I know where to get a program to make them, but... Is there any way other than getting a new dos (I have 3.30)? I am not going to pay any more for dos than I've already paid, especially now that there is linux for free! And actually, is even a newer dos a solution, haven't they got the same 2-partition limit as the older ones, the partitions just may be bigger? So, what program should I use to format these beasts? Mika --[0307]-- [0308] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 01/06/92 16:39 (41 lines) Subject: Re: SVGA-alphanum. modes Date: Mon, 6 Jan 92 16:30:43 -0500 From: tytso@ATHENA.MIT.edu (Theodore Ts'o) To: pmacdona@sanjuan.UVic.ca Cc: d88-man@nada.kth.se, linux-activists@joker.cs.hut.fi In-Reply-To: Peter MacDonald's message of Mon, 6 Jan 92 11:45:27 PST, <9201061945.AA12593@sanjuan.UVic.CA> Reply-To: tytso@athena.mit.edu I suspect that you would want to use the raw I/O instructions to do the switching, and not try to use BIOS in V86 mode. I really don't know if I'd want to trust the BIOS, and in any case, if you want real speed, you will want to be talking to the VGA card directly anyway. The X server in the X11R5 tape already has code to talk to a couple of Super VGA cards; it probably shouldn't be that hard the kernel mods integrated with VC changes so that you can switch around. I've thought about what it would take to add V86 tasks; since each V86 task requires that it has 0-640k in Virtual space (you can't just give it a segment), each V86 task would need to have its own set of page tables that would have to be swapped in when it was running. While this would be tricky to implement (the task switching code would need to be changed --- carefully), it has the advantage that we could at the same time get rid of the 64 process limit. For the 65th through 129th process, we simply use another set of page tables, and so on. We'd also want to intercept all of the BIOS and DOS interrupts and replace them with blocking versions of the calls, so that the MS-DOS tasks can run efficiently. Yet some programs will try using the raw I/O instructions, and in order to handle them we would need to trap attempted I/O instructions and attempt to emulate them. Then's there's all of the memory-mapped video that would need to be emulating by putting in hooks to the VM code. All-in-all a pretty big job.... - Ted --[0308]-- [0309] daemon@ATHENA.MIT.EDU (Ari Lemmke) Linux_Activists 01/06/92 17:32 (14 lines) Subject: SVGA-alphanum. modes Date: Tue, 7 Jan 1992 00:23:45 +0200 From: Ari Lemmke To: Linux-activists@joker.cs.hut.fi In-Reply-To: d88-man@nada.kth.se's message of Mon, 6 Jan 92 17:43:12 +0100 <9201061643.AA21121@dront.nada.kth.se> d88-man@nada.kth.se: >I have uploaded this code to both nic.funet.fi and tsx-11.mit.edu. nic.funet.fi:/pub/OS/Linux/kernel/svga.tar.Z arl --[0309]-- [0310] daemon@ATHENA.MIT.EDU (Ari Lemmke) Linux_Activists 01/06/92 17:34 (25 lines) Subject: VT102 codes Date: Tue, 7 Jan 1992 00:30:03 +0200 From: Ari Lemmke To: Linux-activists@joker.cs.hut.fi In-Reply-To: Theodore Ts'o's message of Mon, 6 Jan 92 13:53:39 -0500 <9201061853.AA07025@tsx-11.MIT.EDU> >A quick summary of xterm/VT100 escape sequences can be found in > > ~ftp/pub/linux/info/xterm-seqs.ms > ~ftp/pub/linux/info/xterm-seqs2.txt Also VT102 codes available at nic.funet.fi:/pub/doc/HW/terminals/vt102.codes I'm collecting all hardware documentation I can get ;-) especially interested in different PC cards and their dip-settings. Also I'm going to put available my drivers (sources) collection (for different PC and non-PC devices/cards). arl --[0310]-- [0311] daemon@ATHENA.MIT.EDU (drew@hazelrah.cs.Colorado.EDU) Linux_Activists 01/06/92 22:01 (134 lines) Subject: Re: SVGA-alphanum. modes To: tytso@athena.mit.edu Cc: d88-man@nada.kth.se, linux-activists@joker.cs.hut.fi In-Reply-To: Your message of Mon, 06 Jan 92 16:30:43 -0500. Date: Mon, 06 Jan 92 19:47:25 MST From: drew@hazelrah.cs.Colorado.EDU -------- I suspect that you would want to use the raw I/O instructions to do the switching, and not try to use BIOS in V86 mode. I really don't know if I'd want to trust the BIOS, and in any case, if you want real speed, you will want to be talking to the VGA card directly anyway. The X server I disagree. The actual mode setting will be called ONCE when the Xserver initializes. Initialization code for all different VGA cards is often radically different - with registers spread all over the place, with different values and functionality. Saving a few hundred clock cycles one time on a machine with 20 to 40 million is not a big deal. in the X11R5 tape already has code to talk to a couple of Super VGA cards; it probably shouldn't be that hard the kernel mods integrated with VC changes so that you can switch around. I've thought about what it would take to add V86 tasks; since each V86 task requires that it has 0-640k in Virtual space (you can't just give it a segment), each V86 task would need to have its own set of page tables that would have to be swapped in when it was running. While this would be tricky to implement (the task switching code would need to be changed --- carefully), it has the advantage that we could at the same time get rid of the 64 process limit. For the 65th through 129th process, we simply use another set of page tables, and so on. The appropriate CR is stored in the task state structure saved by the 386 - so switching can be basically automated. You have some inteligence to share the BIOS and manage the IO bitmaps though - to prevent contention problems. Also, V86 tasks can only address 1M + ~64K (address carry present in 286's and above), requiring at most 256 + 16 second level table entries, meaning a single secone level table (1024 entries MAX per table) and first table entry. Spares for video memory bank switching are also desireable. (Excuse my terminology -= I can't keep tables and directories straight) We'd also want to intercept all of the BIOS and DOS interrupts and replace them with blocking versions of the calls, so that the MS-DOS tasks can run efficiently. Yet some programs will try using the raw I/O DOS does not need to be trapped. You run one copy of DOS per VM - this saves MANY reentrancy problems, etc. As far as what needs to be trapped - 1. Disk BIOS should write to the Linux routines, with extraneous routines trapped - ie no go for format, etc : we want a minimal functionality first. 2. Video set mode int 10h function 0 should be trapped for mode, and only allow VALID VGA modes, the setting of which will be sent to the Linux window program (outputing to X11) All other BIOS video accesses are OK except perhaps the set palette, which we would probably only emulate at the register level (eventually) and let BIOS do it's thing. Also, we need to keep track of state for text / graphics. 3. Any BIOS routines that talk to registers that are NOT being emulated. A simple solution would be to block any and all BIOS calls, a better solution would be to change IOPL once in BIOS and cause all read / writes to fault -, setting a blocking flag. If the blocking flag is set, you wait until it is cleared by a ret / iret from the BIOS code. Video RAM access is handled by having a buffer allocated for each machine. Text, and CGA are no problem at all - these are not bank switched, and lack the special EGA / VGA ALU / barell shifter, plane mask, and bank switching used for 16 color modes. Each task has its own video memory buffer. You after a refresh alarm expires, you look at the accessed bits in the page table and update those regions that have changed. Trapping interrupts in DOS : Not overly complicated. When an INT, INT3, or INTO opcode is executed in a vm task, it creates a general protection violation. When you trap this fault, you examine the VM flag in the flags on the stack. If it is set, you use your special DOS handler which looks for one of these or other IOPL or VM sensitive instructions and perform the appropriate emulation. instructions, and in order to handle them we would need to trap attempted I/O instructions and attempt to emulate them. Then's there's all of the memory-mapped video that would need to be emulating by putting in hooks to the VM code. Other stuff for a complete emulation of real mode : trapping of EGA / VGA Palette, panning, and palette registers. trapping of "normal" PIC mask register, timer ports, keyboard registers (tie to the ttyp of the Linux proram) and eventually maybe serial / parallel. It is a nice idea, and would make an incredible summer project after some one has ported X11R5 to Linux. Virtual 8086 mode allows you to use almost all of the BIOS and any DOS or other real mode OS underneath this mess. You have a few interrupts that need dealing with, the hardware interrupts to simulate, and some ports to trap, but other than being an exercise in protected and VM program - it should be not overly difficult, just time consuming. ----------------------------------------------------------------------------- I'd be more worried about getting X11 up in the first place as distribution for R5 is around 150 megs. The two possibilities I'm looking at right now are 1. It is possible to use NFS servers over serial lines. A direct link, at 38.4K baud could be made to a machine with disk and build done locally. I think one such NFS program is PPP - are there others? How soon until sockets, rpc, etc are implemented on Linux? 2. Large local SCSI disk I've been offered a 340M SCSI drive real cheap (locally), and am getting there on my SCSI drivers - after Winter USENIX is a definite possibility for completion. For work, we're currently installing X11R5 on our HP 68k Unix boxes - I'll see how soothly it goes and take a look at the Xserver code to see what needs changing. Again, a lot of goodies like X hinge not only on some one having enough disk space to do a build, but on availability of key Unix networking related features....... i --[0311]-- [0312] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 01/06/92 22:33 (65 lines) Subject: Re: SVGA-alphanum. modes Date: Mon, 6 Jan 92 22:25:05 -0500 From: tytso@ATHENA.MIT.EDU (Theodore Ts'o) To: drew@hazelrah.cs.Colorado.EDU Cc: d88-man@nada.kth.se, linux-activists@joker.cs.hut.fi In-Reply-To: drew@hazelrah.cs.Colorado.EDU's message of Mon, 06 Jan 92 19:47:25 MST, Reply-To: tytso@athena.mit.edu Date: Mon, 06 Jan 92 19:47:25 MST From: drew@hazelrah.cs.Colorado.EDU I disagree. The actual mode setting will be called ONCE when the Xserver initializes. Well, it would be called when the X server initializes and each time you switch bach and forth between Virtual Consoles. I suppose you are right that it won't be called enough to make it worthwhile. I still would be nervous about the BIOS code doing something funky like messing with the interrupts and what not, but that's probably just an irrational fear on my part. DOS does not need to be trapped. You run one copy of DOS per VM - this saves MANY reentrancy problems, etc. As far as what needs to be trapped - Well, in my conception DOS calls would be trapped and emulated by calling the appropriate Linux filesystem routine, so that DOS programs would be able to use Linux filesystems and Linux devices. Once we get the MS-DOS filesystem working in Linux, it could even get to MS-DOS filesystems that way. (!) The first cut implementation probably would just run native DOS in each task, though, since that is much easier. It is a nice idea, and would make an incredible summer project after some one has ported X11R5 to Linux. Agreed; this would be a very big project! You actually don't need to port X11 R5, though. It could just be done on top of Virtual Consoles, and in fact it may be easier to do it that way, and worry about the X interface later. We probably shouldn't worry about it too much until after we get Linux in a much more polished state, though. I'd be more worried about getting X11 up in the first place as distribution for R5 is around 150 megs. Well, you don't need to grab the whole thing. The X library is 3 meg, and the Xt toolkit is another 1.1 meg. You may also need the Xmu library which is ~350k. Then the device dependent portion of the X server is 800k (and you don't need all of it), and the device independent portion of the X server is 1200k or so. (All of these sizes are source only, with no RCS directories). A lot of the X11R5 distribution are big, (somewhat) useless things like games and demo programs, and then there are the big, slow, and really useless things like Motif. If you strip out all of those programs, X11 really isn't as big as you might think.... All of this really doesn't matter until we get sockets and networking running, at which point SLIP, NFS and SCSI support might be in the kernel already, making the whole space issue moot. My, it's nice to dream, isn't it! :-) - Ted --[0312]-- [0313] daemon@ATHENA.MIT.EDU (Stephen. Clawson) Linux_Activists 01/06/92 23:10 (14 lines) Subject: tseng et4000 detection From: sclawson@cadehp10.eng.utah.edu (Stephen. Clawson) To: linux-activists@joker.cs.hut.fi Date: Mon, 6 Jan 92 21:04:19 MST I just installed the svga detection patches to the kernel, and while it is *very* nice to be able to use a bigger screen, the auto detection didn't seem to work on my system. I'm running a 40Mhz 386 with a Diamond Speedstar Plus HiColor, which uses the Tseng ET4000 chipset. Has anyone else had this problem? I had to force the system into realizing I have a tseng card to get it to work. steve // sclawson@cadehp0.eng.utah.edu - University of Utah --[0313]-- [0314] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 01/07/92 00:56 (25 lines) Subject: Re: SVGA and the kitchen sink. Date: Mon, 6 Jan 92 21:49:06 PST From: pmacdona@sanjuan.UVic.CA (Peter MacDonald) To: linux-activists@joker.cs.hut.fi Two things. First I think bios and therefore V86 access will be required if for no other reason than because two many clone vendors rely on it to deliver "compatibility". Second. Before X11 can even be looked at, another feature will be required. That is, shared dynamic linked libraries. I just finished working on a Decstation 3100 for 6 months using Ultrix which does not have this. The executables are monsterous, and the only thing they eat more of than disk space is memory. Plus, if Linux is to be distributed over ftp, and we wish to permit access to distributing binaries, then much net-width can be saved. But most of all, since Linux is fast evolving, if we want to avoid frequent recompiles of all utilities every time a library routine changes (such as job control requires) then we better get shared libs fast. The moral of the tale is, if anyone out there is currently idle, and knows something about compilers, and is willing to tackle shared libs, please step forward at the sound of the tone. ^G --[0314]-- [0315] daemon@ATHENA.MIT.EDU (Rwo-Hsi Wang) Linux_Activists 01/07/92 01:34 (15 lines) Subject: The way to X11. (was Re: SVGA and the kitchen sink.) From: rhwang@cs.utexas.edu (Rwo-Hsi Wang) Date: Tue, 7 Jan 1992 00:26:57 -0600 To: linux-activists@joker.cs.hut.fi Peter (pmacdona@sanjuan.UVic.CA) wrote: > Before X11 can even be looked at, another feature will be > required. That is, shared dynamic linked libraries. Could someone give us a list of features (preferably in the order of implementation precedence) that are required (and yet to be implemented) before X11 can be ported to Linux? I'm curious about how far away Linux is from X11. Thanks! Regards, Rwo-Hsi --[0315]-- [0316] daemon@ATHENA.MIT.EDU (SMTP@FINHUTC.hut.fi) Linux_Activists 01/07/92 02:19 (43 lines) Subject: Undeliverable Mail Resent-From: dyslexic jim the domain mangler Resent-To: linux-activists@joker.cs.hut.fi Date: Tue, 07 Jan 92 09:11:16 EET From: To: ----------------------------Original message---------------------------- FINHUTC.hut.fi unable to deliver following mail to recipient(s): 550 Host 'joker.hut.cs.fi' Unknown ** Text of Mail follows ** Received: from Finhutc.HUT.FI by FINHUTC.hut.fi (IBM VM SMTP R1.2.2MX) with BSMTP id 8017; Tue, 07 Jan 92 09:11:15 EET Received: from VM.TEMPLE.EDU by Finhutc.HUT.FI (Mailer R2.08 R208004) with BSMTP id 8016; Tue, 07 Jan 92 09:11:15 EET Received: by TEMPLEVM (Mailer R2.08 R208004) id 2523; Tue, 07 Jan 92 02:11:09 EST Date: Tue, 07 Jan 92 01:47:54 EST From: "jim wiegand[v5068u].vm.temple.edu" Subject: lp support & daemonology To: linux-activists@joker.hut.cs.fi hi all; I am working on a print spooler daemon to go along with the lp driver and have a question about the general init/rc thang. I have installed a test ve rsion of my spooler ( it's really an exec that has the personality of a daemon :-) ) in the /etc/rc file but the question is this: When a person logs out of bash, the lpd is still busy opening & deleting files. i.e. it is not safe to turn of the machine & it is possible that it may seem like nothing is going on. so, is there/will there/should there be some sor t of rc0 like AT&T uses for shutdown? what do you folks w/uucp do? will this be in 0.12 & if not it might be a nice project after the lp is mature. I have fixed up a bunch of bugs in the lp driver & will post a new versi on in a day or so. The lpd uses a printcap file & reads the disk as little as possible to build its queue. The lp should be Posix-compliant and will have a lot of the features of the BSD lp filter: tab-expand, margins, form size, & font, all printcap set. What won't be for a while is queue control. && thanks for all the info & replies. v5068u@vm.temple.edu jim wiegand --[0316]-- [0317] daemon@ATHENA.MIT.EDU (d88-man@nada.kth.se) Linux_Activists 01/07/92 03:25 (20 lines) Subject: Re: tseng et4000 detection Date: Tue, 7 Jan 92 08:58:23 +0100 From: d88-man@nada.kth.se To: linux-activists@joker.cs.hut.fi, sclawson@cadehp10.eng.utah.edu Linus has had the same prob. The strange thing is that the code to do the 'guessing' is taken from a book/vga-doc files that says that it has been tested to work properly ! If anybody knows how to do it please let me know. I have read the postings about BIOS or no BIOS in SVGA-handling, and I would just like to say (in my deffence :-) that this is just a small hack to help people having bigger screens (remember Linux is still beta-version) and it is not meant to be installed for good. I will work on a stand alone program to do mode-switching from a runing shell, it's just that that is A LOT more work. This code was finnished in a rush, mainly to let people test the 'feature' and to test the somewhat inconsistent card-detection code (I do only have one card to test on :-) And for that purpose the BIOS can be used since it's just a int-call from the setup which is running in native mode so the BIOS-call there really do no harm, it's just a MUCH more simple way of doing it instead of doing direct I/O to the card. And by all means nobody is forced to use the patch :-) /Mats Andersson (d88-man@nada.kth.se) --[0317]-- [0318] daemon@ATHENA.MIT.EDU (d88-man@nada.kth.se) Linux_Activists 01/07/92 14:28 (75 lines) Subject: SVGA... Date: Tue, 7 Jan 92 19:23:33 +0100 From: d88-man@nada.kth.se To: Linux-activists@joker.cs.hut.fi Hi again, I'm getting more and more confused about this, trying out the code on a computer at the place I work it detected a Paradise as a Genoa ! And if one looks at the code for Genoa this is mighty impressive how it could ! Anyway here are two more versions of the Tseng detection, since I guess most people have Tseng or Trident those might be most interesting to have. Just change the old Tseng part to one of these and try. Please let me know if you get either of them working. /Mats Andersson (d88-man@nada.kth.se) ------------------------------------------------------------------------------- Attempt #1: notrid: mov dx,#0x3cd ! Check Tseng 'clues' in al,dx ! Could things be this simple ! :-) mov bl,al mov al#0x55 out dx,al in al,dx mov ah,al mov al,bl out dx,al cmp ah,#0x55 jne notsen lea si,dsctseng lea di,motseng lea cx,selmod jmp cx Attempt #2: notrid: mov dx,#0x3bf ! Check Tseng 'clues' Acoording to mov al,#0x03 ! Ferrano out dx,al mov dx,#0x3cc in al,dx mov dx,#0x3b8 and al,#0x01 jz even mov dx,#0x3d8 even: mov al,0xa0 out dx,al call setATC inc dx in al,dx mov bl,al call setATC mov al,bl xor al,#0x10 mov bh,al out dx,al call setATC inc dx in al,dx mov ah,al call setATC mov al,bl out dx,al cmp ah,bh jne notsen lea si,dsctseng lea di,motseng lea cx,selmod jmp cx setATC: mov dx,#0x3da in al,dx mov dx,#0x3c0 mov al,#0x16 out dx,al ret --[0318]-- [0319] daemon@ATHENA.MIT.EDU (Ari Lemmke) Linux_Activists 01/07/92 14:32 (27 lines) Subject: lp support & daemonology Date: Tue, 7 Jan 1992 21:22:31 +0200 From: Ari Lemmke To: linux-activists@joker.cs.hut.fi From: "jim wiegand[v5068u].vm.temple.edu" Subject: lp support & daemonology hi all; I am working on a print spooler daemon to go along with the lp driver and have a question about the general init/rc thang. I have installed a test ve rsion of my spooler ( it's really an exec that has the personality of a daemon :-) ) in the /etc/rc file but the question is this: When a person logs out of bash, the lpd is still busy opening & deleting files. i.e. it is not safe to turn of the machine & it is possible that it may seem like nothing is going on. so, is there/will there/should there be some sor t of rc0 like AT&T uses for shutdown? what do you folks w/uucp do? will this be in 0.12 & if not it might be a nice project after the lp is mature. I have fixed up a bunch of bugs in the lp driver & will post a new versi on in a day or so. The lpd uses a printcap file & reads the disk as little as possible to build its queue. The lp should be Posix-compliant and will have a lot of the features of the BSD lp filter: tab-expand, margins, form size, & font, all printcap set. What won't be for a while is queue control. && thanks for all the info & replies. v5068u@vm.temple.edu jim wiegand --[0319]-- [0320] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 01/07/92 14:34 (13 lines) Subject: VC final patches Date: Tue, 7 Jan 92 08:48:38 PST From: pmacdona@sanjuan.UVic.CA (Peter MacDonald) To: linux-activists@joker.cs.hut.fi I mailed the final VC patches to Linus two days ago, and I just heard from him that he never got them. I had both mailed a single big file and a pile of split ones, but I guess even they must have been too big. Well, I have uploaded vc.tar.Z to incoming on nic (For you ARL). Linus, can you get them from there. PS: this includes the new tty_io.c patch which has pseudo ttys working, so throw away the last patch I sent you. --[0320]-- [0321] daemon@ATHENA.MIT.EDU (John T Kohl) Linux_Activists 01/07/92 14:34 (15 lines) Subject: Re: 486 problem Date: Tue, 7 Jan 92 11:25:50 PST To: linux-activists@joker.cs.hut.fi Cc: nicholas@cs.uwa.oz.au (Nicholas Yue) In-Reply-To: [306] From: John T Kohl Reply-To: jtkohl@cs.berkeley.edu Yesterday I said: > The problem was the BIOS "Fast A20 Gate Option". Actually, that wasn't it. At the same time, I upgraded to 4M simms rather than 1M simms, and the problem went away. Oh well...? John --[0321]-- (pref = [0306]) [0322] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 01/07/92 14:35 (69 lines) Subject: Re: SVGA and the kitchen sink. Date: Tue, 7 Jan 92 11:28:26 -0500 From: tytso@Athena.MIT.EDU (Theodore Ts'o) To: linux-activists@joker.cs.hut.fi In-Reply-To: Peter MacDonald's message of Mon, 6 Jan 92 21:49:06 PST, Reply-To: tytso@Athena.MIT.EDU Date: Mon, 6 Jan 92 21:49:06 PST From: pmacdona@sanjuan.UVic.CA (Peter MacDonald) Second. Before X11 can even be looked at, another feature will be required. That is, shared dynamic linked libraries. I just finished working on a Decstation 3100 for 6 months using Ultrix which does not have this. The executables are monsterous, and the only thing they eat more of than disk space is memory. Plus, if Linux is to be distributed over ftp, and we wish to permit access to distributing binaries, then much net-width can be saved. But most of all, since Linux is fast evolving, if we want to avoid frequent recompiles of all utilities every time a library routine changes (such as job control requires) then we better get shared libs fast. A couple of points. First of all, job-control does *not* require recompiling all of the utilities. /bin/bash needs to be recompiled with the job control commands built in, of course, but that's about it. Secondly, many of the changes which I (at least) have been talking about requiring recompiling all of the utilities because they mean that the system /usr/include files would have to be change, and the structures passed back from the kernel would change as the sizes changed. A dynamically linked library wouldn't solve this problem. Finally, people should be aware that many shared libraries implemented under Unix are not fully "dynamically linked" --- that is, when you change the library, you often have to relink all of the utilities or they won't work at all. These designs are great for conserving disk space, but they're hell for evolving systems, because with statically linked programs, at least you know they will always work as long as the kernel interface remains constant. With shared libraries, often times replacing the library will cause all the programs which relied on the old version of the library to break, even if the kernel hasn't changed at all. It is possible to do it right, but whoever tackles this one needs to be careful about the design.... From: rhwang@cs.utexas.edu (Rwo-Hsi Wang) Date: Tue, 7 Jan 1992 00:26:57 -0600 Could someone give us a list of features (preferably in the order of implementation precedence) that are required (and yet to be implemented) before X11 can be ported to Linux? I'm curious about how far away Linux is from X11. Thanks! Well, I believe the only unimplemented feature which is absolutely required is Berkeley-style sockets (or a socket emulation library, although the real thing would be preferable, IMHO). There are a lot of features which would be helpful but not required. They include: * Networking code that goes with the socket() implementation * Symbolic links, to make dealing with the source tree easier * SCSI disk driver, to make it easier to hook up big fast disks so you have room for the complete X11 distribution * Shared libraries, to make the (many) X executables smaller and usable on systems with small amounts of memory. I suspect that implementing the above items could be done in parallel with porting the X server, once we have BSD-style sockets. The port of the X server itself may not be trivial, so one should not discount that; however, getting the X clients to build should be fairly easy, as long as you have the disk space. - Ted --[0322]-- [0323] daemon@ATHENA.MIT.EDU (Drew Eckhardt) Linux_Activists 01/07/92 17:00 (9 lines) Subject: symbolic links Date: Tue, 7 Jan 1992 14:47:16 -0700 From: Drew Eckhardt To: drew@kinglear.cs.colorado.edu, linux-activists@joker.cs.hut.fi, Is anybody implementing symbolic links so links can exist across file systems? Looking at running SLIPP, etc? --[0323]-- [0324] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 01/07/92 17:17 (16 lines) Subject: Re: symbolic links Date: Wed, 8 Jan 1992 00:07:02 +0200 From: Linus Benedict Torvalds In-Reply-To: Drew Eckhardt's message as of Jan 7, 14:47 To: Drew Eckhardt , Drew Eckhardt: "symbolic links" (Jan 7, 14:47): > > Is anybody implementing symbolic links so links can exist across > file systems? I've been meaning to do these for a long time: but something has always come in the way - this time it was the VFS patches: I want those in place before I start changing the fs structure again. If 0.12 is more stable than 0.11 (ie not so many patches), I'll do it then. Linus --[0324]-- [0325] daemon@ATHENA.MIT.EDU (Teresa Selling) Linux_Activists 01/07/92 22:58 (18 lines) Subject: micro-emacs Date: Tue, 7 Jan 92 22:50:20 est From: Teresa Selling To: linux-activists@joker.cs.hut.fi I have been trying to use uemacs, but am having some trouble with saving a file. ^X^S I thought was supposed to save a file...but doesn't seem to work. How do I manage to save a file I've edited. Also my computer doesn't seem to want to do a warm-reboot. Is this normal? I have to use the reset button. One more thing...when using compress to decompress a large file (the manual I think) I get out of memory type errors. I have 8 meg of ram, so that doesn't make sense to me. Any suggestions. Thanks. Teresa --[0325]-- [0326] daemon@ATHENA.MIT.EDU (Yanek Martinson) Linux_Activists 01/07/92 23:48 (27 lines) Subject: lpdemon, init, shutdown, uucp From: Yanek Martinson To: linux-activists@joker.cs.hut.fi Date: Tue, 7 Jan 92 23:41:55 EST Cc: V5068U@TEMPLEVM.BITNET In-Reply-To: <9201070713.AA15276@joker.cs.hut.fi>; from "SMTP@FINHUTC.hut.fi" at Jan 7, 92 9:11 am > and have a question about the general init/rc thang. I have installed a test ve > rsion of my spooler ( it's really an exec that has the personality of a daemon > :-) ) in the /etc/rc file but the question is this: > When a person logs out of bash, the lpd is still busy opening & deleting > files. i.e. it is not safe to turn of the machine & it is possible that it may > seem like nothing is going on. so, is there/will there/should there be some sor > t of rc0 like AT&T uses for shutdown? When my init is done, what you do is start lp, gettys, and any other such stuff with runlevel 2. So they get killed when runlevel changes to 's'. Then write a shutdown script that sets run level to s, then cleans everything up, kills any remaining demons, unmounts filesystems, etc. Then syncs a few times, and says "Ready to power down or reboot" and just sit there. > what do you folks w/uucp do? will this be There is no uucp for linux yet as far as I know. When I get done with init and login next thing I'll do is try to get Taylor UUCP working. t is a public domain uucp, pretty comapatible, and with some extra options.. --[0326]-- [0327] daemon@ATHENA.MIT.EDU (Pietro Caselli) Linux_Activists 01/08/92 00:22 (24 lines) Subject: Yup! ... a bug. To: linux-activists@joker.cs.hut.fi Date: 7 Jan 92 10:36:39 MET (Tue) From: zaphod@petruz.sublink.org (Pietro Caselli) I know 0.12 is on the final rush anyway there is a little strange bug with 0.11 I cant trace off. I just finished porting an AT&T uucp on Linux ( a few more beta-test and I'll post it on nic.funet.fi ), well after polling my host and after getting my CARRIER LOST ( I said I need some tests :-) ) Linux hangs with "ls -l" !!! My question is Why ? Anyone had a similar problem ? P.S I have a tcsh6.01 working on Linux, I need also some tests on It ... if people on the mailing list are interested I'll post it too. Ciao. Pietro Caselli | internet: zaphod@petruz.sublink.org | IF YOU MEET THE BUDDHA : pietro@deis33.cineca.it | ON THE ROAD,KILL HIM. Mail : V. Pietro Mattiolo, 4 | 40139 Bologna ITALY | --[0327]-- [0328] daemon@ATHENA.MIT.EDU (d88-man@nada.kth.se) Linux_Activists 01/08/92 03:57 (10 lines) Subject: Re: micro-emacs Date: Wed, 8 Jan 92 09:49:03 +0100 From: d88-man@nada.kth.se To: linux-activists@joker.cs.hut.fi, tselling@natasha.iusb.indiana.edu saving in uemacs: ^X S not ^X^S as in the real one. No warm reboot: I have the same problem as do more people I know of, the problem is (as I know it) the AMI-bios in my computer, do you have an AMI ? If so that's almost surely the reason. Anybody knows why ? I haven't looked into it. You always have the red button ... :-) /Mats Andersson (d88-man@nada.kth.se) --[0328]-- [0329] daemon@ATHENA.MIT.EDU (d88-man@nada.kth.se) Linux_Activists 01/08/92 04:31 (13 lines) Subject: SVGA (again...) Date: Wed, 8 Jan 92 10:26:11 +0100 From: d88-man@nada.kth.se To: Linux-activists@joker.cs.hut.fi Linus has tested a new aproach to detecting Tseng which works. I have also looked closer at the code for Genoa, I had screwed things up a bit so to say. I think that's why it detected a Paradise as a Genoa :-) Anyway I have uploaded a file called newsvga.tar.Z to tsx-11 and nic which include the new Tseng and the corrected (hopefully :-) Genoa. It is a new diff which should be applied to the original setup.s not the patched one. I cross my fingers that this one works :-) /Mats Andersson (d88-man@nada.kth.se) --[0329]-- [0330] daemon@ATHENA.MIT.EDU (Mika Matti Jalava) Linux_Activists 01/08/92 05:36 (21 lines) Subject: what's wrong with ESDI? From: Mika Matti Jalava To: linux-activists@joker.cs.hut.fi Date: Wed, 8 Jan 92 12:25:29 EET What might be the problem with my ESDI drive that I've tried to get running with linux? It is a Magtron MT-4115E and the controller is Joincom. The problems: I start linux with root on floppy. I get a message like "unexpected hd interrupt", but immediately after that "partition table ok.". I try fdisk, and that tells just right what's there on the disk (a 32 M primary dos and the rest of 115 M as an extended "don't use"-partition), but right after that an I/O-error, and if I remember it was on on device /dev/hd5! I don't even have a second drive. It might have been hd0 though, I'll check it. Anyway, what's this unexpected interrupt? I think it shouldn't be too much work making the ESDI drive work, as it "half works" even now. The 20 M MFM drive I'm using now is getting a bit small... Mika --[0330]-- [0331] daemon@ATHENA.MIT.EDU (LCDR Michael E. Dobson) Linux_Activists 01/08/92 09:15 (24 lines) Subject: Re: lpdemon, init, shutdown, uucp From: "LCDR Michael E. Dobson" To: yanek@mthvax.cs.miami.edu (Yanek Martinson) Date: Wed, 8 Jan 92 8:50:22 EST Cc: linux-activists@joker.cs.hut.fi (Linux Mailing List) In-Reply-To: <9201080441.AA08208@mthvax.cs.miami.edu>; from "Yanek Martinson" at Jan 7, 92 11:41 pm > > > what do you folks w/uucp do? will this be > > There is no uucp for linux yet as far as I know. When I get done with > init and login next thing I'll do is try to get Taylor UUCP working. > t is a public domain uucp, pretty comapatible, and with some extra > options.. > There are several of us working on it. I've played with both the Taylor package and Will Rose's UUCP 1.2 The former needs quite a few library functions that haven't been implemented yet. I've made some progress with the latter but I haven't finished yet, no time :-( -- Mike Dobson, Sys Admin for | Internet: rdc30@nmrdc1.nmrdc.nnmc.navy.mil nmrdc1.nmrdc.nnmc.navy.mil | UUCP: ...uunet!mimsy!nmrdc1!rdc30 AT&T 3B2/600G Sys V R 3.2.2 | BITNET: dobson@usuhsb or nrd0mxd@vmnmdsc WIN/TCP for 3B2 | MCI-Mail: 377-2719 or 0003772719@mcimail.com --[0331]-- [0332] daemon@ATHENA.MIT.EDU (Robert Duncan) Linux_Activists 01/08/92 11:49 (23 lines) Subject: AMI BIOS (was: micro-emacs) Date: Wed, 8 Jan 92 11:38:37 EST From: duncan@erim.org (Robert Duncan) To: linux-activists@joker.cs.hut.fi In-Reply-To: d88-man@nada.kth.se's message of Wed, 8 Jan 92 09:49:03 +0100 <9201080849.AA21293@dront.nada.kth.se> I am running Linux on a 33MHz 386dx clone with an AMI BIOS. I have never had any problem doing a three finger salute (warm reboot). For some reason though, kermit (the binary from tsx-11) doesn't seem to be working, although other copies work fine under both Minix and msdos. Any ideas? Should I just get the package from columbia and build it myself? p----------------------------------------------q | Robert H. Duncan | | Environmental Research Institute of Michigan | | PO Box 134001 | | Ann Arbor, MI 48113-4001 | | (313)994-1200 ext.2880 | | Internet: duncan@erim.org | b----------------------------------------------d --[0332]-- [0333] daemon@ATHENA.MIT.EDU (Peter Cooper) Linux_Activists 01/09/92 00:53 (87 lines) Subject: bugs in linux 0.11 and Q's about alarm() Date: Thu, 9 Jan 1992 14:34:56 +0900 From: comrade@uniwa.uwa.oz.au (Peter Cooper) To: linux-activists@joker.cs.hut.fi First a few Q's about the alarm() call. I had the impression that if a 'slow' system call was processing and an alarm signal was recieved, that the slow call would return EINTR. Is this in fact the behaviour expected? I have a program that relies on the fact that the system call is aborted with EINTR rather than simply being restarted by the kernel. (I have hacked my kernel so that tty_read() return -EINTR, rather than -ERESTARTSYS ) Does POSIX say anything about this?? Also: There is a bug in kernel/chr_drv/tty_io.c At the end of the tty_read() fn, there is a line that reads current->alarm = oldalarm; This SHOULD read if (flag) current_alarm = oldalarm; Flag is set if tty_read uses it's own alarm. The effect of this bug was to produce 2 alarm signals if an alarm occured while read()'ing instead of the single signal it should produce. Also: Something very odd seems to be happening when there is a key in the keyboard buffer. I have code like: main() { signal(SIGALRM, handler); alarm(2); read(0, buff, 40); printf("All ok\n"); } handler() { printf("Alarm\n"); fflush(stdout); } Now this works fine if you just run it. In 2 seconds it tells you that the alarm went off. BUT if you run it and type a key before the alarm goes off, then the alarm doesn't occur untill the buffer is empty. i.e. untill you backspace to the beginning of the line, or you hit return. NOTES: The alarm definately doesn't occur. I have code that has the alarm simply set a variable, and it only runs once, no matter how long you wait before emptying the buffer. What on earth is happening when there is a key in the buffer? It happens in other places as well. Try doing... cat < /dev/tty4 > /dev/tty64 cat < /dev/tty64 > /dev/tty4 (note. I have the virtual consoles installed. ) Then get a bunch of stuff comming down the serial port. If you type a key while it is comming down, it will stop dead until you delete it or hit return, regardless that bytes are pouring continously down the serial line. I am very confused as to why this occurs... FYI: I have a 486/33 with a 120Mb IDE drive. I have jobcontrol and lvc-4th installed. I am using shoelace to boot. I have 4Mb of memory. PS: Just an aside: Does anyone know why doshell /dev/tty64 /bin/sh doesn't properly attach a shell to the serial port?? Dialing in through the modem doesn't get you a shell. Also, when you do by rather incredible contortions do get a shell on it, you don't get a prompt (We achived it by dailingthe machine under DOS, rebooting to linux without hangingup and then running doshell /dev/tty64 /bin/sh. running doshell from /etc/rc DOESN'T work. doing it by hand produces a shell with no prompt. Vi doesn't complain about it not haveing a term to work on. What gives? anyone ?? ) --[0333]-- [0334] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 01/09/92 02:27 (178 lines) Subject: a df for linux Date: Wed, 8 Jan 92 23:21:28 PST From: pmacdona@sanjuan.UVic.CA (Peter MacDonald) To: linux-activists@joker.cs.hut.fi Here is my quick hack for df for linux. Of course, soon VFS will come along and more will have to be done, but for now, this should work. PS. I did this because by reflex I keep typing df to see if I'm full. ****CUT HERE ********************************************************* /* df.c: Copywrite (92) Peter MacDonald: distribute freely, don't restrict. */ #include #include #include #include #include #include #include char *hdr1="\n inodes inodes inodes blocks blocks blocks mount"; char *hdr2= "device total used free total used free point"; char *hdr3= "--------------------------------------------------------------------"; char *fmt = "%-9s %-7d %-7d %-7d %-7d %-7d %-7d %s\n"; void do_df(char *dev, char *dir); int main(int argc, char *argv[]) { int i; sync(); puts(hdr1); puts(hdr2); if (argc != 1) for (i=1; i= (8*BLOCK_SIZE)) { end = BLOCK_SIZE; numbits -= 8*BLOCK_SIZE; } else { int tmp; end = numbits >> 3; numbits &= 0x7; tmp = buf[end] & ((1<>4)&0xf]; numbits = 0; } for (j=0; j>4)&0xf]; } return(sum); } void do_df(char *dev, char *dir) { int it,iu,bt,bu; struct super_block supstruct; if ((fd=open(dev,O_RDONLY))<0) oops("df can't open device: %s",dev); lseek(fd,BLOCK_SIZE,SEEK_SET); if (read(fd,(char*)&supstruct,sizeof(struct super_block)) != sizeof(struct super_block)) oops("super block unreadable: %s",dev); lseek(fd,BLOCK_SIZE*2,SEEK_SET); if (supstruct.s_magic != SUPER_MAGIC) oops("not a valid file system: %s",dev); it = supstruct.s_ninodes; iu = count(supstruct.s_imap_blocks,supstruct.s_ninodes+1); bt = supstruct.s_nzones << supstruct.s_log_zone_size; bu = count(supstruct.s_zmap_blocks,supstruct.s_nzones) << supstruct.s_log_zone_size; printf(fmt,dev,it,iu,it-iu,bt,bu,bt-bu,dir); } table !"#$%&'()*+,-./0123456789:;<=>? @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ begin 644 df.c M+RH@9&8N8SH@0V]P>7=R:71E("@Y,BD@4&5T97(@36%C1&]N86QD.B @9&ESz M=')I8G5T92!F7,O='EP97,N:#X*(VEN8VQU9&4@x M/'-Y6YCm M*"D["B @<'5T&ET*#$I.PH@h M(" @?0H@(" @9&\@"B @("![(&-H87(@8G5F6S(P,%TL(&1E=ELT,%TL(&1Ig MR!F<')I;G1F*'-T9&5RF]N95]S:7IE.PH@(&)U(#T@8V]U;G0HFUA<%]B;&]C:W,L Resent-To: linux-activists@joker.cs.hut.fi Date: Thu, 09 Jan 92 09:56:26 EET From: To: hi all; this is a shameless hack of the BSD su. even though i cut out 90% of the code it will still give you both a simple su shell and a login shell. i needed it to test out setuid/setgid for the lp stuff, since it fiddles with the permissions ala BSD. enjoy! begin 644 su.uu M'YV0<^J\`$"PH,&#"!,J7,BPH<.'"$%(O%&C!@@`$C/"N)A1XD:,'4-N!%$C MQ@P9-F[`H`'#1L8;-%!BK`&QILV;.',"J#.'3A@Y$@'(>?.&CDZ%0XL>7.&SAP0;\R`H&,:1!4W:>R4D3,G#9T\L&4/"<,F MC9DW,@;-B`H&S9]?0R?/&J,N02=.3LI@Z=-*\<0,B MC!LR('B>3L-^SILZ-\Y1EL8=.B060R??B",5UX:YZ6WWFMRE.$3?;.A01X(K*67(@AC1#99 M99>!X$91:8#(7X4TOM%&&S&&QE]F,G`F(AWFH:>>&Z_1-P8;=8SGQAD@^.?& M3VE@%R)Y<+`1!G"TG79<=&_<0=\90(8QQAH[WL&&>*L1V9J&((`!1FDO/O@& M&76,@9F45$[XFGUFT'&'@2&6H1L;D34H!IFF`7E;;KOU]EMPCQ%G''+*A2;$ M;FN4,2=P1_KV6HVM-4D'&$\*E)6XNG+>GJD^V]1ZL;;4;7'AFZR9%>;U>"0"R#E"$K;HQ/K@F" M&65@B)^7P,K'*6TO(JJH@=V!YT09OID&5)DZAD'DO+5=VJVFP.WX;VU;$OE: M;+1:QRJ3)*('J[AC`BG&:?+!]RJ,[\%Z&K!^ME'4@4,!*NAK$U*VW;I#M=%B MO;'=.Z.S:-Q'!Y!S(#B&<3TZ2!FP=U!&!X/L(3@@>;VMEZ]C5""1Q!0@3/&$ M$51<$80418`P-0A02/&$%4D04001>8(1!-53RPI"$$Z@?44243]1!15O.Y$% M"$5@$7814U#]A!1>-P$%$TF<#:364D@!-Q6)3Q%:$DX,P4051%!^1&ASUWTW M"(@W07<0D#_A1&A1=YV$X8B?#0+CCCL!.>`@7`UD$T5(,002CPIIW)FPPMVO3!:A^ACAS>4BCM@G`(3U:2M%-G'6[.Q(\`@-0;B."B+6^SBNM(PIV`N MTUH`@P,RN2@'+R('C&S$%AV%-9\"<;**NP$EC.0P%#DP)PD]5&)`%/"B,N"A M#+IB4'^`(YC0[.B86J0F?%[D1"CVI$%'VN0<7LD&!>`,6NV!@Y\>="P&Q:>" MD;31"@(8OM>6@E MR\8I৕=PT2!IE,7Y#.HU/#79>,S0)5R69CYNH&B#!FHJZ<2R-HO]*USG MP!P^1:F0L)5#&#+Z)&-N[+$1`E9LG*I`E*KTM+`IZI,*-"/(G@E2=YB##NJG M4@8N00%$L...,(,A!K6AJ,Z4%T?#64@[PE26J2P60A79'2I4MP4C1"=":6G+ MU1(TCTX=PT`WY,=#NNAAREV/T!P5HRAAQ@PQN\YNU04P/;E`OVC(C]M(.Z?V MOK>@4TA#&V*JWDV:(:;2R69M:V/3-.!4IR\243&KV2!W$O7`U[0JX<#:M:;* MN&I(T"I7;7Q5Y]F/QX2C0NZ:,-60OL>I2LU=5\%(8R.3(9A6R%)JP9@W#`3GRA)F00)"'^P!%5^2,$C1BUJH4/:V&)V]/$]JUE M=D-<__ADJSIPE\R4SB#=LYHOI4A0R"&3,,7<5C*/,:Z.%5*T3`S/5\DA#Q96 M``/;H``FM$LW""WQB14=6I^2]J0*0"Y];^G*UDJTT/@A;'T(RNF+CN?4M@;. MJ*_DI2GOM@RL]&9V$.T;X#P(GN=]TAQE$]A6)[*"L)ZT:[VY(S>TX"_O^P3I$QZR`A_-:[!7H()X\_ M;=!0KZND;#!NLFO#0.D<:=?)]15S3[-A.M2!.&P`CHNIU!O=6'286<3,>D[3 M,WA660%:W@UE#%4M*B2U/K_-C>HKC"43.TD;15::9.2QV*BTT(8&7G]CYZZ0B^Q=O M/7*9<^(,P`*BM!8H4@$EN[M?T^IF,(S`;1]+D8*LM7-.J:H]=\".K!V4IMUT MYXQ"4RI/DK;TT\TD&%-3` M]55_I.]=+^SUH.`&*5"`8I;/_.8[GRE4:4(82D7A,CS?^5WY2ED\LOV\=%\B M,H@!7212DI.D1/PP0-]L+0$] M<`99U&M$`(!GP`9/-@1#8(!C,`8*,`1&,#U',`4`V`)7`',L]`0L9`;EP1IG M0!LMD"(JF&Q;.%T)0`(HH("<`8<0*(%3P!E< MH``)T`)/2`=1R$)2V`)V1`(JX(4@0`(\H``A%1T:`H=44(9GF'PHU(@HH(7) M]X9Q.`1S6(E5P!F"R'%`)P9J4&O2=8B<>(ESD`=6J(B*Z(,^P8@: M`1\NX`(@<'.`,0:RT4`*Q`=!\EV^A(,@X`,T1!]U@`=6P58NH`6HJ(H.J``3 M`@=NF!WP<0(OP`4C@(_X"$1E@"#OP1H_@QTO$`>SP@,@('W4QTRG08YT8(S( MB(0)@`)GE`935XACL`.X`B.#9$=\J#\N\`(BL`-TF%*>2&0D0`)I@)$[QQD^ MP)`..7T0R82S\9*E&J"%$:5,/ MAHMT]@)&."%5D0=S\`*_@2"TA09,281.:86%4@8O('0[X@)8F8<2085;>850 M.2)7(I8@()1684<:8A52:)9/Z97%H2"NP99TR95'^`)N%1ETP)9DF955B)9> MF8I3F1Y$HI=-69=4J6'@AI5[:9A5X8?J(9@*4):-R9=0"0=WP!V2N9F4Z1Z] M,2%3PIA:Z9B(295Y8)68J9FIR9E>V4AP@)J%V965208N99MGB9MJ>0:O29B] MV9<\11Y^R)NJ*965B2'(*9M1F9B0>94O")NWV9>KB1X_*#"1*9R.Z22+B97* MUW_B.9[D69[F>9[C215)*89C@)Y9D7U@`1(:T7UC$1(@0`,V$!?D9Q)V40,V M\!8R(!'B)P,M@1%ZX9Z),7^`<1'YAW_VAZ`0&J%.\0(J\!@V0ATY$H><$0,Y MD`/H8P0I(MZ;% MP5H!!S`@"G95DZ0FBJ)D@"%/8E'\(BP@<##4$J`S6BEOJA]04@:A`2PH@"&$ M9F@I]R0+YP;`(28NB*A.HXC():8X^J9#"B`2)2T5$VBU4ALY@R`M0JF^`0*\ M)!T;(UD?Q@9-52*O0S=0]3EPLS>P\SA98%$XHS,PHAOL`3!^5AQ`]1.ZU1K` M,5RXHSN\(SN^`SQTLS?`8CQ4@#R!`P++0SBMA&92`#W20SU08#W8HSW66#5\ M2J,VVFLZ:JIFNG2Z)1UJRJ9!TZAQ:B;`8C(S,B$KP@:TI8A9J;W"C9VVB/RZJAR2ASK@25!%:87.ZKS>FL6 ME1V65ALO.@0=E`6:XP*((P3MBDX*L%VA432^86FK=AI[*J)^"K2`*JCKL:)L M&!HI81'2EUA!H!M--1PS.'2K$1I-T$IU81(Y$!I*%03MJ@(OH``C\&]+MU=' M(+9U"0(\L)I5R71HX`-H*YMJ"Y9O()9P.P+&X5)50P5$,`1?D&-!8#92,`5Q M:YAJ"X7%(09V*[:FDAT*X$[D,DNM,4[)\08[P+CO81QH*QMD*QZ5R+=^"[B" M>X<@P`?>V+F]IU1'D'QX*[=KNX/`^;9BV[G7,B%XX$!,,DAR,+MS95)9,K%Y M@`)S$!ID8$^<021MP(3!BP)DX'K"Z[QNH'",2[!(V+J&^[J4<257>;>L,5J; MJ[?KF@184+A=J;;%"86+.P+=J[EX:P;_*!LV6E9CV[ME&[]922./];\-4P9? MT+T@P(7T8;LJ#+NA<0(]<`(I<+D2D2(V]$]`T1L9]P68P<1E8,37D<0NZ,(` MW(\$+!%TE'7:F,C#6,BX+,T@D,QP M,,9:+!LH4,E,P:G MS(6J[,X9,:3ML@92+!&-BX3V"?!HK``)),HP.]-,0 MHQDU/(P*]]+OG!DS7=,XM<,MS0276,WXP1XM$`-,G1FU)"&<(0;`V]-6S!D" M'!I(;=*<\=1E7=091]10?-1C#[G$M`9SL+(4(RB7*X.\D@!`0-1`0,`* M$-XQ`(_%D@`Y(`,ND'X#C@,N$'XN76ZI62$B7NW1X0`<)H-^&XH!`0$VR%RZ>^BNRL4F/I4K] M02JF4@;`L4Y`P(K\K0`UI`!`D`2XD1[&='3D\21"?DB0*^04J@`D@`3MTC(D M4,!-281C4!5U\&`*4./,AF"#MDGJPSXZ_FE9`AP2[C"RVB4">&1@FY-IRP-W MJ2KI&^=_651U[KIL"YEY?KU0>)FR:[WERP.>"9IW:^=R4)N!'N>_V>>#?K[' M*;N\2UI+EP!EF,!2D``BP`;^,[^4?AI?@&91\P5"0%9<)0*Y6!5HX!B3[KO9 MZ\/EH;NM7K:AGF9?H#U;LSNB3D`BL.L](&=->09N(!!Q9I;$1!RY*&?%WI3% MKB)CT.FT^P6BXP3B^P5Z1F0B<.T]P"KV,2?^PXNL[5:[-P[J+EAC$!HQ+5BTF'PRO+_7 M'-.DC?"2BQET&ZG*]1Z7B\3&64GE$2B8,>Z?.8R%/O&J4?&'QMIP$!H`?`;G MS2083W6.!$DJT$B72W%DX,33`?.7J^XTO'J9EL>S;<6*1/+R9E@5=,,K5!(! MV@4D#XU+EUI;0`-&/XQ;TE9VL/1-#\!N`.**F`!5G\# M)-G^FP*#=(G'W,L)4$QR>@)L<`)N>,S'W%ATQR&9GP#=[.!0O\Y<")@]?/9TJ_-G;\"# MA6@I,KF-=<-3VFS:\N8)(`[O M[]&-S/>'W_>IG[UT@/5!(:$#^P*"AJ`EG@(^9!/?)P*.7_);?@[P^<4ZR5#N M%,D-"PV%K@7X`,_T!<`?^]-#]T^/C8'O@O\^DP;D@#\/!-2Z45?JH@Q7D5[' M3/4%P'(G`A1(BH MA_@-%UJ!2(#4F;KL5Z$&RZ61-M="0(P+=>-V1!_CF0[V9QB%K02@2/*8"B!X M(.`'#",TJ"%$@&`(2;O(_6T\+B3N[D##J(`0Q?ZQOB,('_3?5N%_":"7_;\6 M)`#]$`'4'P8P/K@!.)$FV$-C$8*_#^CM!@?H3B!@YC-M>LB`K0>HL]/N0(L` M):@%HMV!#X0/X:"?QK)+.PW*&` M6>C$.,-&T(/ESA8:OEZ&)>B@'-"`C>08E8$VD/G27ADH=RT/$`;"RA<"Y5E^ M((%1YP(.(RP!`RV?Q)%HE>\,0++F]_P20#6,AH9O&D*^0;CZ6M\AK(%U0$,P M*48!!%<5SR&%P0>20!;!(Q(!WK_*IPW4H`PNAZX-](XJ7@&H"P MERF-[:;<;'F/2BG@S(:V,ME[FTOJ?]_LHFV3K$Y`3`!P&F M4S[&N%,Z'-&7U;6;QAE32^9;3^W.0<"[JV<.]^`@N39SL2Y>FZV8%[WBO9.& MB(\=SL`!2$X*8#R\*(WEVM2:5$,4F]]A'(B0[R`6Q*LG]O)88U&#(N#>U`'' MT`8#`AP\9IDI^<&3=O<#(_L]<2R.`0374NL)FWP^+D5 MZ2/ M_)%`,D@*R2%))(NDD3R22#))*LDER22;I)-\DE`R2DK)*4DEJZ25O))8,DMJ MR2W));NDE_R28#),BLDQ22;+I)D\DV@R3:K)- To: linux-activists@joker.cs.hut.fi AAGH! This is the second time its happened - the first time I put it down to some 0.10 fs bugs, but this time some text in the corruption gave it away as windows 3 (and in particular Word Perfect for Windows - again.) Since it only seems to happen when WP4W has been used I'd guess that it's either WP4W itself, or windows 3 swapping a large program (never had any problems with write, etc.) Has anyone else had such a problem? [I know this isn't really a linux problem, but..] Never mind - I had full backups, of course [ha ha :-(]. A question: is there any way, or how hard would it be to get a way of mapping a given range of physical memory into a user process's address space - I'm thinking of the full screen addressing provided by many (most?) vga cards.. -- Brian --[0337]-- [0338] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 01/09/92 06:46 (38 lines) Subject: Re: bugs in linux 0.11 and Q's about alarm() Date: Thu, 9 Jan 1992 13:39:05 +0200 From: Linus Benedict Torvalds In-Reply-To: Peter Cooper's message as of Jan 9, 14:34 To: comrade@uniwa.uwa.oz.au (Peter Cooper), linux-activists@joker.cs.hut.fi Peter Cooper: "bugs in linux 0.11 and Q's about alarm()" (Jan 9, 14:34): > > There is a bug in kernel/chr_drv/tty_io.c > > At the end of the tty_read() fn, there is a line that reads > > current->alarm = oldalarm; This is corrected in my version (and will be in 0.12) - the alarm is no longer used, as I got tired of the contortions needed, so I added a simple "timeout" to the task-structure. Thus system calls with a timeout now don't need to mess with saving alarm etc. Using alarm had another problem: if it was blocked, the task wouldn't be awakened by it. This was no problem in versions < 0.11, but the current version needed something better. > PS: Just an aside: Does anyone know why > doshell /dev/tty64 /bin/sh > doesn't properly attach a shell to the serial port?? Dialing in through > the modem doesn't get you a shell. I have hacked on the tty's quite a bit, and although I never saw this problem, I hope it is corrected: I simplified some things in the drivers, and I think it should work (also, I've hacked pty's till they aren't recognizeable: I think I have the stalling bug fixed.) While changing (and simplifying) the virtual consoles, I also changed them to use EGA/VGA screen memory, so that they won't take up space in the kernel. This means that the vc's in 0.12 will work only on a EGA/VGA, and I hope that won't be any problem. It shouldn't be too hard to patch it back to use a kernel buffer though. Linus --[0338]-- [0340] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 01/09/92 13:05 (39 lines) Subject: Re: bugs in linux 0.11 and Q's about alarm() Date: Thu, 9 Jan 92 12:57:18 -0500 From: tytso@ATHENA.MIT.EDU (Theodore Ts'o) To: comrade@uniwa.uwa.oz.au Cc: linux-activists@joker.cs.hut.fi In-Reply-To: Peter Cooper's message of Thu, 9 Jan 1992 14:34:56 +0900, Reply-To: tytso@athena.mit.edu Date: Thu, 9 Jan 1992 14:34:56 +0900 From: comrade@uniwa.uwa.oz.au (Peter Cooper) Is this in fact the behaviour expected? I have a program that relies on the fact that the system call is aborted with EINTR rather than simply being restarted by the kernel. (I have hacked my kernel so that tty_read() return -EINTR, rather than -ERESTARTSYS ) Does POSIX say anything about this?? POSIX doesn't say a whole lot about this, and it's somewhat confusing what it does say. The problem is that 99% of the code out there *doesn't* check for EINTR, so restarting a system call generally works as a better default. The problem is that you do lose in the case where you're expecting the system call to be interrupted. You don't need to hack the kernel to change what tty_read() returns to solve your problem, however. You just need to set the sigaction flag SIG_INTERRUPT for the alarm signal, and then the signal handling code in the kernel will set things up so that the system call returns with EINTR after the signal handler is finished. It may make sense to set the default flag for the alarm signal so that SA_INTERRUPT is set. But then again, it may not. I suspect that no matter which default you pick, some set of programs will lose because they're either expecting the EINTR and they don't get it, or they're not prepared to handle the EINTR and they die when they get it. Fortunately, there is a programming interface to select which behavior you want, but that may mean that you need to recompile your program to set the sigaction flag in order to make things work. - Ted --[0340]-- [0341] daemon@ATHENA.MIT.EDU (Teresa Selling) Linux_Activists 01/09/92 20:01 (10 lines) Subject: keyboard when recompiling linux From: Teresa Selling To: linux-activists@joker.cs.hut.fi Date: Thu, 9 Jan 92 19:53:09 EST I have just recently started using linux. With some help from people here I have got it up and running. Shoelace seems to work ok as well. But when I recompile the image and attempt to use it my keyboard is messed up. I assume that it is set for other than USA for default keyboard, but I cannot find where that is set. Any suggestions? --[0341]-- [0342] daemon@ATHENA.MIT.EDU (Russ Nelson) Linux_Activists 01/09/92 20:30 (28 lines) Subject: Networking. Date: Thu, 9 Jan 92 17:20:33 EST From: Russ Nelson To: linux-activists@joker.cs.hut.fi Hi, all. I'm not on the list (yet), so if you reply to this, include me in the CC:. Eventually, people are going to want to do networking on Linux. And they're going to want to do it with a bunch of different Ethernet boards. Well, there is a bunch of freely copyable (copyleft to be specific) MS-DOS Ethernet drivers called the Clarkson packet driver collection. I'm the editor of that collection. These drivers all use a common skeleton that interfaces between FTP Software's Packet Driver Specification, and the code that's specific to each card. That code could be reused if someone could find a way to keep most of the entry points identical, or at least similar. If the entry points into the device-specific code need to be changed, maybe we could find a way to do it so that all the drivers can get ported at the same time? I'd do it myself, but I've never seen the source for a Unix Ethernet driver. Does anyone know how such code is structured? I've got a book on Unix device drivers, so I ought to be able to understand it if I could just see it... --russ I'm proud to be a humble Quaker. Peace is not the absence of war. Peace is the presence of a system for resolving conflicts before war becomes necessary. War never creates peace. --[0342]-- [0343] daemon@ATHENA.MIT.EDU (Teresa Selling) Linux_Activists 01/09/92 20:44 (10 lines) Subject: still a keyboard problem Date: Thu, 9 Jan 92 20:38:57 est From: Teresa Selling To: linux-activists@joker.cs.hut.fi I changed the config.h and mused make on kernel directory and src direcotryectory, but though it seems aI have a slightly differcent keyboard its definitlely noNOT a usUS-101 enhanced keyboard. Namely I cannot find < > keys and - / are on the worngrong keys etc. Wheyy is it theat the original image works ok but I cannot get a new one to work? --[0343]-- [0344] daemon@ATHENA.MIT.EDU (Teresa Selling) Linux_Activists 01/09/92 20:53 (9 lines) Subject: compressdecompressing large files From: Teresa Selling To: linux-activists@joker.cs.hut.fi Date: Thu, 9 Jan 92 20:45:26 EST I am also having trouble decompressing a ~177K file. A 170K or so file decompresses fine. Have I hit a limit on compress or can more memory be allocated? I get out of memory and segmentation fault errors. I have 8 meg of memory, so it seems strange to run out of memory. --[0344]-- [0345] daemon@ATHENA.MIT.EDU (Stephen. Clawson) Linux_Activists 01/09/92 22:27 (19 lines) Subject: Re: still a keyboard problem From: sclawson@cadesm12.eng.utah.edu (Stephen. Clawson) To: linux-activists@joker.cs.hut.fi Date: Thu, 9 Jan 92 20:19:14 MST In-Reply-To: <9201100139.AA06101@joker.cs.hut.fi>; from "Teresa Selling" at Jan 9, 92 8:38 pm > I changed the config.h and used make on kernel directory and src directory, > but though it seems I have a slightly different keyboard its definetely NOT > a US-101 enhanced keyboard. Namely I cannot find < > keys and - / are on > the wrong keys etc. Why is it that the original image works ok but I > cannot get a new one to work? Some things might not be being remade quite right. I have problems with this quite a bit, and have just gotten in the habit of doing a 'make clean' then re-making the entire kernel. Anyone know why remaking parts of the kernel doesn't seem to work? A friend of mine has the same problem. steve --[0345]-- [0346] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 01/09/92 22:38 (16 lines) Subject: make Date: Thu, 9 Jan 92 19:31:13 PST From: pmacdona@sanjuan.UVic.CA (Peter MacDonald) To: linux-activists@joker.cs.hut.fi When changing header files you currently have to go into each sub directory and type make. ie: cd mm make cd ../kernel make cd chr_drv make etc. Don't know why. --[0346]-- [0347] daemon@ATHENA.MIT.EDU (Teresa Selling) Linux_Activists 01/09/92 23:34 (7 lines) Subject: what-goes-where Date: Thu, 9 Jan 92 23:27:12 est From: Teresa Selling To: linux-activists@joker.cs.hut.fi Is there some sora file somewhere that tell s what files go in which directory. For example what goes in /lib vs /usr/lib.....etc. --[0347]-- [0348] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 01/10/92 00:03 (82 lines) Subject: Re: still a keyboard problem Date: Thu, 9 Jan 92 23:52:17 -0500 From: tytso@ATHENA.MIT.EDU (Theodore Ts'o) To: sclawson@cadesm12.eng.utah.edu Cc: Russ Nelson Cc: linux-activists@joker.cs.hut.fi In-Reply-To: Stephen. Clawson's message of Thu, 9 Jan 92 20:19:14 MST, Reply-To: tytso@athena.mit.edu From: sclawson@cadesm12.eng.utah.edu (Stephen. Clawson) Date: Thu, 9 Jan 92 20:19:14 MST Some things might not be being remade quite right. I have problems with this quite a bit, and have just gotten in the habit of doing a 'make clean' then re-making the entire kernel. Anyone know why remaking parts of the kernel doesn't seem to work? A friend of mine has the same problem. The problem is in how the dependancies of the make files are set up. Each subdirectory has a bunch of .o files (which depend on the .c and the .h files), which are assembled to gether to form one "subassembly" .o file for the subdirectory. So for example, all of the .o files in the kernel subdirectory are linked together to form kernel.o, and all of the .o files in the fs subdirectory are linked to gether to form fs.o The problem is that the "image" file is created by linking the subassembly files together (fs.o, kernel.o, etc.), and the top-level makefile only knows that about this dependency; it has no way of knowing that since the .h files have changed, the .o files making up the kernel.o file have changed, and it needs to cd into the kernel subdirectory and do a remake. This could be fixed by adding more dependency rules, but it would substantially complicate the make files. Actually, I'm not sure why we have the second level .o files, unless it is to speed up the linking of the kernel when you are only making changes in one part of the kernel. It would probably faster if the top level make file assembled the "image" file from the component .o files, and the dependencies were all in the top level make file. From: Teresa Selling Date: Thu, 9 Jan 92 20:45:26 EST Mailer: Elm [revision: 64.9] I am also having trouble decompressing a ~177K file. A 170K or so file decompresses fine. Have I hit a limit on compress or can more memory be allocated? I get out of memory and segmentation fault errors. I have 8 meg of memory, so it seems strange to run out of memory. I doubt you are running out of memory. Are you sure that your ~177k file isn't corrupted? Typically you will get an out of memory error if the .Z file was FTP'ed in ASCII mode instead of binary mode or some such thing. Date: Thu, 9 Jan 92 17:20:33 EST From: Russ Nelson These drivers all use a common skeleton that interfaces between FTP Software's Packet Driver Specification, and the code that's specific to each card. That code could be reused if someone could find a way to keep most of the entry points identical, or at least similar. If the entry points into the device-specific code need to be changed, maybe we could find a way to do it so that all the drivers can get ported at the same time? First a disclaimer: I haven't locked at the FTP Packet Driver Specification; but I suspect the one place that will be a problem is interrupt handling. Presumably the Clarkson drivers are interrupt driven and not polling off the clock tick, right? I suspect that if they're clock tick driven, it would make things easier but it would make performance suffer a lot. If they are interrupt driven, then you need to worry about installing a 386 protected-mode interrupt gate, and saving all of the 386 32-bit registers; and if the drivers were designed for the 16-bit DOS world, they might not be up to handling this. Also, how nailed-down is the interface between the "common" portion of the packet driver and the "device specific" portion of the packet driver? I suspect that we would want to dump the "common" portion of the driver and speak directly to the "device specific" portion. Having an Ethernet driver sounds like a really cool thing! Of course, the thing that would really interest me is a SLIP driver.... :-) - Ted --[0348]-- [0350] daemon@ATHENA.MIT.EDU (Mika Matti Jalava) Linux_Activists 01/10/92 03:46 (29 lines) Subject: Re: keyboard when recompiling linux From: Mika Matti Jalava To: linux-activists@joker.cs.hut.fi Date: Fri, 10 Jan 92 10:33:56 EET In-Reply-To: <9201100053.AA05736@joker.cs.hut.fi>; from "Teresa Selling" at Jan 9, 92 7:53 pm Teresa writes: > I have just recently started using linux. With some help from people > here I have got it up and running. Shoelace seems to work ok as well. > But when I recompile the image and attempt to use it my keyboard is messed > up. I assume that it is set for other than USA for default keyboard, but > I cannot find where that is set. Any suggestions? Here is an excerpt from /usr/linux/include/linux/config.h: /* * define your keyboard here - * KBD_FINNISH for Finnish keyboards * KBD_US for US-type * KBD_GR for German keyboards * KBD_FR for Frech keyboard */ /*#define KBD_US */ /*#define KBD_GR */ /*#define KBD_FR */ #define KBD_FINNISH And KBD_FINNISH is the default. Change it to KBD_US and you should get it right. Mika --[0350]-- [0352] daemon@ATHENA.MIT.EDU (Ari Lemmke) Linux_Activists 01/10/92 05:48 (42 lines) Subject: No subject found in mail header Date: Fri, 10 Jan 1992 12:34:52 +0200 From: Ari Lemmke To: SUPERVISOR@novell.oih.no Cc: linux-activists@joker.cs.hut.fi In-Reply-To: SUPERVISOR@novell.oih.no's message of 10 Jan 92 10:39:16 MET-1 >Please delete my name/address from the linux-activists. > >Thanks Really people - stop these _jokes_ - on our mailing list. This mailing list is intended ONLY for Linux related discussion, not requesting. The one and only channel for requests is Linux-activists-request@niksula.hut.fi I even think this kind of mail do not belong here, but .. I wonder where we always have illiterates. "The only way to get on this mailing list was Linux-activists-request@niksula.hut.fi and the only way out is Linux-activists-request@niksula.hut.fi, there's no other way than Linux-activists-request@niksula.hut.fi for address changes." BTW. we have atleast 140 people getting this list around the world (+multiple secondary lists). In couple of hours (within my session 16.00-12.20 [huh, all nite long]) we have had more than 20 new subscribers. When the list gets bigger we might have more trouble request messages on wrong address .. I really want to prevent that. And this is yet an other reason for the news group. arl --[0352]-- [0354] daemon@ATHENA.MIT.EDU (Johan Myreen) Linux_Activists 01/10/92 11:55 (18 lines) Subject: Three Finger Salute From: Johan Myreen To: linux-activists@joker.cs.hut.fi Date: Fri, 10 Jan 92 18:45:17 EET In-Reply-To: <9201080849.AA21293@dront.nada.kth.se>; from "d88-man@nada.kth.se" at Jan 8, 92 9:49 am > No warm reboot: I have the same problem as do more people I know of, the > problem is (as I know it) the AMI-bios in my computer, do you have an AMI ? > If so that's almost surely the reason. Anybody knows why ? I haven't looked > into it. You always have the red button ... :-) I have seen this problem too, on a MikroMikko 4m346 (also known as Alfaskop 4m346) from ICL Data. The funny thing is that the warm boot works on model 4m336SX from the same manufacturer. The machine doesn't have a reset button, and the power switch isn't even red! -- Johan Myreen jem@cs.hut.fi --[0354]-- [0355] daemon@ATHENA.MIT.EDU (Mika Matti Jalava) Linux_Activists 01/10/92 12:06 (12 lines) Subject: Re: Three Finger Salute From: Mika Matti Jalava To: linux-activists@joker.cs.hut.fi Date: Fri, 10 Jan 92 18:51:06 EET In-Reply-To: <199201101645.AA16180@sauna.cs.hut.fi>; from "Johan Myreen" at Jan 10, 92 6:45 pm Various users have noted that their machines don't work right after warm boot. Sorry, I'm not able to help, but if it helps anything, I can tell that something has changed from 0.10 to 0.11: With 0.10 my machine had the same problem, but 0.11 boots OK in every situation. My machine is a 386-25 with Award BIOS. Mika --[0355]-- [0357] daemon@ATHENA.MIT.EDU (Teresa Selling) Linux_Activists 01/10/92 14:32 (7 lines) Subject: length of file names Date: Fri, 10 Jan 92 14:23:10 est From: Teresa Selling To: linux-activists@joker.cs.hut.fi I was just wondering why the file names have to be so short. Would it be difficult to implement longer ones, say 32 characters long/? --[0357]-- [0358] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 01/10/92 15:47 (162 lines) Subject: A kill for linux Date: Fri, 10 Jan 92 12:32:46 PST From: pmacdona@sanjuan.UVic.CA (Peter MacDonald) To: linux-activists@joker.cs.hut.fi There may not be much demand for this one now that Job Controls is coming to bash, but for processes that are unattached to a tty (like pty pgming) it can be usefull. Also daemon management. Here is kill.c. Note that .11 has a bug in sys_kill, which is supposed to return -1 on a kill of an unknown process number. Because of this, kill.c never warns of illegal kills. Use kill -? for info. ******CUT HERE*************** /* kill.c : copyright (92) Peter MacDonald: Distribute freely, don't restrict*/ #include #include #include #define ERR 2 const char *usagestr = "usage: kill [-signal] pid ...\n"; void oops(void) { write(ERR,usagestr,strlen(usagestr)); exit(1); } void oops2(char *str1, char *str2) { write(ERR,str1,strlen(str1)); write(ERR,str2,strlen(str2)); write(ERR,"\n",1); exit(1); } char *itoa(int num) { int sign = 0; static char buf[15]; char *cp = buf+sizeof(buf)-1; if (num<0) { sign = 1; num = -num; } do { *cp-- = '0'+num%10; num /= 10; } while (num); if (sign) *cp-- = '-'; return(cp+1); } const char *signames[] = { "HUP", "INT", "QUIT", "ILL", "TRAP", "ABRT", "UNUSED", "FPE", "KILL", "USR1", "SEGV", "USR2", "PIPE", "ALRM", "TERM", "STKFLT", "CHLD", "CONT", "STOP", "TSTP", "TTIN", "TTOU", 0 }; int main(int argc, char *argv[]) { int i, signum = SIGTERM; if (argc < 2) oops(); if ((argc>1) && ('-' == *argv[1])) { if ('?' == argv[1][1]) for (i=0; iNSIG)) oops(); argc--; argv++; } while (--argc) { argv++; if ((i = atoi(*argv)) <= 3) oops(); if (kill(i,signum)) oops2( "kill: no such process ", itoa(i)); } return(0); } table !"#$%&'()*+,-./0123456789:;<=>? @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ begin 644 kill.c M+RH@:VEL;"YC(#H@8V]P>7)I9VAT("@Y,BD@4&5T97(@36%C1&]N86QD.B!$z M:7-T2P@9&]N)W0@7!EPH@('=R:71E*$524BQS='(Q+'-T&ET*#$I.PI](" @"@IC:&%R("II=&]A*&EN="!N=6TIq M"GL@:6YT('-I9VX@/2 P.R *("!S=&%T:6,@8VAAF5O9BAB=68I+3$["B @:68@*&YU;3PP*0H@('L@o MPH)(DA54"(Lk M("))3E0B+" B455)5"(L("))3$PB+" B5%)!4"(L(")!0E)4(BP@(E5.55-%j M1"(L( H)(D9012(L(")+24Q,(BP@(E534C$B+" B4T5'5B(L(")54U(R(BP@i M(E!)4$4B+" B04Q232(L(")415)-(BP@"@DB4U1+1DQ4(BP@(D-(3$0B+" Bh M0T].5"(L(")35$]0(BP@(E135% B+" B5%1)3B(L(")45$]5(BP@,"!].PH*g M:6YT(&UA:6XH:6YT(&%R9V,L(&-H87(@*F%R9W9;72D*>PH@(&EN="!I+"!Sf M:6=N=6T@/2!324=415)-.PH@( H@(&EF("AAPH@d M(" @:68@*"<_)R ]/2!A, torvalds@cc.helsinki.fi Cc: linux-activists@joker.cs.hut.fi Reply-To: tytso@athena.mit.edu Date: Fri, 10 Jan 1992 12:34:52 +0200 From: Ari Lemmke When the list gets bigger we might have more trouble request messages on wrong address .. I really want to prevent that. And this is yet an other reason for the news group. I had earlier proposed a mail digestifer <-> news group gateway; well, I finally have that software working on my system. What it does is this: *) Mail sent to List-Name is posted to the newsgroup. *) News group articles are collected together and sent when they comprise a digest of between 20k and 30k, or if that doesn't happen in 6 hours, the news group articles are flushed out into a digest. (All of the numbers, like the 20k, 30k, and the 6 hours can be adjusted as appropriate.) The general idea is that we can use this to replace the Linux Activists lists at some point. The question is when do do we do this and how. I actually don't have very strong opinions about whether we do alt.os.linux now, and transition to comp.os.linux later, or whether we start the process for comp.os.linux now, and start doing the transition 60 days from now, or whether we just wait for a while if the pure mailing solution is still holding up. Linus, Ari, what do you think? If you want, I can turn on the software on relatively little notice; it's already been installed on my news server. For people on the list: how many of you would prefer to get this mailing list via news? How many of you would be able to receive alt.os.linux? How many of you would be able to receive comp.os.linux? How many of you would prefer to receive this via mail regardless? PLEASE DO NOT REPLY TO THE LIST. MAIL ONLY TO ME, AND I WILL SUMMARIZE. Thank you! - Ted --[0360]-- [0361] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 01/11/92 00:12 (10 lines) Subject: select Date: Fri, 10 Jan 92 21:05:38 PST From: pmacdona@sanjuan.UVic.CA (Peter MacDonald) To: linux-activists@joker.cs.hut.fi I hacked together a (very rough) select system call, as well as pseudo ttys (even rougher) and submitted them with VC to Linus. In further correspondence with him, I believe Linus has both of these smoothed out and integrated in 0.12. If your looking for a project, maybe you could try symbolic links (maybe see plains.nodak.edu:pub/Minix/usenet/ 1991.Jun/symlink.sh) or shared dynamic link libraries (thorny). --[0361]-- [0363] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 01/11/92 02:06 (97 lines) Subject: nice and renice for linux Date: Fri, 10 Jan 92 22:59:05 PST From: pmacdona@sanjuan.UVic.CA (Peter MacDonald) To: linux-activists@joker.cs.hut.fi Here is the nice and renice utilities for setting the priority of jobs at startup and while running respectively. It does not include the system call sys_renice, which is trivial to implement, so renice doesn't actually work right now. Note that nice (and renice) should be checking that the caller is root if priority is negative. At least I think the system call should do the checking? ******CUT HERE********************************** /* nice.c: copywrite (92) Peter MacDonald: Distribute freely, don't restrict */ #include #include #include /* link nice to renice to change running processes priorities. */ int is_nice; void usage() { if (is_nice) puts("usage: nice [-n] command"); else puts("usage: renice [-n] pid"); exit(-1); } int renice(int priority, int pid) { puts("renice system call not yet implemented"); return(0); } int main(int argc, char *argv[]) { int priority = 10; is_nice = (strcmp(*argv+strlen(*argv)-6,"renice")); if ((argc>1) && (argv[1][0] == '-')) { priority = atoi(argv[1]+1); if ((priority>19) || (priority<-20)) usage(); argc--; argv++; } if (argc<2) usage(); if (!is_nice) if (renice(priority,atoi(argv[1]))) usage(); else return(0); if (nice(priority)) usage(); execvp(argv[1], argv+1); puts("can not execute"); exit(-1); } table !"#$%&'()*+,-./0123456789:;<=>? @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ begin 644 nice.c M+RH@;FEC92YC.B!C;W!Y=W)I=&4@*#DR*2!0971E3XQ.2D@?'P@l M*'!R:6]R:71Y/"TR,"DI"B @(" @('5S86=E*"D["B @("!A2QA=&]I*&%R9W9;,5TI*2D*(" @(" @=7-A9V4H*3L*(" @(&5L Are there any plans to implement the select() sys call sometime ?? > If no-one is looking at it, does anyone know where I can find detailed > specs on what select does, and a rought idea of how it should be implemented? Select is already implemented, will be in 0.12. It was originally by pmacdona, although I have hacked it quite heavily. It currently works (not too much testing though) on pipes and tty's (including pty's). I'm hoping that MGR could sometime be ported to linux: does anyone know what more it wants - we've got pty's and select, but no /dev/screen yet. Is there anything else mgr wants? Linus --[0364]-- [0366] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 01/11/92 18:14 (35 lines) Subject: Symbolic links Date: Sun, 12 Jan 1992 01:00:35 +0200 From: Linus Benedict Torvalds To: Linux-activists@joker.cs.hut.fi Ok, as I didn't implement the VFS-patches (they seemed a bit raw), I found that I no longer had any excuse for not implementing symbolic links, so I did :) I haven't tested them very much yet (don't you get tired of me saying that? But it usually works anyway), but the small tests I have done have worked out beautifully. So 0.12 (still due out wednesday January 15th unless I get problems) will have them. One problem is that I disallowed nesting links - does anybody feel this is too much of a restriction? Hope not, 'cause 0.12 won't have nested links, and that's final (unless someone wants to pay me huge sums of money for it). Note that the symlinks will require a new fsck (don't worry, I've made the changes already), so you'll have to install some things from the new root-floppy when you install 0.12. Or something like that. 0.12 will still have these known bugs: - the serial line sometimes locks up. I don't know why, and I don't want to know. I want a patch that fixes it :-) - Some harddisks don't like linux (even though they should). Maybe not a bug, but a deficiency. New bugs (possibly): - When using VM, there are /a lot/ new possibilities for race conditions. I haven't heard about problems from those few that have tested it, so maybe it's ok. Knock wood. - The job control bash for 0.12 is version 1.10, which has a bug with command completion. Not fatal, but irritating. 1.11 should hopefully be out soon. Linus --[0366]-- [0367] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 01/12/92 07:39 (21 lines) Subject: Re: Linux (HD-controller reset failed: d0) Date: Sun, 12 Jan 1992 14:29:28 +0200 From: Linus Benedict Torvalds In-Reply-To: Humberto Ortiz-Zuazaga's message as of Jan 11, 23:36 To: zuazaga@ucunix.san.uc.edu, torvalds@cc.helsinki.fi Cc: linux-activists@joker.cs.hut.fi (Linux activists) Humberto Ortiz-Zuazaga: "Linux (HD-controller reset failed: d0)" (Jan 11, 23:36): > [ HD-controller reset failed: d0 ] > > I've got all the gccbin and sources installed, and want to ask what is > the current suggested fix for this? Before I mess with my boot image, > that is. For sure this should be in the FAQ. :-) The current suggested fix is to wait for 0.12: this particular problem should be solved (knock wood). If you cannot wait for 3 days, there were some timeouts you can change, but I forgot which: they are in blk_drv/hd.c. I /think/ this was solved in the VM prerelease (on amaru), but that one has other problems (memory size hardcoded for testing). Linus --[0367]-- [0370] daemon@ATHENA.MIT.EDU (Derek Lieber) Linux_Activists 01/12/92 13:09 (24 lines) Subject: trouble booting 0.11 Date: Sun, 12 Jan 92 12:41:08 EST From: Derek Lieber To: Linux-activists@joker.cs.hut.fi I've copied the 0.11 "bootimage" onto a 1.44M diskette and attempted to boot off it. It gets as far as "Loading system..." and then says HD-controller reset failed: 80 Kernel panic: HD controller not ready I also see a small "EGAc" in the upper right corner of the screen. I've been running protected mode minix on this machine (a 20MHz 386 Everex Tempo LX laptop, VGA display, IDE controller) using the vanilla at_wini.c driver with no problems. I recall being able to boot the old 0.10 version of linux with no problems, although I just played on the diskette and never tried to mount a HD filesystem. Any idea what I'm doing wrong? Derek Lieber derek@watson.ibm.com --[0370]-- [0371] daemon@ATHENA.MIT.EDU (Derek Lieber) Linux_Activists 01/12/92 14:59 (23 lines) Subject: trouble booting 0.11 (continued) Date: Sun, 12 Jan 92 14:39:09 EST From: Derek Lieber To: Linux-activists@joker.cs.hut.fi I just tried using version 0.10 of "bootimage" to run version 0.11 of "rootimage". The system comes up fine. I can access the harddisk ok, for example by running "cp /dev/hd0 /dev/null". But when running "fdisk", I get: /dev/hd1: ..stuff about partition 1... /dev/hd2: ..stuff about partition 2... /dev/hd3: ..stuff about partition 3... harddisk I/O error dev 0305 block 0 and the program terminates. Now device 0305 is /dev/hd5 (ie. 2nd harddisk), but I don't have a 2nd harddisk. Does linux for some reason expect TWO harddisks? Is this the reason I'm unable to boot version 0.11 of the kernel (as described in my previous message)? Derek Lieber derek@watson.ibm.com --[0371]-- [0372] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 01/12/92 15:40 (50 lines) Subject: Re: trouble booting 0.11 (continued) Date: Sun, 12 Jan 1992 22:25:38 +0200 From: Linus Benedict Torvalds In-Reply-To: "Derek Lieber"'s message as of Jan 12, 14:39 To: Derek Lieber , Linux-activists@joker.cs.hut.fi "Derek Lieber": "trouble booting 0.11 (continued)" (Jan 12, 14:39): > I just tried using version 0.10 of "bootimage" to run version 0.11 > of "rootimage". The system comes up fine. I can access the harddisk ok, > for example by running "cp /dev/hd0 /dev/null". > > But when running "fdisk", I get: > > /dev/hd1: ..stuff about partition 1... > /dev/hd2: ..stuff about partition 2... > /dev/hd3: ..stuff about partition 3... > harddisk I/O error > dev 0305 block 0 > > and the program terminates. Now device 0305 is /dev/hd5 (ie. 2nd harddisk), > but I don't have a 2nd harddisk. Does linux for some reason expect TWO > harddisks? Is this the reason I'm unable to boot version 0.11 of the > kernel (as described in my previous message)? No, this is totally normal: the kernel tries to read from the second harddisk, and fails. No problem. The reason that 0.10 works, but 0.11 doesn't, is that I changed 0.11 so that it does a hd-reset at bootup, mostly to test the code. Ok it wasn't so great an idea, but it showed up the bug in the reset-code. If you can get linux up and running on some machine (0.10 works, but has bugs, so 0.11 is better), you can make a new 0.11 that works somewhat just by changing the line static int reset = 1; to static int reset = 0; at the head of hd.c, and recompiling the kernel. This works, but ignores the deeper problem of not being able to reset the disk. I still think you'd better wait for 0.12: it's ready, but I want to test everything out for a bit yet. I was still adding things to it yesterday, now I'm just playing around, and trying to see if 0.12 fails. Linus PS. Ignore my warning about bugs in bash-1.10: bash 1.11 came out yesterday (the day before?), and was very easy to port to linux. I haven't found any bugs yet. --[0372]-- [0373] daemon@ATHENA.MIT.EDU (John R. Schutz) Linux_Activists 01/12/92 15:40 (31 lines) Subject: Re: fdisk problems From: john@csrnxt1.ae.utexas.edu (John R. Schutz) To: linux-activists@joker.cs.hut.fi (Linux Activists) Date: Sun, 12 Jan 92 14:33:45 CST After seeing a couple of people asking this same question, I decided I'd reply to the list instead of individually (sorry to the majority who probably know this). It is normal behavior for fdisk to report the errors about /dev/hd5, etc, if you do not have a second hard disk. I am not sure which of the following is correct, however 1) fdisk has it hard coded to check a second hard disk 2) fdisk checks on all /dev/hd*'s I am not able to check since I am not at home, but suffice to say that it is normal. I think this was written somewhere, was it not? Derek Lieber: This has nothing to do with the fact that you cannot get 0.11 to mount your HD. This is a seperate bug that will (hopefully) be fixed in 0.12. Linus has stated that it is. It has to do, from my understanding, that some delays in the HD init are not long enough? Anyways...I'm getting over my head... john -- | John R. Schutz | Email&NeXTmail: | | A learning NeXTie | john@csrnxt1.ae.utexas.edu | | (512)328-0587 | "We are all victims of dead men." | | 3009 Hatley Dr., Austin, TX 78746 | -Charles Fuller | --[0373]-- [0374] daemon@ATHENA.MIT.EDU (Mark_Hahn@transarc.com) Linux_Activists 01/12/92 16:24 (8 lines) Subject: frequently-asked-questions file? Date: Sun, 12 Jan 1992 15:42:38 -0500 (EST) From: Mark_Hahn@transarc.com To: Linux-activists@joker.cs.hut.fi Is there a FAQ for Linux yet? I'm especially interested in the breadth of different machines that have sucessfully booted Linux. thanks, Mark. --[0374]-- [0375] daemon@ATHENA.MIT.EDU (Thomas E. Kunselman) Linux_Activists 01/12/92 18:14 (50 lines) Subject: Device driver text with source. Date: Sun, 12 Jan 92 17:56:29 EST From: "Thomas E. Kunselman" To: linux-activists@joker.cs.hut.fi I was reading misc.books.technical and thought someone on here might be interested in this. I'm a new subscriber, so hope this hasn't been posted before. Writing UNIX Device Drivers By George Pajari (c) 1992 Published by Addison-Wesley ISBN 0-201-52374-4 323 pages, Paperback $32.95 This book provides application programmers with definitive information on writing device drivers for the UNIX operating system. It explains, through working examples, the issues related to the design and implementation of these important components of applications programs. Written by an acknowledged expert, the book uses full source code listings of real devices to explain the underlying concepts. Complete source code is provided for 12 drivers, including: - block drivers for a SCSI disk and a line printer - a character driver for an intelligent serial I/O device - a streams driver for a token-ring card Covering System V Releases 3 and 4, the book provides essential practical advice for all UNIX applications programmers. -- Quantum Books | A Technical and Professional Bookstore ----------------------------+------------------------------------------ Cambridge: 617-494-5042 | E-Mail: quanbook@world.std.com Philadelphia: 215-222-0611 | Mailing List: quanlist@world.std.com ------------------------------------------------------------------------------- Thomas E. Kunselman | INTERNET: VAATEK@UKCC.UKY.EDU Information Specialist | BITNET: VAATEK@UKCC Office of the Assistant Chancellor | #4 Administration Building | University of Kentucky | Lexington, KY 40506-0032 | Phone:(606) 257-1633 | ------------------------------------------------------------------------------- --[0375]-- [0376] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 01/12/92 18:53 (42 lines) Subject: Re: Device driver text with source. Date: Mon, 13 Jan 1992 01:34:24 +0200 From: Linus Benedict Torvalds In-Reply-To: "Thomas E. Kunselman"'s message as of Jan 12, 17:56 To: "Thomas E. Kunselman" , "Thomas E. Kunselman": "Device driver text with source." (Jan 12, 17:56): > I was reading misc.books.technical and thought someone on here might be > interested in this. I'm a new subscriber, so hope this hasn't been > posted before. > > Writing UNIX Device Drivers > By George Pajari [deleted] A small word of warnig: linux looks like a unix, but I implemented it from scratch, and with very little litterature on how things "should" be done. In fact the only things I knew were how the interface should appear to the user: the result is not the same as either minix, sysv or bsd when it comes to the kernel innards. Some of the choises I made worked out well, some not so well. So far nothing has been a total disaster: most things have been relatively easily adaptible to the linux kernel (demand-loading and paging comes to mind: they were essentially painless to do for linux). This doesn't mean that this book wouldn't be very practical (it probably is), but it does mean that you cannot take the code and use it directly for linux. Of course the underlying algorithm may well work splendidly. The three books I had as references were: "Maurice J Bach: The design of the unix operating system". This is a nice general text, and has some simple algorithms for some things. Recommended. "Tanenbaum: Operating Systems, Design and Implementation". Hmm. I didn't use this book much for the actual implementation (other than getting the minix filesystem design out of it), but unless you understand the principles ast writes about, unix kernel hacking is difficult at best. "Crawford & Gelsinger: Programming the 80386". What can I say. If you want to program the 386-specific stuff, this is a must. Linus --[0376]-- [0377] daemon@ATHENA.MIT.EDU (Juan Jose T. Noyles) Linux_Activists 01/12/92 18:53 (5 lines) Subject: Filesystem To: linux-activists@joker.cs.hut.fi From: juan@noyles.pha.pa.us (Juan Jose T. Noyles) Date: Sun, 12 Jan 92 18:13:47 EST Does Linux use the same format as DOS? --[0377]-- [0378] daemon@ATHENA.MIT.EDU (Lawrence C. Foard) Linux_Activists 01/12/92 20:27 (16 lines) Subject: new to this list Date: Sun, 12 Jan 92 19:59:46 -0500 From: entropy@ee.WPI.edu (Lawrence C. Foard) To: linux-activists@joker.cs.hut.fi I just signed up for this list. As far as I could tell there is no stty available for linux yet so I went ahead and wrote one, I'm also adding features it needs to perform the same function as getty. The todo file says the init program is needed, if no one has done this yet I would be interested. Is ps available yet? Assuming there isn't an stty program available that I missed, I can send the stty code to any one who is interested. I'm really impressed with what I have seen so far, I've been hoping something like this would come along for years :) --[0378]-- (nref = [0380]) [0379] daemon@ATHENA.MIT.EDU (Yanek Martinson) Linux_Activists 01/12/92 21:50 (16 lines) Subject: Re: init From: Yanek Martinson To: entropy@ee.WPI.edu (Lawrence C. Foard) Date: Sun, 12 Jan 92 20:30:02 EST Cc: linux-activists@joker.cs.hut.fi In-Reply-To: <9201130059.AA23867@wintermute.WPI.EDU>; from "Lawrence C. Foard" at Jan 12, 92 7:59 pm > The todo file says the init program is needed, if no one has done My init is almost done, should have been done a while ago but I was busy with "real work" (things all crashing for various strange reasons) I still need to write the stuff that lets it chnge run-levels though (I think I will limit it to only 2 levels, so I can use signals SIGUSR1 and SIGUSR2, does anyone see any problems with this?) --[0379]-- [0380] daemon@ATHENA.MIT.EDU (John T Kohl) Linux_Activists 01/12/92 21:52 (11 lines) Subject: Re: new to this list Date: Sun, 12 Jan 92 18:01:40 -0800 To: entropy@ee.WPI.edu (Lawrence C. Foard) Cc: linux-activists@joker.cs.hut.fi In-Reply-To: [378] From: John T Kohl Reply-To: jtkohl@cs.Berkeley.edu The stty from the GNU shell utilities (I think; or some other set of utils) works with minimal porting effort. John --[0380]-- (pref = [0378]) [0381] daemon@ATHENA.MIT.EDU (tthorn@daimi.aau.dk) Linux_Activists 01/12/92 22:56 (23 lines) Subject: No VFS means no FFS? Date: Mon, 13 Jan 92 03:53:45 +0100 From: tthorn@daimi.aau.dk To: Linux-activists@joker.cs.hut.fi In-Reply-To: Linus Benedict Torvalds's message of Sun, 12 Jan 1992 01:00:35 +0200 From: Linus Benedict Torvalds Ok, as I didn't implement the VFS-patches (they seemed a bit raw), I I haven't seen the VFS-patches, but as I understand, they are essential for the Berkeley Fast File System. The current file system has no impressive performance, and was hoping the addition of FFS would improve the situation. Also, the ridiculous 14 char limit to file names is blocking my use of Linux for a particular application. Don't misunderstand. I find Linux great, but it would be even better with FFS. /Tommy PS: What is happening to the SCSI driver project? I might be able to write the adaptech 1542 lowlevel driver. --[0381]-- [0382] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 01/13/92 04:23 (29 lines) Subject: Re: No VFS means no FFS? Date: Mon, 13 Jan 1992 11:08:42 +0200 From: Linus Benedict Torvalds In-Reply-To: tthorn@daimi.aau.dk's message as of Jan 13, 3:53 To: tthorn@daimi.aau.dk, Linux-activists@joker.cs.hut.fi tthorn@daimi.aau.dk: "No VFS means no FFS?" (Jan 13, 3:53): > From: Linus Benedict Torvalds > > Ok, as I didn't implement the VFS-patches (they seemed a bit raw), I > > I haven't seen the VFS-patches, but as I understand, they are > essential for the Berkeley Fast File System. The VFS that is available as alpha (tsx-11, ALPHA) has the problem that it wants you to rewrite almost everything when you add a filesystem (ie, have a minix_open, and a ffs_open etc), which I find a bit boring, and also makes for somewhat ugly code (several versions of essentially the same set of functions). I decided that I didn't want to lock into that yet: it might still be the way linux goes, but I don't want to have an official release that binds me to something I think could maybe be implemented cleaner. VFS will come, but I'd rather see it (I'll implement it too, perhaps) as a collection of just the low-level routines (read_inode(), write_inode(), read_dir_entry(), write_dir_entry(), _bmap() etc), where the general routines like "link()" etc would be the same for all systems. Linus --[0382]-- [0383] daemon@ATHENA.MIT.EDU (d88-man@nada.kth.se) Linux_Activists 01/13/92 05:47 (25 lines) Subject: kernel panic... Date: Mon, 13 Jan 92 11:35:20 +0100 From: d88-man@nada.kth.se To: Linux-activists@joker.cs.hut.fi I got a nasty kernel panic when using uemacs this morning: Kernel panic: Trying to free up swapper memory space. In swapper task - not syncing Bug or not ? The scenario was a uemacs with 2 'windows', I had exited uemacs several times (with ^X^C) and used gas in between. Although it doesnt't say much I wrote down the preceding infolines if they can be some clue: EIP: 000f:67c4 EFLAGS: 13213 ESP: 17:23558 base: 0, limit: A0000 Stack: 0 ffc 13f 5412 Pid: 0, proc. nr: 00x07 89 02 eb ef 8d 65 f8 5e 57 c1 The panic resulted in a corrupted CMOS too ! Which I recall somebody had earlier. /Mats Andersson (d88-man@nada.kth.se) --[0383]-- [0384] daemon@ATHENA.MIT.EDU (s_ebach@rzmain.rz.uni-ulm.de) Linux_Activists 01/13/92 09:23 (12 lines) Subject: How about 'mvdir' and 'df' Date: Mon, 13 Jan 92 15:10:24 +0100 From: s_ebach@rzmain.rz.uni-ulm.de To: "Linux-activists@niksula.hut.fi"@netway.rz.uni-ulm.de Are there allready running mvdir's and df's under Linux? These two I REALY miss in the standard-distribution. BTW: What's the de-facto-WHERE-SHOULD-BE-WHAT-standard setup of GCC? TschauTschau Bernd --[0384]-- [0385] daemon@ATHENA.MIT.EDU (Russ Nelson) Linux_Activists 01/13/92 11:30 (50 lines) Subject: still a keyboard problem Date: Mon, 13 Jan 92 09:58:59 EST From: Russ Nelson To: tytso@athena.mit.edu Cc: linux-activists@joker.cs.hut.fi In-Reply-To: Theodore Ts'o's message of Thu, 9 Jan 92 23:52:17 -0500 <9201100452.AA04055@tsx-11.MIT.EDU> Date: Thu, 9 Jan 92 23:52:17 -0500 From: tytso@ATHENA.MIT.EDU (Theodore Ts'o) Reply-To: tytso@athena.mit.edu Address: 1 Amherst St., Cambridge, MA 02139 Phone: (617) 253-8091 Date: Thu, 9 Jan 92 17:20:33 EST From: Russ Nelson These drivers all use a common skeleton that interfaces between FTP Software's Packet Driver Specification, and the code that's specific to each card. That code could be reused if someone could find a way to keep most of the entry points identical, or at least similar. If the entry points into the device-specific code need to be changed, maybe we could find a way to do it so that all the drivers can get ported at the same time? First a disclaimer: I haven't looked at the FTP Packet Driver Specification; but I suspect the one place that will be a problem is interrupt handling. Presumably the Clarkson drivers are interrupt driven and not polling off the clock tick, right? I suspect that if they're clock tick driven, it would make things easier but it would make performance suffer a lot. If they are interrupt driven, then you need to worry about installing a 386 protected-mode interrupt gate, and saving all of the 386 32-bit registers; and if the drivers were designed for the 16-bit DOS world, they might not be up to handling this. Most of the drivers could be rewritten to operate in a polled mode. The 3501 and ni5010 will not work that way, because they don't have a buffer large enough. Also, how nailed-down is the interface between the "common" portion of the packet driver and the "device specific" portion of the packet driver? I suspect that we would want to dump the "common" portion of the driver and speak directly to the "device specific" portion. Right, that's what I'm proposing -- to keep the device specific portion, and talk to it from protected mode. Having an Ethernet driver sounds like a really cool thing! Of course, the thing that would really interest me is a SLIP driver.... :-) SLIP isn't as tough because it's based on the serial ports... -russ --[0385]-- [0386] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 01/13/92 11:31 (13 lines) Subject: Easy way to report problems. Date: Mon, 13 Jan 92 08:22:23 PST From: pmacdona@sanjuan.UVic.CA (Peter MacDonald) To: linux-activists@joker.cs.hut.fi When 0.12 comes out, and you have a problem, like a panic, you will be able to take a snapshot of the screen with setterm -dump n No more will you have to laboriously transcribe all that information on you screen. And hopefully, accuracy will improve. (That is, if screen dumping made it into .12? Linus?) --[0386]-- [0387] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 01/13/92 11:46 (28 lines) Subject: Re: No VFS means no FFS? Date: Mon, 13 Jan 92 11:32:30 -0500 From: tytso@ATHENA.MIT.EDU (Theodore Ts'o) To: Linux-activists@joker.cs.hut.fi In-Reply-To: tthorn@daimi.aau.dk's message of Mon, 13 Jan 92 03:53:45 +0100, Reply-To: tytso@athena.mit.edu Date: Mon, 13 Jan 92 03:53:45 +0100 From: tthorn@daimi.aau.dk The current file system has no impressive performance, and was hoping the addition of FFS would improve the situation. Note that a lot of the basic ideas of the FFS can be implemented without changing the filesystem format.... for example, the idea of having cylinder groups and allocating blocks trying to make sure that a file is in one cylinder group. Of course, you really can't change the 14 char limit without chaging the filesystem format, although I could think of some really ugly kludges one could use to make the change in a backward compatible way... If we're going to redesign the filesystem format, perhaps we should start making wish lists (keeping in mind that it may not be practical to implement them all). My wish list item is per-file ACL's, with expansion room to handle network-authenticated entities: i.e., Kerberos principals or X.500 DN's (yeah, right). - Ted --[0387]-- [0388] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 01/13/92 11:55 (29 lines) Subject: Re: Easy way to report problems. Date: Mon, 13 Jan 92 11:43:34 -0500 From: tytso@ATHENA.MIT.EDU (Theodore Ts'o) To: pmacdona@sanjuan.UVic.CA Cc: linux-activists@joker.cs.hut.fi In-Reply-To: Peter MacDonald's message of Mon, 13 Jan 92 08:22:23 PST, Reply-To: tytso@athena.mit.edu Date: Mon, 13 Jan 92 08:22:23 PST From: pmacdona@sanjuan.UVic.CA (Peter MacDonald) When 0.12 comes out, and you have a problem, like a panic, you will be able to take a snapshot of the screen with setterm -dump n Maybe I'm missing something obvious, but..... After a panic, the Linux OS is looping in kernel mode, waiting for the user to type the reboot key. (No other processes are going to be able to execute.) How are you going to be able to do the setterm -dump n? One comment: when people send in kernel crash reports, they should make sure they specify which version of the kernel they are using. Obviously, if you are using a kernel with patches, it's going to be very difficult to figure out which routine was responsible by looking at the EIP output. Hopefully in the future, the kernel will be able do crash dumps, and we will have crash dump analysis programs to figure out where things actually were dying. - Ted --[0388]-- [0389] daemon@ATHENA.MIT.EDU (kevin dahlhaus) Linux_Activists 01/13/92 14:37 (5 lines) Subject: subscribe From: kevin dahlhaus To: Linux-activists@joker.cs.hut.fi (linux mailing list) Date: Mon, 13 Jan 92 14:27:43 EST subscribe "Kevin Dahlhausen" --[0389]-- [0390] daemon@ATHENA.MIT.EDU (Lawrence C. Foard) Linux_Activists 01/13/92 17:36 (16 lines) Subject: stty uploaded Date: Mon, 13 Jan 92 17:22:03 -0500 From: entropy@ee.WPI.EDU (Lawrence C. Foard) To: linux-activists@joker.cs.hut.fi I uploaded stty.tar.Z (README,stty.c,stty) to the incoming directory on the ftp site. It seems to work ok, if you find any problems send me mail and I will try to fix them. Three problems that I think are OS bugs (or just not finished yet): winsize is always 0 Vt delay and ff delay share the same bit in the header file. a shell started on a terminal is always killed when you exit the lowest level console shell (I assume this won't be a problem when init arrives). stty sane will set all the terminal characteristics to the way the kernel has the set on bootup. --[0390]-- [0391] daemon@ATHENA.MIT.EDU (Ari Lemmke) Linux_Activists 01/13/92 18:41 (17 lines) Subject: stty uploaded Date: Tue, 14 Jan 1992 01:32:02 +0200 From: Ari Lemmke To: linux-activists@joker.cs.hut.fi In-Reply-To: Lawrence C. Foard's message of Mon, 13 Jan 92 17:22:03 -0500 <9201132222.AA25467@wintermute.WPI.EDU> entropy@ee.WPI.EDU (Lawrence C. Foard): >I uploaded stty.tar.Z (README,stty.c,stty) to the incoming directory on the >ftp site. It seems to work ok, if you find any problems send me mail and I >will try to fix them. Available at nic.funet.fi:/pub/OS/Linux/bin/stty.tar.Z Non FTP sites do send to 'mailserver@nic.funet.fi' mail with body containing 'help'. arl --[0391]-- [0392] daemon@ATHENA.MIT.EDU (Ari Lemmke) Linux_Activists 01/14/92 18:10 (8 lines) Subject: list is functioning Date: Wed, 15 Jan 1992 00:55:49 +0200 From: Ari Lemmke To: linux-activists@joker.cs.hut.fi List should work now. arl --[0392]-- [0393] daemon@ATHENA.MIT.EDU (Ari Lemmke) Linux_Activists 01/14/92 18:44 (20 lines) Subject: IDE drives and Linux Date: Wed, 15 Jan 1992 01:32:07 +0200 From: Ari Lemmke To: linux-activists@joker.cs.hut.fi Received: by peabody.iusb.indiana.edu (15.11/9.5teg) id AA28307; Tue, 14 Jan 92 18:19:14 est Date: Tue, 14 Jan 92 18:19:14 est -0500 From: Teresa Selling To: linux-activists.niksula.hut.fi ^ ;-) Subject: IDE drives and Linux I am planning to purchase a new hard drive to replace my cramped 80 meg. I am considering a Quantum 240 meg and would like to know if anyone is using this drive with Linux or has had trouble using it. Thanks. --[0393]-- [0394] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 01/14/92 18:45 (47 lines) Subject: Re: No VFS means no FFS? Date: Tue, 14 Jan 92 11:56:40 -0500 From: tytso@Athena.MIT.EDU (Theodore Ts'o) To: Linux-activists@joker.cs.hut.fi In-Reply-To: tthorn@daimi.aau.dk's message of Tue, 14 Jan 92 13:49:09 +0100, Reply-To: tytso@athena.mit.edu Date: Tue, 14 Jan 92 13:49:09 +0100 From: tthorn@daimi.aau.dk Which brings me to the question I've always wanted to ask: How do you use FFS on a SCSI disk? Given that SCSI disc's use logicial sectors and automatic bad sector remapping, it doesn't make much sence to talk of cylinder groups. Is it possible to avoid the logicial mapping? The short answer is: with great difficulty, and not without a lot of success. Usually, SCSI disks will generally keep logical sector whose block numbers which are close together in the same general area of the physical disk, but this is not guaranteed. Depending on how automatic bad sector remapping is done, the revectored blocks may be at the far end of the disk, or scattered through out the disk. So the FFS algorithms can be somewhat useful on SCSI disks by distributing files across the entire disk, and by reducing (somewhat) disk head activity by keeping files in the localized area wrt logical sector numbers. But of course it will not be as successful as when the kernel has a much better idea of where blocks will end up on the platters. Another thing which comes up with SCSI disks is that the elevator sort algorithm (which sorts the disk blocks in the request queue in an attempt to reduce head movement) will also not work as well as traditional disk controllers, again because there's no guarantee that the logical sector numbering has any relationship to the physical blocks (although there usually is some). However, there is usually some cache memory on the SCSI controllers on the disk drives themselves to help this situation a bit. Fortunately, the CPU time required to do the elevator sort and the FFS placement of disk blocks is small enough that it gets swamped by the time to do the disk I/O. So even if the elevator sort and the FFS don't help as much for SCSI disks, it shouldn't cost that much to use the algorithms in any case. - Ted --[0394]-- [0395] daemon@ATHENA.MIT.EDU (Mail Delivery Subsystem) Linux_Activists 01/14/92 18:48 (21 lines) Subject: Returned mail: User unknown Date: Tue, 14 Jan 92 18:19:14 est -0500 From: Mail Delivery Subsystem To: tselling@peabody.iusb.indiana.edu ----- Transcript of session follows ----- 550 linux-activists.niksula.hut.fi... User unknown ----- Unsent message follows ----- Received: by peabody.iusb.indiana.edu (15.11/9.5teg) id AA28307; Tue, 14 Jan 92 18:19:14 est Date: Tue, 14 Jan 92 18:19:14 est -0500 From: Teresa Selling To: linux-activists.niksula.hut.fi Subject: IDE drives and Linux I am planning to purchase a new hard drive to replace my cramped 80 meg. I am considering a Quantum 240 meg and would like to know if anyone is using this drive with Linux or has had trouble using it. Thanks. --[0395]-- [0396] daemon@ATHENA.MIT.EDU (Michael K. Johnson) Linux_Activists 01/14/92 18:50 (20 lines) Subject: No subject found in mail header Date: Tue, 14 Jan 92 17:22:08 CST From: johnsonm@stolaf.edu (Michael K. Johnson) To: Linux-activists@joker.cs.hut.fi While we are discussing what we are missing for X, I would like to mention one small thing -- /dev/mouse. It would be a cute trick if someone who has the spec's available for several mice put an autoconfig mouse driver in the kernel. This might actually be of use before X, but I can't think of anything right off.... I suppose it would make more sense to write it, but not put it in the kernel until it was needed -- linux is small and clean; no need to throw junk at it until we need the junk... michaelkjohnson johnsonm@stolaf.edu Look, ma, no .sig! --[0396]-- [0397] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 01/14/92 19:08 (34 lines) Subject: Re: Date: Tue, 14 Jan 92 18:53:23 -0500 From: tytso@ATHENA.MIT.EDU (Theodore Ts'o) To: johnsonm@stolaf.edu Cc: Linux-activists@joker.cs.hut.fi In-Reply-To: Michael K. Johnson's message of Tue, 14 Jan 92 17:22:08 CST, Reply-To: tytso@athena.mit.edu Date: Tue, 14 Jan 92 17:22:08 CST From: johnsonm@stolaf.edu (Michael K. Johnson) While we are discussing what we are missing for X, I would like to mention one small thing -- /dev/mouse. It would be a cute trick if someone who has the spec's available for several mice put an autoconfig mouse driver in the kernel. This might actually be of use before X, but I can't think of anything right off.... The 386 X server sources in the X11R5 distribution comes with support for the following mice: MicroSoft, MouseSystems, MMSeries, Logitech, Mouseman, BusMouse. Except for the BusMouse, all of the other formats just require access to the serial port. You don't need to put the mouse support in the kernel, except for the BusMouse case, and even then most of the hard work can and should be done out of the kernel. One thing which will require some kernel work for the X server is to add some ioctl()'s to the console for switching it to direct mode, where you get scancodes instead of ASCII characters (X will do its own keyboard mapping and remapping), and some other ioctl()'s to do set and reset the keyboard LED's, and start and stop the speaker at a specified pitch, etc., etc. But that shouldn't be too hard to do, although I don't know how easy it will be to make these changes work with the Virtual Console mode --- we do want to be able to have an X server running in one VC, and be able to switch into another VC to do debugging work. - Ted --[0397]-- [0398] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 01/14/92 19:30 (25 lines) Subject: linux-0.12 is available Date: Wed, 15 Jan 1992 02:13:40 +0200 From: Linus Benedict Torvalds To: Linux-activists@joker.cs.hut.fi Ok, the subject says it all. The kernel source and the disk-images are available on nic.funet.fi, and I'm assuming they will migrate to other places in a couple of days. There is a RELNOTES-0.12, but installation is similar to 0.11, so the installinfo in relnotes is pretty minimal. Note that even users of 0.11 should boot up from floppy first and copy all the binaries to their proper places on the harddisk partition: fsck, ls etc have changed with symlinks, and bash (/bin/sh) due to job control. Also note that I've decided to change the copyright to have the same set of rules as the GNU copyleft - I got some mail asking about it, and I agree. The old copyright still holds for now - I want to make sure none of the "co-authors" would mind, but I'm pretty sure they won't. It won't actually change the copyright very much: it's the handling-costs extra etc. I'll send some additional files (the complete fileutils, the new library and libc.a etc) tomorrow. Linus --[0398]-- (nref = [0403]) [0399] daemon@ATHENA.MIT.EDU (Derek Lieber) Linux_Activists 01/14/92 19:59 (14 lines) Subject: thinking about graphics programming Date: Tue, 14 Jan 92 19:36:45 EST From: "Derek Lieber" To: Linux-activists@joker.cs.hut.fi With all this talk about X servers and such, I was thinking about writing some graphics programs which would be able to do their work outside the kernel, by accessing video memory directly. Does linux let one establish a mapping between a region of a process's virtual address space and a region of physical memory (I'm thinking of something like the shmxxx" family of system calls for dealing with shared memory)? Derek Lieber derek@watson.ibm.com --[0399]-- [0400] daemon@ATHENA.MIT.EDU (Networking Research) Linux_Activists 01/14/92 20:32 (23 lines) Subject: Re: IDE drives and Linux Date: Tue, 14 Jan 92 19:22:15 -0600 From: l00017@eeyore.stcloud.msus.edu (Networking Research) To: linux-activists@joker.cs.hut.fi >Subject: IDE drives and Linux > > >I am planning to purchase a new hard drive to replace my cramped 80 meg. >I am considering a Quantum 240 meg and would like to know if anyone is >using this drive with Linux or has had trouble using it. Thanks. Well, I think you must mean the Quantum 210, since they don't (to my knowledge, and I know the quantum line pretty well) make a 240 meg drive. I've got a Quantum (Plus Impulse) 210AT, and while I haven't tested Linux on it, Mach likes it quite a bit. The geometry of the drive is 873 cyls, 13 heads, 36 secs/track. Maybe this will help people who know more about what Linux likes and doesn't like answer your question. I haven't, to be honest, brought Linux up yet myself, but I intend to use a Quantum 105AT for it. -Mark Holden l00017@eeyore.stcloud.msus.edu --[0400]-- [0403] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 01/15/92 00:29 (15 lines) Subject: Re: linux-0.12 is available Date: Wed, 15 Jan 92 00:22:14 -0500 From: tytso@ATHENA.MIT.EDU (Theodore Ts'o) To: Linux-activists@joker.cs.hut.fi In-Reply-To: [398] Reply-To: tytso@athena.mit.edu Linux 0.12 is available from TSX-11.MIT.EDU. For most U.S. sites, it will be much faster if you grab the distribution from TSX-11 than from nic.funet.fi. I will grab the 0.12 libc.a sources and include file, and any other ancilliary files as soon as they become available on nic.funet.fi. - Ted --[0403]-- (pref = [0398]) [0404] daemon@ATHENA.MIT.EDU (Morgan Schweers) Linux_Activists 01/15/92 01:10 (18 lines) Subject: SCSI question Date: Tue, 14 Jan 92 22:03:25 PST From: mrs@netcom.com (Morgan Schweers) To: linux-activists@joker.cs.hut.fi Greetings, Being a novice at fun stuff like kernel development and device driver design, I'd like to know under what circumstances I'd need a SCSI driver. I have a 20Meg floptical disk drive that MS/DOS thinks is just another drive. No device drivers are needed, etc... It is, however, a SCSI device. Does this mean that I'll need a driver for it under Linux? Does anyone have any good kernel and driver design books that they can refer me to? -- Morgan Schweers --[0404]-- [0405] daemon@ATHENA.MIT.EDU (Robert Blum) Linux_Activists 01/15/92 03:07 (14 lines) Subject: 0.12 available on tupac-amaru.informatik.rwth-aachen.de Date: Wed, 15 Jan 92 08:55:50 +0100 From: blum@cip-s01.informatik.rwth-aachen.de (Robert Blum) To: linux-activists@joker.cs.hut.fi As the subject says, the new boot/rootimages are installed on tupac-amaru. The library stuff will follow as soon as it appears on nic.funet.fi BTW: This means amaru is up and running again.... C U l8r Robert Blum --[0405]-- [0406] daemon@ATHENA.MIT.EDU (Nicolas CAILLAUD ) Linux_Activists 01/15/92 04:21 (13 lines) Subject: Linux & Mgr From: nicolas@cli52fb.edf.fr ( Nicolas CAILLAUD ) To: linux-activists@joker.cs.hut.fi Date: Wed, 15 Jan 92 8:29:37 MET DST Hi * Has someone tried porting MGR to LINUX ? Is it much faster than with Minix ? Thank you all Nicolas --[0406]-- [0407] daemon@ATHENA.MIT.EDU (Simon Marlow) Linux_Activists 01/15/92 05:17 (11 lines) Subject: UK keyboards Date: Wed, 15 Jan 1992 09:53:47 +0000 From: Simon Marlow To: linux-activists@joker.cs.hut.fi Unless I'm wrong, LINUX only have support for Finish and US keyboards, so can somebody give me some pointers as to how to add UK keyboard support to LINUX? Also, am I the first UK 'customer'? Thanks, Simon. --[0407]-- [0408] daemon@ATHENA.MIT.EDU (drew@hazelrah.cs.Colorado.EDU) Linux_Activists 01/15/92 05:29 (271 lines) Subject: Re: SCSI question To: mrs@netcom.com (Morgan Schweers), linux-activists@joker.cs.hut.fi In-Reply-To: Your message of Tue, 14 Jan 92 22:03:25 -0800. Date: Wed, 15 Jan 92 01:18:28 MST From: drew@hazelrah.cs.Colorado.EDU Greetings, Being a novice at fun stuff like kernel development and device driver design, I'd like to know under what circumstances I'd need a SCSI driver. I have a 20Meg floptical disk drive that MS/DOS thinks is just another drive. No device drivers are needed, etc... It is, however, a SCSI device. Does this mean that I'll need a driver for it under Linux? Yes. Most definately. The current SCSI situation is that I'm working on a multi-tiered driver (interference from fried SCSI hosts, family visits, long ski weekends, sysadmin chores and Usenix) with abstract high level disk and tape drivers that interface with low level SCSI drivers in a device independant manner. The low level driver needed for each SCSI host merely has to send SCSI commands and return the results / data to the high level driver- bad block remapping, etc are all handled by the high level driver. The initial low level driver will be for the seagate ST-01 / ST-02 controllers. Other hosts should be fairly easy to adapt to - see the interface spec following this. Does anyone have any good kernel and driver design books that they can refer me to? -- Morgan Schweers -------- Current interface spec for SCSI driver - should have everything (keeping my fingers crossed here) ready within two weeks after Usenix. I've added a command queing function, where the driver is notified on command completion, so that multiple read/writes etc. can be accomplished - much better than the kernel blocking until the read/write was done.... -- hosts.h -- #ifndef __HOST_H__ #define __HOSTS_H__ /* File hosts.h SCSI host adapter include file. */ #define MAX_SCSI_HOSTS 1 /* The Scsi_Host type has all that is needed to interface with a SCSI host in a device independant matter. */ typedef struct { /* The name pointer is a pointer to the name of the SCSI device detected. */ char *name; /* The detect function shall return non zero on detection, and initialize all data necessary for this particular SCSI driver. */ int (* detect)(void); /* The info function will return whatever useful information the developer sees fit. */ char *(* info)(void); /* The command function shall return the SCSI return code in the low 8 bits, a driver error in the high 8 bits. Target is the target ID, IN normal numbers - not a bit. The cmnd is the variable length command to be sent, buff a pointer to the buffer which will be read from / written to, and bufflen the length of that buffer */ int (* command)(unsigned char target, const void *cmnd, void *buff, int bufflen); /* The QueueCommand function works in a similar manner to the command function. It takes an additional parameter, void (* done)(int code) which is passed the exit result when the command is complete. */ int (* queuecommand)(unsigned char target, const void *cmnd, void *buff, int bufflen, void (*done)(int)); /* present contains a flag as to weather we are present - so we don't have to call detect multiple times. */ unsigned char present; } Scsi_Host; /* The scsi_hosts array is the array containing the data for all possible scsi hosts. */ extern Scsi_Host scsi_hosts[MAX_SCSI_HOSTS]; /* scsi_init initializes the scsi hosts. */ void scsi_init(void); #endif --- scsi.h --- #ifndef __SCSI_H__ #define __SCSI_H__ /* For documentation on the OPCODES, MESSAGES, and SENSE values, please consult the SCSI standard. */ /* SCSI opcodes */ #define TEST_UNIT_READY 0x00 #define REZERO_UNIT 0x01 #define REQUEST_SENSE 0x03 #define FORMAT_UNIT 0x04 #define REASSIGN_BLOCKS 0x07 #define READ_6 0x08 #define WRITE_6 0x0a #define SEEK 0x0b #define INQUIRY 0x12 #define MODE_SELECT 0x15 #define RESERVE 0x16 #define RELEASE 0x17 #define COPY 0x18 #define MODE_SENSE 0x1a #define START_STOP 0x1b #define RECIEVE_DAIGNOSTIC 0x1c #define SEND_DIAGNOSTIC 0x1d #define ALLOW_MEDIUM_REMOVAL 0x1e #define READ_CAPACITY 0x25 #define READ_10 0x28 #define WRITE_10 0x2a #define SEEK_10 0x2b #define WRITE_VERIFY 0x2e #define VERIFY 0x2f #define SEARCH_HIGH 0x30 #define SEARCH_EQUAL 0x31 #define SEARCH_LOW 0x32 #define SET_LIMITS 0x33 #define COMPARE 0x39 #define COPY_VERIFY 0x3a /* MESSAGE CODES */ #define COMMAND_COMPLETE 0x00 #define EXTENDED_MESSAGE 0x01 #define SAVE_POINTERS 0x02 #define RESTORE_POINTERS 0x03 #define DISCONNECT 0x04 #define INITIATOR_ERROR 0x05 #define ABORT 0x06 #define MESAGE_REJECT 0x07 #define NOP 0x08 #define MSG_PARITY_ERROR 0x09 #define LINKED_CMD_COMPLETE 0x0a #define LINKED_FLG_CMD_COMPLETE 0x0b #define BUS_DEVICE_RESET 0x0c #define IDENTIFY 0x80 /* Our errors returned by OUR driver, NOT SCSI message. Orr'd with SCSI message passed back to driver . */ /* NO error */ #define DID_OK 0x0000 /* Couldn't connect before timeout period */ #define DID_NO_CONNECT 0x0100 /* BUS stayed busy through time out period */ #define DID_BUS_BUSY 0x0200 /* TIMED OUT for other reason */ #define DID_TIME_OUT 0x0300 /* ERROR from TARGET */ #define DID_TERROR 0x0400 /* TARGET was busy */ #define DID_TBUSY 0x0500 /* TARGET disconnected prematurely */ #define DID_TDISCONNECT 0x0600 /* TARGET was off line */ #define DID_TOFFLINE 0x0700 /* TARGET wants US to send IT a message */ #defibe DID_TREQ_MSG_OUT 0x0800 /* TARGET parity error */ #define DID_TPARITY 0x0900 /* TARGET requested reselect */ #define DID_TRESELECT 0x0A00 /* TARGET was not in the range 0-6 inlclusive */ #define DID_BAD_TARGET 0x0B00 /* SENSE KEYS */ #define NO_SENSE 0x00 #define RECOVERED_ERROR 0x01 #define NOT_READY 0x02 #define MEDIUM_ERROR 0x03 #define HARDWARE_ERROR 0x04 #define ILLEGAL_REQUEST 0x05 #define UNIT_ATTENTION 0x06 #define DATA_PROTECT 0x07 #define BLANK_CHECK 0x08 #define COPY_ABORTED 0x0a #define ABORTED_COMMAND 0x0b #define VOLUME_OVERFLOW 0x0d #define MISCOMPARE 0x0e /* DEVICE TYPES */ #define TYPE_DISK 0x00 #define TYPE_TAPE 0x01 #define TYPE_WORM 0x04 /* Treated as ROM by our system */ #define TYPE_ROM 0x05 #define TYPE_NO_LUN 0x7f /* Every SCSI command starts with a one byte OP-code. The next byte's high three bits are the LUN of the device. Any multi-byte quantities are stored high byte first, and may have a 5 bit MSB in the same byte as the LUN. */ #endif --[0408]-- [0409] daemon@ATHENA.MIT.EDU (John T Kohl) Linux_Activists 01/15/92 12:12 (19 lines) Subject: Re: linux sockets and stuff Date: Wed, 15 Jan 92 08:47:28 -0800 To: ury segal Cc: linux-activists@joker.cs.hut.fi In-Reply-To: ury segal's message of Wed, 15 Jan 92 16:41:57 +0200, From: John T Kohl Reply-To: jtkohl@cs.Berkeley.EDU > From: ury segal > Date: Wed, 15 Jan 92 16:41:57 +0200 > I understood U R writing the linux socket liberary. When will it be ready ? I've said this on the list before, and I'll say it again now. I am NOT working on BSD networking. I _WAS_ doing some work to port various utilities that come on the BSD networking _release_. John --[0409]-- [0410] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 01/15/92 13:15 (83 lines) Subject: the rest of the linux-0.12 distribution Date: Wed, 15 Jan 1992 19:49:55 +0200 From: Linus Benedict Torvalds To: Linux-activists@joker.cs.hut.fi Ok, I have uploaded the rest of the linux distribution to nic.funet.fi. They aren't visible yet, but I guess they'll show up tomorrow or so. The new files are: - fileutil.tar.Z, which contains most of the GNU fileutils. It's not the latest release, so if you want that, you'll have to compile it for linux. No source changes, but a lot of -DSTPCPY_MISSING etc in the makefiles. - hd.c. I have gotten one problem report already about hd-handling in 0.12. This is a correction to kernel/blk_drv/hd.c, and should hopefully correct the problem. There was also a problem with a second harddisk not working although the first one did: I think I found the problem, and fixed it. If you cannot get linux operating at all (but the bug wasn't that severe, I think), and are thus unable to recompile it, mail me. - include.tar.Z. Yes. Yet another include.tar.Z. I don't save old versions, so I don't do cdiffs :(. I still expect patches to be cdiffs. Bastard, ain't I? - lib.tar.Z. The library sources. - libc.a.Z. Compiled libc.a - mkswap. This should have been on the root-diskette, but was forgotten. See description in RELNOTES. - system.tar.Z. The latest sources to the system files: mkswap, mkfs, fsck and fdisk. - utils.tar.Z. Contains a new tar (you can use the old one to untar this, but this should understand about symbolic links etc), make, uemacs and some minor programs (sed and basename I think). The old utilbin.tar.Z file should be replaced by 'fileutil' and 'utils'. The old include.tar.Z, libc.a library.tar.Z should be replaces by their newer versions. The old uemacs.Z, bash.Z can also be removed from the archives. There is some overlapping between these files and the root-diskette (and older versions of linux). And over to other things: Someone asked on comp.os.minix how to move non-tar files to a linux partition: the INSTALL-0.11 told about tar-files, but not about things like libc.a. The easiest answer is to tar the single file into a tar-file, and then the problem is reduced to something we can handle. Another possibility is to use the mtools package, but there were so many questions about it the last time that I'm not even going to mention it this time around. A third possibility is to just write the file to a floppy using rawrite.exe or NU or something, and then reading the floppy and truncating at the filelength. This means you have to remember how long the file was. Truncation can be done by 'dd' or by 'head -c'. And one warning... There are easy ways to make fsck report errors on your harddisk that were introduced with the demand-loading in 0.11. It's not a bug, but I thought I'd warn everyone: While a program is running, it's inode is marked in use. Thus if you delete a running command, it seems to be gone, but the file is still there (standard unix practice). Sync a thousand times, and the file will still not be really deleted until the inode no longer is in use: This may not happen if the file was /bin/update or /bin/sh. The result is that if you reboot with a deleted file in use, fsck will wanr about a lot of unused blocks that are marked in use. No problem, 'fsck -a' repairs it, and it /really/ isn't a bug, it's just that we haven't got something like shutdown yet that sees to these kinds of problems. Linus --[0410]-- [0411] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 01/15/92 14:16 (31 lines) Subject: Re: raw disk device Date: Wed, 15 Jan 92 13:58:51 -0500 From: tytso@ATHENA.MIT.EDU (Theodore Ts'o) To: Peter Gober Cc: linux-activists@joker.cs.hut.fi, erweka@cs.tu-berlin.de In-Reply-To: Peter Gober's message of Wed, 15 Jan 92 19:48:32 MET, Reply-To: tytso@athena.mit.edu From: Peter Gober Date: Wed, 15 Jan 92 19:48:32 MET Having not much knowledge about UNIX devices I tried to port "mtools", a PD collection of MS-DOS read/write-tools for Unix. It compiled well, but didn't work, obviously, because it requires a raw disk device instead of a block disk device. A driver for this seems to be missing from the Linux kernel. No, you can just use the block disk device. It's already been ported to Linux, however. (although it's pretty easy to port) On TSX-11.MIT.EDU: /pub/linux/ports/mtools-patches.tar --- contains some patches to make mtools compile on linux and to add support of > 32 Meg DOS hard disk partitions. /pub/linux/sources/usr.bin/mtools_sh.?.Z --- contains the latest version of the mtools package - Ted --[0411]-- [0412] daemon@ATHENA.MIT.EDU (Peter Gober) Linux_Activists 01/15/92 14:17 (20 lines) Subject: raw disk device From: Peter Gober To: linux-activists@joker.cs.hut.fi Date: Wed, 15 Jan 92 19:48:32 MET Cc: erweka@cs.tu-berlin.de (Reinhard Koehn) Running Linux on an IBM PC, what could more interesting than being able to read/write MS-DOS diskettes directly? Having not much knowledge about UNIX devices I tried to port "mtools", a PD collection of MS-DOS read/write-tools for Unix. It compiled well, but didn't work, obviously, because it requires a raw disk device instead of a block disk device. A driver for this seems to be missing from the Linux kernel. I am not able to write this driver, but would be very thankful if someone could tell me whether I did something wrong, or would write it (it can't be difficult for one of those experiences Unix hackers...). Thank you. Peter (qed@cs.tu-berlin.de) --[0412]-- [0413] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 01/15/92 14:58 (82 lines) Subject: console problems Date: Wed, 15 Jan 92 11:43:06 PST From: pmacdona@sanjuan.UVic.CA (Peter MacDonald) To: linux-activists@joker.cs.hut.fi There are a few small anoyances in the console patches for VC. All in all, .12 is an amazing leap over .11. First, to the termcap, you should add to your termcap entry, :rs=\Ec: This defines the reset string. Otherwise, window sizes etc hang around. It seems some systems define \E> instead of \Ec, but this according to DEC (who created vt100) is to reset to application keypad. So console uses \Ec. Argg. Second, autodectection correctly identifies my ATI card, but only supports 132 line mode, which my monitor (and preferences) don't. So, anyone know the correc mode to use? The old code I have has to use int 10 twice, once to set the mode and once to set the font. Also a termcap entry for 50 line mode needs to be added. Screen dumping isn't working cause the handler in tty_ioctl.c didn't make make it through Linus's vicous editing. Screen blanking ditto. I note that when at the bottom of the screen now, hitting enter causes an unpleasant jitter on the screen, in VC. This is probably as a result of using Video memory. I plan on posting a patch (as soon as I get time) that will let you use ram buffers instead of video ram, as a conditional compile. It turns out that when X shows up, we will need buffers to store video contents in anyways, but ... The problem is that the screen size can be determined dynamically at boot time. This is nice, but I think a conditional compile should be added to setup.S to allow the individual to select a screen dimension as the default, either with a timeout upon selection, or with just a hardcoded one videomode. ie #define DEFAULT_VIDEO_MODE ati3 #ifdef DEFAULT_VIDEO_MODE ati3 use ati3 as default #else use detection, (maybe default to 80x25 if timeout) #endif The other problem with my old console.c was that the buffer size had to be hard coded. This was tough to do when the screen dimensions could vary dynamically. My new approach will be: /*#define RAM_BUFFER_SIZE (MAX_CONSOLES*MAX_COLS*MAX_ROWS)*/ #ifdef RAM_BUFFER_SIZE static short vc_video_buf[RAM_BUFFER_SIZE]; #endif This will allow each individual to either specify exactly how much precious kernel memory they want to give up or, how many consoles they desire of whic maximum dimensions, all without modifying code. This will also allow VC to work with non EGA/VGA, not a problem for me, but no good reason to exclude them. It will also allow screen blanking to work on all systems, again. None of this should be too tough, since Linus has already done all the knotty work of dividing up a single big buffer. And when X (or MGR) comes, coexistance should be easy. Finally, setterm.c will be changed to no longer consult your terminal type. Else, you will note that con132x44 does not allow setterm to do anything. Sorry about all this mess, but due to my situation (sob, sob), I don't have all that much time to devote to Linux. Most of the stuff I submitted to Linus was, shall we say, half baked, but well intentioned. But I am ecstatic to play any part in it. In fact, it looks like Linus and I, between us, have managed to pound out a design for shared libraries that is excruciatingly simple to implement. That is what I will be working on next, (unless Linus beets me to the punch). --[0413]-- [0414] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 01/15/92 15:27 (29 lines) Subject: policy for accepting patches to 0.12 Date: Wed, 15 Jan 1992 22:09:37 +0200 From: Linus Benedict Torvalds To: Linux-activists@joker.cs.hut.fi Ok, I forgot to mention this in my last post, but I'm afraid I'll have to warn all of you that want to implement a new feature: I will not accept big non-localized patches to 0.12. This doesn't mean you cannot implement something neat, but it does mean that it probably won't be in 0.13 unless it's so neat I cannot live without it. There are good reasons for this: I'll have to do some studuing that I missed the last semester due to working on linux, and the courses start tomorrow. That was one of the reasons for the fixed release-date of the current version. Also, VFS support (which is missing in 0.12, although there were alpha-patches for it) will probably be implemented for 0.13, and I need a relatively clean kernel for that: as pmacdona found out, the patches that get in put after other patches have to be extensively edited to fit. This does NOT mean that I won't accept bug-reports and patches. Also, it doesn't mean I won't accept the init/login package: I assume that won't touch the kernel very much. I hope this won't be a big problem: most of the things people wanted are in 0.12. And with VFS we'll eventually get the longer filenames that was also high on the list of wanted things. Linus --[0414]-- [0416] daemon@ATHENA.MIT.EDU (Steve McCoole ) Linux_Activists 01/15/92 16:42 (20 lines) Subject: Adaptec SCSI driver work underway? From: smm@acd4.acd.com ( Steve McCoole ) To: linux-activists@joker.cs.hut.fi Date: Wed, 15 Jan 92 15:37:13 EST Greetings, Does anyone know of any current work underway on a Linux SCSI driver for the Adaptec 154x series? I'd really be interested in Linux but all I have available to me is a SCSI drive ( have to cross-develop and experiment on the same disk, not good.. ). I'm also not really clear on what type of setup was needed under Minix(?) to do cross development for Linux if I under took working on this myself. Thanks! Steve -- Steve McCoole | smm@acd4.acd.com / uunet!acd4!smm Applied Computing Devices, Inc. Terre Haute, IN "The Silicon Cornfield" --[0416]-- [0417] daemon@ATHENA.MIT.EDU (drew@hazelrah.cs.Colorado.EDU) Linux_Activists 01/15/92 18:17 (30 lines) Subject: Re: Adaptec SCSI driver work underway? To: smm@acd4.acd.com ( Steve McCoole ), linux-activists@joker.cs.hut.fi In-Reply-To: Your message of Wed, 15 Jan 92 15:37:13 -0500. Date: Wed, 15 Jan 92 15:57:59 MST From: drew@hazelrah.cs.Colorado.EDU Greetings, Does anyone know of any current work underway on a Linux SCSI driver for the Adaptec 154x series? I'd really be interested in Linux but all I have available to me is a SCSI drive ( have to cross-develop and experiment on the same disk, not good.. ). I'm also not really clear on what type of setup was needed under Minix(?) to do cross development for Linux if I under took working on this myself. Thanks! Steve -- Steve McCoole | smm@acd4.acd.com / uunet!acd4!smm Applied Computing Devices, Inc. Terre Haute, IN "The Silicon Cornfield" -------- If it hasn't been lost, you might want to write the low level interface part of what i'm working on - I've got disk and tape drivers on the way that are independant of the SCSI host and low level software. The final (I think) revision of the interface hosts.h and scsi.h files were posted to the mailing list. --[0417]-- [0418] daemon@ATHENA.MIT.EDU (Tad Hunt) Linux_Activists 01/15/92 18:21 (15 lines) Subject: Linux-0.12 From: hunt@cthulhu.control.com (Tad Hunt) To: linux-activists@joker.cs.hut.fi Date: Wed, 15 Jan 92 17:59:23 EST I'm having a problem booting the new Linux 0.12 bootimage disk. I downloaded it, uncompressed and wrote it to a 1.44MB disk with RaWrite. Unfortunately, when I boot, I get this: (some IBM graphics character) Loa And the system halts. I don't know what's wrong since Linux-0.11 worked fine. Does this have something to do with the graphics card detection? I have an ET4000-based SVGA card, if that matters. Any suggestions? --[0418]-- [0419] daemon@ATHENA.MIT.EDU (Tad Hunt) Linux_Activists 01/15/92 18:33 (21 lines) Subject: Re: Linux-0.12 From: hunt@cthulhu.control.com (Tad Hunt) To: drew@hazelrah.cs.Colorado.EDU Date: Wed, 15 Jan 92 18:17:45 EST Cc: linux-activists@joker.cs.hut.fi In-Reply-To: <199201152316.AA07001@hazelrah.cs.Colorado.EDU>; from "drew@hazelrah.cs.Colorado.EDU" at Jan 15, 92 4:16 pm > Has linux bootstrapped (Ie the loading..... mesage finished)? > > Do you get hex numbres too - or a single character? > > > No, that's the problem... It starts to say "Loading..." but only gets to "Loa" when it freezes. At first I thought it was a bad download but I went and downloaded the file again, compared the file size to the original but it still won't work. So basically I get a single graphics character (same one every time) and "Loa" and that's it. --[0419]-- [0420] daemon@ATHENA.MIT.EDU (drew@hazelrah.cs.Colorado.EDU) Linux_Activists 01/15/92 18:34 (37 lines) Subject: Re: Linux-0.12 To: hunt@cthulhu.control.com (Tad Hunt) Cc: linux-activists@joker.cs.hut.fi In-Reply-To: Your message of Wed, 15 Jan 92 18:17:45 -0500. Date: Wed, 15 Jan 92 16:24:05 MST From: drew@hazelrah.cs.Colorado.EDU -------- > Has linux bootstrapped (Ie the loading..... mesage finished)? > > Do you get hex numbres too - or a single character? > > > No, that's the problem... It starts to say "Loading..." but only gets to "Loa" when it freezes. At first I thought it was a bad download but I went and downloaded the file again, compared the file size to the original but it still won't work. So basically I get a single graphics character (same one every time) and "Loa" and that's it. -------- Your binary is corrupt - Loading is printed in a single int 10h call, so at least that much should be printed. The graphics character and hang would indicate the boot sector had been corrupted. You might examine it with debug or NU and look at the Loading message, etc, and compare a disassembly to the source. probably isn't getting to the first int 13h call. --[0420]-- [0421] daemon@ATHENA.MIT.EDU (Jon Tombs) Linux_Activists 01/15/92 19:16 (38 lines) Subject: Linux install Date: Wed, 15 Jan 1992 23:15:00 +0000 From: Jon Tombs To: linux-activists@joker.cs.hut.fi :->From simonm%uk.ac.glasgow.dcs@fi.hut.santra Wed Jan 15 23:32:57 1992 :->Also, am I the first UK 'customer'? Maybe not :-). I've just got round to installing linux on my hard disk, after being suitably impressed with the 0.11 bootable images. I've today ordered a second disk so until that arrives I'm sorry that I won't be doing any programing. A couple of points: In the INSTALL documents it asks you to (in a for loop): cp -r /dev /user Not surprisingly this hangs as cp trys to read the devices and doesn't cp special devices (well it didn't for me!). Can I suggest the documentation changes to: uncompress < /usr/bin/tar.Z > /user/tar /user/tar xf - bin dev etc usr tmp | (cd /user ; tar xfv -) which will copy the /dev entries. Also has anyone got the -M (multivolumes) to work? I get EIO at the end of disk and never asked for the next volume. Thanks for a fun time. Jon. --- _________ / UK / _ __ <...!mcsun!ukc!robots.oxford.ac.uk!jon> Uck (_/ (_) / / World --[0421]-- [0425] daemon@ATHENA.MIT.EDU (Robert Blum) Linux_Activists 01/15/92 21:19 (11 lines) Subject: All V0.12 stuff is now available on tupac-amaru Date: Thu, 16 Jan 92 03:09:24 +0100 From: blum@cip-s01.informatik.rwth-aachen.de (Robert Blum) To: linux-activists@joker.cs.hut.fi The subject says it all... And my apologies to all who downloaded the corrupted (0 Byte) bootimage of 0.12 This is corrected now C U l8r Robert Blum --[0425]-- [0426] daemon@ATHENA.MIT.EDU (Teresa Selling) Linux_Activists 01/15/92 22:55 (10 lines) Subject: kermit send/receive From: Teresa Selling To: linux-activists@joker.cs.hut.fi Date: Wed, 15 Jan 92 22:46:21 EST I cannot seem to send/receive files since I started using 0.12 I think the problem lies in the virtual consoles because I know I cannot upload/download when I am rlogged-in to one of my other accounts at school. Is there a way around this? It would be nice to upload/download in the background by using the virtual consoles. Does anyone have any comments or suggestions? --[0426]-- [0427] daemon@ATHENA.MIT.EDU (Teresa Selling) Linux_Activists 01/15/92 23:06 (8 lines) Subject: Availability of additional 0.12 files at tsx-11 Date: Wed, 15 Jan 92 22:53:18 est From: Teresa Selling To: linux-activists@joker.cs.hut.fi Does anyone know when the fileutil.tar.Z utils.tar.Z ... new include and library files for ver 0.12 will be available at tsx-11?  --[0427]-- [0428] daemon@ATHENA.MIT.EDU (boltonja@cs.rose-hulman.edu) Linux_Activists 01/15/92 23:21 (14 lines) Subject: virtual consoles? Date: Wed, 15 Jan 92 23:14:19 EST From: boltonja@cs.rose-hulman.edu To: linux-activists@joker.cs.hut.fi Can someone please tell me how to use the virtual consoles under Linux? I can switch to the alternate consoles, but there is no command prompt. I am relatively new to the Unix world, so I am probably missing something simple. Also, how do I take advantage of the alternate SVGA screen modes? Thanks. Jerry Bolton, Jr. --[0428]-- [0429] daemon@ATHENA.MIT.EDU (Andrew Gillham) Linux_Activists 01/15/92 23:43 (61 lines) Subject: Re: Linux Date: Wed, 15 Jan 92 23:35:49 -0500 From: gillham@edmund.cs.andrews.edu (Andrew Gillham) To: tim@maths.tcd.ie In-Reply-To: <1992Jan13.141829.2257@maths.tcd.ie> Cc: linux-activists@joker.cs.hut.fi In article <1992Jan13.141829.2257@maths.tcd.ie> you write: >Is any independent person actually running Linux, >and can give an opinion on its merits >vis-a-vis 386-Minix? I've used both, Minix386 about 6months ago, Linux for the last month. Linux is a lot faster I feel, and ports better according to people on the mailing list. It is compiled with gcc, and feels pretty stable and solid. I would suggest you give it a go for a couple of days and see how you like it. >While I could be convinced on this, >it seems to me pretty unlikely on the face of it >that anyone could really write a reliable operating system >from scratch in a short time. >After all, it took Tanenbaum years to write Minix, >and he worked night and day without stop, >and had a team working under him too. >One only has to look at the sources >to see the sheer intellectual work involved >in such an enterprise. Then Linus is a f**king code poet. I don't know how long he's been working on it, but if it's been "months" I'd be *super* impressed! Right now I'm just real impressed.. :-) Seriously though there have been quite a few contributions from other net.code.poets to Linux so it's not like it was a total one man effort, though Linus seems to have done most the core operating system stuff. I'd suggest you send a note to "linux-activists-request@joker.cs.hut.fi" and ask to be put on the mailing list if you're real interested or that you just download linux itself and play with it or read some of the release notes and/or code if you're just mildly intrigued. I don't have a lot of time to dedicate to development (ok, none really) but I *really* like the idea of a free, evolving (rapidly) UNIX clone that isn't "owned" by a big company like Prentice-Hall and has all the hassles (and costs) that come along with commercialization. It's Linus' system but because it's free (except for your net connections) I think it has the potential to become a popular, well supported (ports) system.. (ok, I got carried away..basic thought: I like it!) >Timothy Murphy >e-mail: tim@maths.tcd.ie >tel: +353-1-2842366 >s-mail: School of Mathematics, Trinity College, Dublin 2, Ireland -Andrew -- ===================================================================== Andrew Gillham ****** Andrews University ****** (gillham@andrews.edu) I would've added a cool .signature, but I already mailed this letter. --[0429]-- [0430] daemon@ATHENA.MIT.EDU (Humberto Ortiz-Zuazaga) Linux_Activists 01/15/92 23:49 (31 lines) Subject: Re: virtual consoles? Date: Wed, 15 Jan 92 23:37:48 EST From: zuazaga@ucunix.san.uc.EDU (Humberto Ortiz-Zuazaga) In-Reply-To: <9201160414.AA17439@cs.rose-hulman.edu>; from To: boltonja@cs.rose-hulman.edu Cc: linux-activists@joker.cs.hut.fi (Linux activists) Reply-To: zuazaga@ucunix.san.uc.EDU X-Envelope-To: linux-activists@joker.cs.hut.fi boltonja@cs.rose-hulman.edu wrote: > Can someone please tell me how to use the virtual consoles under > Linux? I can switch to the alternate consoles, but there is no command > prompt. I am relatively new to the Unix world, so I am probably missing > something simple. first do: doshell /dev/tty2 sh & Then switch to tty2 (Left ALT - F2) and bingo! Shell prompt. This is real neat. By the way, in case any of you were wondering, your serial ports are now on /dev/tty64 and /dev/tty65. > Also, how do I take advantage of the alternate SVGA screen modes? I pass on this one. -- Humberto Ortiz-Zuazaga INTERNET: zuazaga@ucunix.san.uc.edu Dept. of Physiology & Biophysics BITNET: picone@ucbeh University of Cincinnati CIS: 72301,2303 --[0430]-- [0431] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 01/16/92 00:32 (66 lines) Subject: Re: Availability of additional 0.12 files at tsx-11 Date: Thu, 16 Jan 92 00:26:51 -0500 From: tytso@ATHENA.MIT.EDU (Theodore Ts'o) To: Teresa Selling Cc: linux-activists@joker.cs.hut.fi In-Reply-To: Teresa Selling's message of Wed, 15 Jan 92 22:53:18 est, Reply-To: tytso@athena.mit.edu Date: Wed, 15 Jan 92 22:53:18 est From: Teresa Selling Does anyone know when the fileutil.tar.Z utils.tar.Z ... new include and library files for ver 0.12 will be available at tsx-11? They're there now. My apologies for the delay. First it took a while because I couldn't log into nic.funet.fi (because too foreign users were logged in), and then I was away at a wine tasting class (we did white wines tonight; yum! :-) Also, someone (qpliu@phoenix.prinnceton.edu from the source files) has uploaded to TSX-11 a quick and dirty implementation of init/login. I've placed it in ~ftp/pub/linux/sources/sbin on TSX-11, and I've also forwarded a copy to nic.funet.fi. It looks pretty minimal and bare-bones (it doesn't appear to support run levels), but it appears to be functional. Perhaps this and the other init development efforts can be merged together, with the best code being taken from each. The README file for the qpl init/login follows: ------------------------------------------------------------------ Although there are other people working on init/getty/login, I couldn't wait. Being dumped into root is not so nice. There is no getty here. I put /bin/login in the getty field of /etc/ttytab. What is here: a patch to init/main.c that makes it exec /etc/init. init.c getttyent.c getttynam.c ttyent.h (from BSD) login.c init.c: written based on sunos init(8) manpage. differences are that the -sb switches are ignored, the window="command" in /etc/ttytab is ignored, runs only /etc/rc and ignores the result code, utmp and wtmp are not updated, SIGTERM is ignored, does not create /etc/ttys, and any undiscovered bugs. since the manpage doesn't say how the getty entry in /etc/ttytab is parsed, using strtok seems reasonable. works for /dev/tty0 in 0.11. should be able to hang terminals off the serial ports, but i can't test it without terminals or cables. getttyent.c, getttynam.c, ttyent.h: functions to read /etc/ttytab. login.c: does the basic login stuff. accepts and ignores -p switch. uses stuff in getttyent.o and getttynam.o to set TERM. makes a better filler in /etc/ttytab than /bin/sh, making it easier to avoid being root. --[0431]-- [0432] daemon@ATHENA.MIT.EDU (Timothy L. Kay) Linux_Activists 01/16/92 01:21 (59 lines) Subject: Use PERL rather than C for system commands? From: tim@pokey.cs.caltech.edu (Timothy L. Kay) To: linux-activists@joker.cs.hut.fi Date: Wed, 15 Jan 92 22:08:25 -0800 I've been following the Linux discussion with great interest, and I hope to download a copy and try it as soon as I have time. I'd like to make a suggestion to the activists group. The suggestion goes against the grain of typical Unix system administrator philosophy, but I think the suggestion warrants serious consideration. Here is my suggestion. It seems to me that the language PERL is ideal for implementing many of the pieces that are currently missing from Linux. For example, init, getty, login, shutdown, halt, cron, inetd, etc. could very easily be written in PERL rather than C. Most OS-support programs (including the ones mentioned previously) are not time critical. They run very infrequently, and the performance degradation (if there is any) should be inconsequential. There are several advantages to using PERL rather than C. First of all, programs would take up much less disk space and RAM. It is true that the PERL executable must be in RAM in order to run a PERL program, but only one copy ever need be in RAM at any time, and I think the savings elsewhere will more than make up the difference. (On my workstation, the PERL .text section is about 4 times as large as the login .text section. If perhaps four or five memory-resident programs are replaced by PERL scripts, the break-even point is reached.) Also, if the PERL executable is always resident, then loading PERL programs from disk should require very little time. A more obvious advantage is that writing PERL programs is much less time-consuming that writing C programs. This is due to the fact that the compile step gets skipped, and because PERL has a built-in debugger. Third, I find PERL a *much* better script language than either sh or csh. Additionally, PERL contains special support to aid in writing secure programs. It is easier to write secure SUID programs in PERL than it is in C. Finally, PERL scripts are architecture-independent. If Linux ever gets ported to multiple architectures (which I am guessing it will), all support programs written in PERL port with no effort at all. There are several disadvantages to using PERL. First of all, PERL must be ported to Linux. Of course, PERL should be ported to Linux whether or not my suggestion is adopted. PERL is a very *expert* friendly language. Learning to program in PERL involves a steep learning curve. It takes quite a bit of practice to become proficient at writing in PERL. I believe the effort is well spent. --[0432]-- [0433] daemon@ATHENA.MIT.EDU (drew@hazelrah.cs.Colorado.EDU) Linux_Activists 01/16/92 01:57 (17 lines) Subject: Re: virtual consoles? To: linux-activists@joker.cs.hut.fi (Linux activists) Date: Wed, 15 Jan 92 23:42:42 MST From: drew@hazelrah.cs.Colorado.EDU > Also, how do I take advantage of the alternate SVGA screen modes? -------- If your SVGA chipset is supported, you get a prompt to choose a screen mode, or continue for normal EGA operation. (Personally, I like the 132 X 60) --[0433]-- [0434] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 01/16/92 02:19 (20 lines) Subject: PERL Date: Wed, 15 Jan 92 23:14:50 PST From: pmacdona@sanjuan.UVic.CA (Peter MacDonald) To: linux-activists@joker.cs.hut.fi I am a little opposed to using PERL for development. Because. We already are using C for most things. Sh script has to be there because bash is. Everyone would have to become experts in a third language. I mean, as far as I am concerned, I'am a little peaved that sh isn't more like C. Going to PERL will take us even further from the KISS principle. And.. Shared libraries are coming, so executables will be getting smaller, and the break even point for PERL will be increased. Don't get me wrong, DO port PERL. But sell the farm... --[0434]-- [0435] daemon@ATHENA.MIT.EDU (drew@hazelrah.cs.Colorado.EDU) Linux_Activists 01/16/92 02:37 (37 lines) Subject: Re: Use PERL rather than C for system commands? To: tim@pokey.cs.caltech.edu (Timothy L. Kay) Cc: linux-activists@joker.cs.hut.fi In-Reply-To: Your message of Wed, 15 Jan 92 22:08:25 -0800. Date: Thu, 16 Jan 92 00:28:19 MST From: drew@hazelrah.cs.Colorado.EDU It seems to me that the language PERL is ideal for implementing many of the pieces that are currently missing from Linux. For example, init, getty, login, shutdown, halt, cron, inetd, etc. could very easily be written in PERL rather than C. Most OS-support programs (including the ones mentioned previously) are not time critical. They run very infrequently, and the performance degradation (if there is any) should be inconsequential. Can't do standard library calls in perl :( - init, shutdown are definates getty - maybe cron - probably want to use alarms for the next event, so no inetd - we want to use listen, so no Third, I find PERL a *much* better script language than either sh or csh. Agreed! Let's get perl for Linux. Finally, PERL scripts are architecture-independent. If Linux ever gets ported to multiple architectures (which I am guessing it will), all support programs written in PERL port with no effort at all. Non-issue : any of the programs mentioned above, halt excepted (If we are to code in an infinite loop with interrupts disabled) will go no deeper than mayuking system calls. -------- --[0435]-- [0436] daemon@ATHENA.MIT.EDU (Karl Heinz Kremer) Linux_Activists 01/16/92 02:46 (23 lines) Subject: Problems with bootimage Reply-To: kremer@sisd.sisd.Kodak.COM Date: Thu, 16 Jan 92 08:37:05 +0100 From: kremer@sisd.sisd.Kodak.COM (Karl Heinz Kremer) To: linux-activists@joker.cs.hut.fi Hi linux specialists, i've downloaded the linux software yesterday and tried to create the boot disk. I write the bootimage to a 360k and 1.2M disk with rawrite and used both as bootdisk. In both cases i got the following output on my screen: Loading. @X:0404 AX:020A 000 CX:0006 DX:0000. @X:0404 AX:020A and so on. What is my problem? Is the bootimage corrupted, or is my machine not able to hanlde linux (386SX 16MHz)? Thanks for your help Karl Heinz --[0436]-- [0437] daemon@ATHENA.MIT.EDU (drew@hazelrah.cs.Colorado.EDU) Linux_Activists 01/16/92 02:49 (13 lines) Subject: Re: Filesystem To: juan@noyles.pha.pa.us (Juan Jose T. Noyles) Cc: linux-activists@joker.cs.hut.fi In-Reply-To: Your message of Sun, 12 Jan 92 18:13:47 -0500. Date: Thu, 16 Jan 92 00:42:13 MST From: drew@hazelrah.cs.Colorado.EDU Does Linux use the same format as DOS? -------- Nope. Supposedly, it uses a minix file system. --[0437]-- [0438] daemon@ATHENA.MIT.EDU (Mark Denovich) Linux_Activists 01/16/92 03:00 (36 lines) Subject: How to get Started Date: Thu, 16 Jan 1992 02:46:53 -0500 (EST) From: Mark Denovich To: linux-activists@joker.cs.hut.fi Cc: I just learned of Linux today. I have a few questions: What files do I need to get this running? Where? How Much disk space do I need? Does linux support communications? (i.e. Token Ring card) Thanks, Mark Denovich Computer Consultant Carnegie Mellon University @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@ Mark "it's only a small blast furnace" Denovich @@ @=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=@ @ md3z@andrew.cmu.edu or r746md3z @vb.cc.cmu.edu @ @ phone: (412)-268-406 Standard Disclaimers Apply @ @ Quotes: 'Hey I smell smoke' - Eric Furst @ @ 'Aggggh my computer!!!!!' -me @ @ 'fizzle'- computer @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ --[0438]-- [0439] daemon@ATHENA.MIT.EDU (ury segal) Linux_Activists 01/16/92 03:14 (13 lines) Subject: swaping From: ury segal Date: Thu, 16 Jan 92 10:07:23 +0200 To: linux-activists@joker.cs.hut.fi I have a 25Mhz 386 running linux. I have 40M hard disk, which divide into 2 patritions: 32M for the root and (hopefully) 8M for swap. Althow I read in the release note that mkswap is avleable on the root disk, I couldn't find it. Can someone tell me where is it ? Also, What about TCP/IP? s someone working on it? and ; where is /usr/include ? --ury --[0439]-- [0440] daemon@ATHENA.MIT.EDU (IJW11@phx.cam.ac.uk) Linux_Activists 01/16/92 03:14 (9 lines) Subject: No subject found in mail header Date: Wed, 15 Jan 92 14:56:28 GMT From: IJW11@phx.cam.ac.uk To: linux-activists@joker.cs.hut.fi I'm interested in a UK keyboard too. The American one is infuriating. I've just repaired my machine (faulty RAM) so I have enough memory to compile, so I can probably do one within two days or so. Ian Wells. --[0440]-- [0441] daemon@ATHENA.MIT.EDU (IJW11@phx.cam.ac.uk) Linux_Activists 01/16/92 03:17 (8 lines) Subject: No subject found in mail header Date: Tue, 14 Jan 92 02:59:22 GMT From: IJW11@phx.cam.ac.uk Apparently-To: Linux-activists@niksula.hut.fi Has anybody done a British keyboard yet? The American one is getting infuriating. I'll do one if no-one else has, but I'm lazy... 8-) Ian Wells --[0441]-- [0442] daemon@ATHENA.MIT.EDU (Rwo-Hsi Wang) Linux_Activists 01/16/92 03:18 (12 lines) Subject: Linux and ESDI From: rhwang@cs.utexas.edu (Rwo-Hsi Wang) Date: Thu, 16 Jan 1992 02:08:19 -0600 To: linux-activists@joker.cs.hut.fi Does Linux support ESDI hard drive? I checked the mail archive of Linux but couldn't find an absolute confirmation to this question. (Linus put "ESDI drives should work ok, but ...". Another person mentioned that his/her ESDI drive didn't seem to like Linux.) Thanks. Rwo-Hsi --[0442]-- [0443] daemon@ATHENA.MIT.EDU (Rwo-Hsi Wang) Linux_Activists 01/16/92 03:23 (12 lines) Subject: Linux and ESDI From: rhwang@cs.utexas.edu (Rwo-Hsi Wang) Date: Thu, 16 Jan 1992 02:08:19 -0600 To: linux-activists@joker.cs.hut.fi Does Linux support ESDI hard drive? I checked the mail archive of Linux but couldn't find an absolute confirmation to this question. (Linus put "ESDI drives should work ok, but ...". Another person mentioned that his/her ESDI drive didn't seem to like Linux.) Thanks. Rwo-Hsi --[0443]-- [0444] daemon@ATHENA.MIT.EDU (Mika Matti Jalava) Linux_Activists 01/16/92 03:30 (28 lines) Subject: Re: Linux and ESDI From: Mika Matti Jalava To: linux-activists@joker.cs.hut.fi Date: Thu, 16 Jan 92 10:19:51 EET In-Reply-To: <9201160808.AA25887@cs.utexas.edu>; from "Rwo-Hsi Wang" at Jan 16, 92 2:08 am > Does Linux support ESDI hard drive? I checked the mail archive of Linux > but couldn't find an absolute confirmation to this question. (Linus put > "ESDI drives should work ok, but ...". Another person mentioned that his/her > ESDI drive didn't seem to like Linux.) I have been writing about my ESDI disk every now and then. Now it SEEMS to work OK, but be warned: if I get any read errors, the system just hangs, doesn't even boot with ctrl-alt-del. Also I had to remove the printk statement in hd.c that puts "unexpected hd interrupt" on the screen, because I was getting so many of those messages that sometimes I couldn't see anything else on the screen. Luckily I had other drives to compile a new system. I am going to try fixing the driver so that the interrupt gets handled as it should, but it might take some time as I'm not experienced systems programmer. Anyway, the hd driver LOOKS simple enough for me to try. But first I have to find some info on the ESDI controller, so I'll know what it wants. In the meantime, you should be able to use ESDI drives, if you can live with these nuisances. Mika --[0444]-- [0445] daemon@ATHENA.MIT.EDU (ury segal) Linux_Activists 01/16/92 03:31 (13 lines) Subject: swaping From: ury segal Date: Thu, 16 Jan 92 10:07:23 +0200 To: linux-activists@joker.cs.hut.fi I have a 25Mhz 386 running linux. I have 40M hard disk, which divide into 2 patritions: 32M for the root and (hopefully) 8M for swap. Althow I read in the release note that mkswap is avleable on the root disk, I couldn't find it. Can someone tell me where is it ? Also, What about TCP/IP? s someone working on it? and ; where is /usr/include ? --ury --[0445]-- [0446] daemon@ATHENA.MIT.EDU (ury segal) Linux_Activists 01/16/92 03:53 (13 lines) Subject: swaping From: ury segal Date: Thu, 16 Jan 92 10:07:23 +0200 To: linux-activists@joker.cs.hut.fi I have a 25Mhz 386 running linux. I have 40M hard disk, which divide into 2 patritions: 32M for the root and (hopefully) 8M for swap. Althow I read in the release note that mkswap is avleable on the root disk, I couldn't find it. Can someone tell me where is it ? Also, What about TCP/IP? s someone working on it? and ; where is /usr/include ? --ury --[0446]-- [0447] daemon@ATHENA.MIT.EDU (drew@kinglear.cs.colorado.edu) Linux_Activists 01/16/92 03:53 (95 lines) Subject: Re: Problems with bootimage To: kremer@sisd.sisd.kodak.com Cc: linux-activists@joker.cs.hut.fi In-Reply-To: Your message of Thu, 16 Jan 92 08:37:05 +0100. Date: Thu, 16 Jan 92 01:41:02 MST From: drew@kinglear.cs.colorado.edu Hi linux specialists, i've downloaded the linux software yesterday and tried to create the boot d isk. I write the bootimage to a 360k and 1.2M disk with rawrite and used bot h as bootdisk. In both cases i got the following output on my screen: Currently, unless you patch the boot image, Linux will not boot off of a 360K disk in a 1.2M drive. Messy-Loss hard codes the number of sectors into the boot image, where as Linux finds the number from the BIOS. Problem is that the BIOS returns the MAXIMUM capacity of the drive, not what the current disk has on it. As far as the 1.2, the error dump shows that it was probably formatted as a 360K disk. This is the error dump code, working perfectly in the MASM version of the source, binged by me on the translation back to Unix assembler (Perl script was one way.) I should probably explain it : The loading prompy prints one '.' for each track read, before it is read. The Loading. means a read was attempted on the first track Loading. I left off a conditional jump in the translation to Bruce's assembler syntax, so a register was printed where it should have been, but the first hex number is the return code (from AX) of the failed int 0x13. ah = error code, 4, I believe sector not found? al = sectors successfully read. @X:0404 After that, the registers as they were on entry to the int 0x13 call are printed so we know exactly what is going on. AX:020A 000 CX:0006 DX:0000. AH = 2 read AL = sectors requested bx = address CL is the starting sector, 6 CH is the track DH is the head DL is the disk This means that the read of ten sectors, starting at sector 6 head 0 disk 0 cylinder 0 failed after successfully reading four sectors starting at sector 6. Means sector 10 was not found, 9 sector diskette, or perhaps CMOS setup wrong. Try reformatting a disk with format a: /n:15 /t:80 and rawrite to that. CMOS setting of the floppy. @X:0404 AX:020A K eeps retrying. and so on. What is my problem? Is the bootimage corrupted, or is my machine not able to hanlde linux (386SX 16MHz)? Thanks for your help Karl Heinz Floppy disk problem, no more. -------- Well, I'll fix the cosmetics of the error dump, and can also fix it so that if a sector is not found, it changes sector count to that, so it can adjust itself to 9 sector disks. Any other sugestions? --[0447]-- [0448] daemon@ATHENA.MIT.EDU (Nicolas CAILLAUD ) Linux_Activists 01/16/92 04:19 (9 lines) Subject: Re: Linux & Mgr From: nicolas@cli52fb.edf.fr ( Nicolas CAILLAUD ) To: linux-activists@joker.cs.hut.fi Date: Thu, 16 Jan 92 8:38:24 MET DST MGR is the Bellcore Window Manager See Comp.os.minix, certainly also comp.sources.unix Nicolas --[0448]-- [0451] daemon@ATHENA.MIT.EDU (Lars Wirzenius) Linux_Activists 01/16/92 05:41 (11 lines) Subject: Re: Linux Date: Thu, 16 Jan 92 12:27:46 +0200 From: wirzeniu@cs.Helsinki.FI (Lars Wirzenius) To: tim@maths.tcd.ie, gillham@edmund.cs.andrews.edu Cc: linux-activists@joker.cs.hut.fi > Then Linus is a f**king code poet. I don't know how long he's been > working on it, but if it's been "months" I'd be *super* impressed! > Right now I'm just real impressed.. :-) I think he's been at it since about April, 1991. Can't be much longer than that, since he didn't get a 386 until spring 1991. --[0451]-- [0452] daemon@ATHENA.MIT.EDU (Jack Dunn) Linux_Activists 01/16/92 07:44 (14 lines) Subject: Obtaining Linux Date: Thu, 16 Jan 92 07:31:27 EST From: Jack Dunn To: Linux-Activists@joker.cs.hut.fi I am interested in obtaing the source to Linux. Could you please tell where I can ftp the sources from. I am also interested in being added to your mailing list. Jack Dunn jack@headless.larc.nasa.gov (128.155.20.25) --[0452]-- [0453] daemon@ATHENA.MIT.EDU (ury segal) Linux_Activists 01/16/92 08:39 (11 lines) Subject: easyest way From: ury@mosque.huji.ac.il (ury segal) Date: Thu, 16 Jan 92 15:06:03 +0200 To: linux-activists@joker.cs.hut.fi What is the easyest way to move files from my sun to the linux machine? I'm tyerd of using the diskkets, so I thout to use the RS232 port I have, and connect it to the Sun's, and use kermit. Does someone ever tryed that? --ury --[0453]-- [0454] daemon@ATHENA.MIT.EDU (Jon Allen Boone) Linux_Activists 01/16/92 10:22 (8 lines) Subject: Short Introduction to Linux please Date: Thu, 16 Jan 1992 07:56:29 -0500 (EST) From: Jon Allen Boone To: Linux-Activists@joker.cs.hut.fi Reply-To: jb3o+linux@andrew.cmu.edu Cc: Jon Allen Boone --[0454]-- [0455] daemon@ATHENA.MIT.EDU (Timothy Cullip) Linux_Activists 01/16/92 10:28 (30 lines) Subject: Uncompress corrupting files Date: Thu, 16 Jan 92 10:05:42 -0500 From: Timothy Cullip To: linux-activists@joker.cs.hut.fi I am new to Linux (I've installed 0.12 and used it for less than 2 hours). It looks great! So far I've found one problem: uncompress can do weird things. This is what I did: cd / mkdir test cp bin/* test cd test compress * uncompress * What everything seemed fine up to and through the compress. But uncompress * resulted in some of the files uncompressing fine and others not. The ones that didn't typically left the .Z file and a corresponding non .Z file (that was bad - like 0 bytes). If I did an uncompress on each file individually by name (rather than using the wildcard *) all is fine. Is it the fault of uncompress, or the wildcard *, or am I doing something stupid? Tim Cullip cullip@cs.unc.edu --[0455]-- [0456] daemon@ATHENA.MIT.EDU (Jay Maynard) Linux_Activists 01/16/92 10:44 (18 lines) Subject: Boot problem with 0.11 Date: Thu, 16 Jan 92 09:26 CST To: linux-activists@joker.cs.hut.fi From: Jay Maynard (Yes, I know 0.12 is out. Will it fix this problem?) System hardware is Mylex 386SX-16 motherboard with 7.5 MB of RAM, an Everex EV332 ST506/MFM disk controller, and a Seagate ST251 40 meg disk. When I try to boot 0.11, I get an error message complaining that the hard disk controller reset got a return code of D2 or D0, and a kernel panic. This happens no matter whether I boot up from power off, from the front panel reset switch after booting DOS, or with an Alt-Ctrl-Delete from DOS. Is my hardware flaky? Is my hardware even supported? How do I go about figuring out the problem? ...Jay Maynard --[0456]-- [0457] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 01/16/92 10:50 (38 lines) Subject: Re: Uncompress corrupting files Date: Thu, 16 Jan 1992 17:35:42 +0200 From: Linus Benedict Torvalds In-Reply-To: Timothy Cullip's message as of Jan 16, 10:05 To: Timothy Cullip , linux-activists@joker.cs.hut.fi Timothy Cullip: "Uncompress corrupting files" (Jan 16, 10:05): > uncompress * Ok, this has come up before. The bug is (I'm told) in the estdio/compress pair: either compress does something it shouldn't really do, or estdio has a subtle bug that shows up /only/ with compress, but the fact is that [un]compress doesn't like several arguments. There should be a fix for this (a patch to estdio), but I have never seen it. Do the uncompresses one by one (or in a for-loop), and things are well. Someone: > kermit on 0.12 doesn't work. Yet another thing I forgot to say about the new release: the device numbers for tty's have changed: tty0 is now a "general console" - it always uses the current console to read/write things (current at the time of the system call), tty1-63 are reserved for virtual consoles, tty64-127 are reserved for serial io (possibly line printer: how about making it a tty-device?) and tty128- are reserved for pty's. The com1 is now called /dev/tty64, and com2 is called /dev/tty65. Users of the alpha vc package for 0.11 will recognize this numbering. Hope this was the only problem. Yet someone else: > Cannot find mkswap & include.tar.Z mkswap was intended to be on the root disk, but I forgot it: it can be found at least on nic: /pub/OS/Linux/bin/mkswap. include.tar.Z is in the kernel subdir. I think the other sites have them too - search for them from the closest site first. Linus --[0457]-- [0458] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 01/16/92 11:14 (28 lines) Subject: Re: Uncompress corrupting files Date: Thu, 16 Jan 92 11:00:02 -0500 From: tytso@ATHENA.MIT.EDU (Theodore Ts'o) To: Linus Benedict Torvalds Cc: Timothy Cullip , linux-activists@joker.cs.hut.fi In-Reply-To: Linus Benedict Torvalds's message of Thu, 16 Jan 1992 17:35:42 +0200, Reply-To: tytso@athena.mit.edu Date: Thu, 16 Jan 1992 17:35:42 +0200 From: Linus Benedict Torvalds X-Mailer: Mail User's Shell (7.1.1 5/02/90) Timothy Cullip: "Uncompress corrupting files" (Jan 16, 10:05): > uncompress * Ok, this has come up before. The bug is (I'm told) in the estdio/compress pair: either compress does something it shouldn't really do, or estdio has a subtle bug that shows up /only/ with compress, but the fact is that [un]compress doesn't like several arguments. There's also a problem where if you control-C a "zcat filename", it will often delete it's input file! I usually type "zcat To: Linux-activists@joker.cs.hut.fi Attached below is a patch to estdio that was posted to comp.os.minix awhile back. Last time I looked, the linux version of estdio did *NOT* have these patches applied. Maybe that's what causes the uncompress problem? Derek Lieber derek@watson.ibm.com -----------------------------------attachment-------------------------------- Newsgroups: comp.os.minix Path: arnor!bywater!uunet!uunet!cs.utexas.edu!qt.cs.utexas.edu!yale.edu!ira.uka.de!fauern!NewsServ!rommel From: rommel@Informatik.TU-Muenchen.DE (Kai Uwe Rommel) Subject: Yet another bug in estdio (fread.c) Message-ID: <1991Oct3.111254.23702@Informatik.TU-Muenchen.DE> Sender: news@Informatik.TU-Muenchen.DE (News System) Organization: Technische Universitaet Muenchen, Germany Date: Thu, 3 Oct 1991 11:12:54 GMT Lines: 38 I noticed another bug in estdio/fread.c. It does not set the _IOEOF flag when hitting EOF during an __ioread() call. The diff below fixes it and included the previously known bug with readsize. I don't know if this fix catches all situations, it works for me. *** fread.c~ Tue Oct 30 05:33:23 1990 --- fread.c Thu Oct 3 11:17:50 1991 *************** *** 66,71 **** --- 66,72 ---- MEMCPY(p, q, (size_t) readsize); p += readsize; q += readsize; + readsize = 0; } else { do *************** *** 105,110 **** --- 106,114 ---- reed != 0 && (red = __ioread(fileno(fp), (char *) p, reed)) != 0; p += red, reed -= red) ; + + if (red == 0) + SETFLAG(fp, _IOEOF); if (reed != 0) { if ((readsize -= reed) >= leftover) { Kai Uwe Rommel /* Kai Uwe Rommel, Munich ----- rommel@informatik.tu-muenchen.de */ DOS ... is still a real mode only non-reentrant interrupt handler, and always will be. -Russell Williams --[0459]-- [0460] daemon@ATHENA.MIT.EDU (Humberto Ortiz-Zuazaga) Linux_Activists 01/16/92 13:32 (24 lines) Subject: Re: Boot problem with 0.11 Date: Thu, 16 Jan 92 13:09:29 EST From: zuazaga@ucunix.san.uc.EDU (Humberto Ortiz-Zuazaga) In-Reply-To: <9201161528.AA13668@joker.cs.hut.fi>; from "Jay Maynard" at Jan To: S0JM@admin.hsc.uth.tmc.EDU (Jay Maynard) Cc: linux-activists@joker.cs.hut.fi (Linux activists) Reply-To: zuazaga@ucunix.san.uc.EDU X-Envelope-To: linux-activists@joker.cs.hut.fi Jay Maynard wrote: > (Yes, I know 0.12 is out. Will it fix this problem?) It did for me, your milage may vary. > When I try to boot 0.11, I get an error message complaining that the hard > disk controller reset got a return code of D2 or D0, and a kernel panic. I got 0.11 to work by turning off turbo mode. The 0.12 version works at full speed, with no complaints. (Thanks Linus!) -- Humberto Ortiz-Zuazaga INTERNET: zuazaga@ucunix.san.uc.edu Dept. of Physiology & Biophysics BITNET: picone@ucbeh University of Cincinnati CIS: 72301,2303 --[0460]-- [0462] daemon@ATHENA.MIT.EDU (gordon grant) Linux_Activists 01/16/92 13:52 (18 lines) Subject: FAQ anyone ? Date: Thu, 16 Jan 92 15:53:14 GMT From: gg@jet.uk (gordon grant) To: linux-activists@joker.cs.hut.fi Is there a FAQ for this list ? An information sheet ? A couple of sentences to get me going ? anything at all ? :-) Where can I get Linux by mail ? we don't have FTP access here. Can I run it from a partition or my SCSI disc ? (Adaptec 1542 with Fujitsu disc). gg@jet.uk Gordon Grant Jet Abingdon OX14 3EA UK Voice +44 235 528822 x4822 Fax +44 235 464404 --[0462]-- [0463] daemon@ATHENA.MIT.EDU (Donald.B.Taber@SYBIL.RISC.ROCKWELL) Linux_Activists 01/16/92 13:52 (23 lines) Date: 16 Jan 1992 08:37:29 PDT From: Donald.B.Taber@SYBIL.RISC.ROCKWELL.COM To: Linux-activists@joker.cs.hut.fi X-Vms-Original-To: LINUX I'm new to linux and am, of course, filled with burning questions. I've been playing with the floppy versions and am all excited about installing it on a hard drive. I have noticed, however, that 0.12 seems to be lacking /dev/hd8 and /dev/hd9. Does this mean that I will have trouble installing it on a 2nd (hd5) hard drive? Should I swap hard drive positions to avoid it? I imagine that once I'm up with sources & a compiler I can get everything straightened out. I'm reasonably proficient in C/C++ but have only a user's knowledge of Unix. Can anyone suggest a good reference to get me started on the real guts of unix architecture, administrative details, etc? Thanks. Don Taber dbt@victoria.risc.rockwell.com --[0463]-- [0465] daemon@ATHENA.MIT.EDU (ury segal) Linux_Activists 01/16/92 14:02 (8 lines) Subject: Socket for the people ! From: ury segal Date: Thu, 16 Jan 92 20:28:29 +0200 To: linux-activists@joker.cs.hut.fi Is someone working on sockets ??? If not, I may do it. --ury --[0465]-- [0466] daemon@ATHENA.MIT.EDU (Timothy L. Kay) Linux_Activists 01/16/92 14:19 (15 lines) Subject: Re: Use PERL rather than C for system commands? From: tim@pokey.cs.caltech.edu (Timothy L. Kay) To: linux-activists@joker.cs.hut.fi Date: Thu, 16 Jan 92 10:55:30 -0800 I recently submitted a message suggesting that Linux use PERL as the implementation lanugage for many of its system support programs. The follow-ups indicated that people aren't familiar with the abilities of PERL. To address specific points mentioned in the followup, PERL does give access to essentially all of the Unix system calls, including alarm() and listen(). There is no technical reason why PERL couldn't be used; it is simply a question of whether people think the philosophical change is justified by the advantages gained. Tim --[0466]-- [0467] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 01/16/92 14:26 (29 lines) Subject: shoelace, and console Date: Thu, 16 Jan 92 09:25:33 PST From: pmacdona@sanjuan.UVic.CA (Peter MacDonald) To: linux-activists@joker.cs.hut.fi Beware, that the shoelace patches I posted overwrite the byte at offset that is used for the swap device. That is because I tried to get clever and put the "rootdev" in that is in the shoelace config file and put it where Linux expects it, ie offset 508. It never worked, but I never took it out of the code in shoe.c. Somehow, it ends up at 506, where the swapdev is now stored! So guess when I found this out, go on, take a guess. You got it, right after I blew away my minix partition, to create a swap partition. So I can't recompile shoelace without reinstalling minix. I don't have the diskspace for this. If someone out there has installed my shoelace patches, and has minix, can you change the 508, to 510 in shoe.c at around line 548, and recompile. Then maybe upload the executable to nic? And maybe let me know? Also, there is a problem with special characters in console.c now. Even reset doesn't clear it. When I figure it out, I will post it as part of my console patch for blanking, dumping et al. I don't want to repeat the slew of patches I put out in .11. Peter. --[0467]-- [0468] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 01/16/92 14:52 (24 lines) Subject: No subject found in mail header Date: Thu, 16 Jan 1992 21:19:58 +0200 From: Linus Benedict Torvalds In-Reply-To: Donald.B.Taber@SYBIL.RISC.ROCKWELL.COM's message as of Jan 16, 8:37 To: Donald.B.Taber@SYBIL.RISC.ROCKWELL.COM, Linux-activists@joker.cs.hut.fi Donald.B.Taber@SYBIL.RISC.ROCKWELL.COM: "" (Jan 16, 8:37): > > I'm new to linux and am, of course, filled with burning questions. > I've been playing with the floppy versions and am all excited about > installing it on a hard drive. I have noticed, however, that 0.12 > seems to be lacking /dev/hd8 and /dev/hd9. Does this mean that I > will have trouble installing it on a 2nd (hd5) hard drive? Argghh. Yet another root-diskette bug. This one is simple to rectify: make the new devices with; # mknod /dev/hd8 b 3 8 # mknod /dev/hd9 b 3 9 and all should be well. I don't have hd8 and hd9, and used just a "cp +recursive" to get the files copied to the root-diskette. I will write a C-program to print out 1000 times:"check the rootdiskette next time". Linus "shamefaced" Torvalds --[0468]-- [0469] daemon@ATHENA.MIT.EDU (Arlie Davis) Linux_Activists 01/16/92 14:52 (24 lines) Subject: Re: PERL From: Arlie Davis To: linux-activists@joker.cs.hut.fi (Linux Mailing List) Date: Thu, 16 Jan 92 14:24:46 EST > I recently submitted a message suggesting that Linux use PERL as the > implementation lanugage for many of its system support programs. The > follow-ups indicated that people aren't familiar with the abilities of > PERL. To address specific points mentioned in the followup, PERL does > give access to essentially all of the Unix system calls, including > alarm() and listen(). There is no technical reason why PERL couldn't > be used; it is simply a question of whether people think the > philosophical change is justified by the advantages gained. > > Tim The technical abilities of PERL are not being questioned. But using PERL would greatly complicate matters, when there is no storage benefit and a performance degradation. (Before you reply that PERL is interpretted, or interpiled, remember that very soon Linux will have shared libraries, and I believe Linux already has shared and sticky binaries.) -- Arlie Davis --[0469]-- [0470] daemon@ATHENA.MIT.EDU (Timothy Cullip) Linux_Activists 01/16/92 14:53 (13 lines) Subject: VI for Linux Date: Thu, 16 Jan 92 12:27:29 -0500 From: Timothy Cullip To: linux-activists@joker.cs.hut.fi Is there an ftp'able vi (yes, I'm a dinosaur) binary available for Linux? I have this sickening feeling that it will take me awhile to get gcc up and working to the point where I can easily compile a version of vi (e.g. elvis) so I'd like to have a binary if there is one available. Tim Cullip cullip@cs.unc.edu --[0470]-- [0471] daemon@ATHENA.MIT.EDU (Arlie Davis) Linux_Activists 01/16/92 14:54 (8 lines) Subject: newsgroup? From: Arlie Davis To: linux-activists@joker.cs.hut.fi (Linux Mailing List) Date: Thu, 16 Jan 92 14:20:35 EST There is enough traffic here to warrant a newsgroup, wouldn't you think? Or is the privacy worth it? comp.os.linux would be pretty impressive. --[0471]-- [0473] daemon@ATHENA.MIT.EDU (Timothy Cullip) Linux_Activists 01/16/92 15:07 (13 lines) Subject: VI for Linux Date: Thu, 16 Jan 92 12:27:29 -0500 From: Timothy Cullip To: linux-activists@joker.cs.hut.fi Is there an ftp'able vi (yes, I'm a dinosaur) binary available for Linux? I have this sickening feeling that it will take me awhile to get gcc up and working to the point where I can easily compile a version of vi (e.g. elvis) so I'd like to have a binary if there is one available. Tim Cullip cullip@cs.unc.edu --[0473]-- [0474] daemon@ATHENA.MIT.EDU (Corvin Zahn) Linux_Activists 01/16/92 15:10 (10 lines) Subject: linux on PS/2 P70-386? From: zahn@nova.tat.physik.uni-tuebingen.de (Corvin Zahn) To: linux-activists@joker.cs.hut.fi Date: Thu, 16 Jan 92 20:49:41 MEZ Hi, does linux run on a PS/2 P70-386 (ESDI-drive) ? Corvin --[0474]-- [0475] daemon@ATHENA.MIT.EDU (Lawrence C. Foard) Linux_Activists 01/16/92 15:29 (18 lines) Subject: BSD sockets+TCP/IP Date: Thu, 16 Jan 92 15:14:19 -0500 From: entropy@ee.WPI.EDU (Lawrence C. Foard) To: linux-activists@joker.cs.hut.fi IF YOUR WORKING ON TCP/IP OR SOCKETS READ THIS... It appears that no one is working on sockets or TCP/IP yet? A friend and I are planning to start working on this if no one has already started work. If you are working on it please please write so we don't waste our time duplicating efforts. Questions: What ethernet boards would you like to see supported? Currently we are planning to buy an intel board but don't have money to buy other boards so would appreciate donations or loans of other manufactorers cards. Any technical docs would be helpful, or source code for software that uses them. --[0475]-- [0476] daemon@ATHENA.MIT.EDU (Pietro Caselli) Linux_Activists 01/16/92 15:34 (21 lines) Subject: Re: VI for Linux Date: Thu, 16 Jan 92 21:08:17 MES From: pietro@deis35.cineca.it (Pietro Caselli) To: cullip@cs.unc.edu, linux-activists@joker.cs.hut.fi If people on the mailing list is enough patient I'll post my porting of Berkeley Vi 3.0 ( I don't know if I'm going against any copyright ... if some one knows plese tell me ! ) It worked well with Linux 0.11, I don't see why it shouldn't with 0.12. I just need some time, a week, since I destroyed my HD and I'm waiting for a brand new :-( Ciao. _ | Pietro Caselli | Dipartimento di Elettronica, Informatica e Sistemistica | Universita' di Bologna | Undergraduate Student --[0476]-- [0477] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 01/16/92 15:43 (24 lines) Subject: No subject found in mail header Date: Thu, 16 Jan 1992 21:19:58 +0200 From: Linus Benedict Torvalds In-Reply-To: Donald.B.Taber@SYBIL.RISC.ROCKWELL.COM's message as of Jan 16, 8:37 To: Donald.B.Taber@SYBIL.RISC.ROCKWELL.COM, Linux-activists@joker.cs.hut.fi Donald.B.Taber@SYBIL.RISC.ROCKWELL.COM: "" (Jan 16, 8:37): > > I'm new to linux and am, of course, filled with burning questions. > I've been playing with the floppy versions and am all excited about > installing it on a hard drive. I have noticed, however, that 0.12 > seems to be lacking /dev/hd8 and /dev/hd9. Does this mean that I > will have trouble installing it on a 2nd (hd5) hard drive? Argghh. Yet another root-diskette bug. This one is simple to rectify: make the new devices with; # mknod /dev/hd8 b 3 8 # mknod /dev/hd9 b 3 9 and all should be well. I don't have hd8 and hd9, and used just a "cp +recursive" to get the files copied to the root-diskette. I will write a C-program to print out 1000 times:"check the rootdiskette next time". Linus "shamefaced" Torvalds --[0477]-- [0478] daemon@ATHENA.MIT.EDU (LCDR Michael E. Dobson) Linux_Activists 01/16/92 16:24 (38 lines) Subject: Re: your mail From: "LCDR Michael E. Dobson" To: linux-activists@joker.cs.hut.fi Date: Thu, 16 Jan 92 15:23:56 EST In-Reply-To: <199201161919.AA06121@kruuna.helsinki.fi>; from "Linus Benedict Torvalds" at Jan 16, 92 9:19 pm > > Donald.B.Taber@SYBIL.RISC.ROCKWELL.COM: "" (Jan 16, 8:37): > > > > I'm new to linux and am, of course, filled with burning questions. > > I've been playing with the floppy versions and am all excited about > > installing it on a hard drive. I have noticed, however, that 0.12 > > seems to be lacking /dev/hd8 and /dev/hd9. Does this mean that I > > will have trouble installing it on a 2nd (hd5) hard drive? > > Argghh. Yet another root-diskette bug. This one is simple to rectify: > make the new devices with; > > # mknod /dev/hd8 b 3 8 > # mknod /dev/hd9 b 3 9 > > and all should be well. I don't have hd8 and hd9, and used just a "cp > +recursive" to get the files copied to the root-diskette. I will write a > C-program to print out 1000 times:"check the rootdiskette next time". > > Linus "shamefaced" Torvalds > Either that or include the instructions in the INSTALL/RELNOTES and/or keep them on your working copy even though you don't have those partitions. I don't have 4 partitions on my first hd but keep the devices in /dev "just in case" Regards, -- Mike Dobson, Sys Admin for | Internet: rdc30@nmrdc1.nmrdc.nnmc.navy.mil nmrdc1.nmrdc.nnmc.navy.mil | UUCP: ...uunet!mimsy!nmrdc1!rdc30 AT&T 3B2/600G Sys V R 3.2.2 | BITNET: dobson@usuhsb or nrd0mxd@vmnmdsc WIN/TCP for 3B2 | MCI-Mail: 377-2719 or 0003772719@mcimail.com --[0478]-- [0479] daemon@ATHENA.MIT.EDU (Arlie Davis) Linux_Activists 01/16/92 16:38 (7 lines) Subject: Duplicates... From: Arlie Davis To: linux-activists@joker.cs.hut.fi (Linux Mailing List) Date: Thu, 16 Jan 92 16:14:13 EST I'm starting to see duplicate messages from the mailing list -- any clues, or is this just a net.hiccup? --[0479]-- [0480] daemon@ATHENA.MIT.EDU (IJW11@phx.cam.ac.uk) Linux_Activists 01/16/92 16:48 (21 lines) Subject: No subject found in mail header Date: Thu, 16 Jan 92 21:21:41 GMT From: IJW11@phx.cam.ac.uk To: linux-activists@joker.cs.hut.fi > Color me an ignorant american, but what is the difference between a > U.S. and a U.K. keyboard (besides the pound symbol for currency)? First, thanks for replying, I wasn't sure whether this got though. The differences involve: Key '2' has a '"' when shifted; Key '3' Has a pound sign, nort a hash; The ' and " key is pound sign and '@'; and there are some other odd keys, noticeably the fact that the backslash and backquote characters have moved by miles. I have an American keyboard, but it's twice as heavy as the British one that I uae, and since I go by key symbols when typing (professional typing, eh? 8-) it gets on my nerves. Ian Wells. --[0480]-- [0481] daemon@ATHENA.MIT.EDU (Rob Soukoreff) Linux_Activists 01/16/92 16:49 (30 lines) Subject: gcc questions Date: Thu, 16 Jan 92 16:35:30 -0500 From: Rob Soukoreff To: Linux-activists@joker.cs.hut.fi Hello Activists! I am unable to compile with gcc, (on Linux 0.12, 2meg ram, 386-sx, AMI bios). When I type gcc filename, I get: gcc: installation problem, cannot exec cpp: Exec format error I think I just don't have the correct things in the correct places, so: 1) Where does gcc (and accompanying files) go? /usr/gnu/bin? 2) Where do libc.a & libreadline.a go? 3) Where do I put the files in lib.tar.Z 4) Where do I put the include files, include.tar? 5) Is there anything else I need, and where should I put it? I appologize if these questions are FAQ, if so could someone point me to the FAQ? Thanks, Rob Soukoreff rwsoukoreff@descartes.uwaterloo.ca --[0481]-- [0482] daemon@ATHENA.MIT.EDU (Lawrence C. Foard) Linux_Activists 01/16/92 17:12 (10 lines) Subject: WD card Date: Thu, 16 Jan 92 16:44:24 -0500 From: entropy@ee.WPI.EDU (Lawrence C. Foard) To: linux-activists@joker.cs.hut.fi I got about 10 requests for the WD card in the minutes after posting it :) If I can get ahold of one I will probably try to make the first driver for it (this is assuming no one else has claimed sockets+TCP/IP yet). Does any one know the name of the company that bought the card production from WD? --[0482]-- [0484] daemon@ATHENA.MIT.EDU (Paul Hetrick) Linux_Activists 01/16/92 17:20 (40 lines) Subject: Re: BSD sockets+TCP/IP Date: Thu, 16 Jan 92 17:04:15 EST From: hetrick@sparky.eeel.nist.gov (Paul Hetrick) To: linux-activists@joker.cs.hut.fi In-Reply-To: <9201162014.AA00798@wintermute.WPI.EDU> > Date: Thu, 16 Jan 92 15:14:19 -0500 > From: entropy@ee.WPI.EDU (Lawrence C. Foard) > To: linux-activists@joker.cs.hut.fi > Subject: BSD sockets+TCP/IP > > IF YOUR WORKING ON TCP/IP OR SOCKETS READ THIS... > > It appears that no one is working on sockets or TCP/IP yet? A friend and I > are planning to start working on this if no one has already started work. > If you are working on it please please write so we don't waste our time > duplicating efforts. > > Questions: > > What ethernet boards would you like to see supported? > Currently we are planning to buy an intel board but don't have money to buy > other boards so would appreciate donations or loans of other manufactorers > cards. Any technical docs would be helpful, or source code for software > that uses them. > TCP/IP and Sockets are more than I have time to tackle, but I might be able to point you to some Code and docs. Try FTPing to zaphod.ncsa.uiuc.edu [141.142.20.50]. They have a PD (or at least freely distributed) telnet program for MS-DOS with drivers for LOTS of ethernet boards. The source code for all the drivers is in one BIG .zip file. If you could base your low-level drivers on this code it would probably make it easier to port to other boards. Hope this helps Paul hetrick@eeel.nist.gov --[0484]-- [0485] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 01/16/92 17:30 (34 lines) Subject: Re: BSD sockets+TCP/IP Date: Thu, 16 Jan 92 17:12:39 -0500 From: tytso@ATHENA.MIT.EDU (Theodore Ts'o) To: hetrick@sparky.eeel.nist.gov To: entropy@ee.WPI.EDU (Lawrence C. Foard) Cc: linux-activists@joker.cs.hut.fi In-Reply-To: Paul Hetrick's message of Thu, 16 Jan 92 17:04:15 EST, Reply-To: tytso@athena.mit.edu Date: Thu, 16 Jan 92 17:04:15 EST From: hetrick@sparky.eeel.nist.gov (Paul Hetrick) TCP/IP and Sockets are more than I have time to tackle, but I might be able to point you to some Code and docs. Try FTPing to zaphod.ncsa.uiuc.edu [141.142.20.50]. They have a PD (or at least freely distributed) telnet program for MS-DOS with drivers for LOTS of ethernet boards. The source code for all the drivers is in one BIG .zip file. If you could base your low-level drivers on this code it would probably make it easier to port to other boards. If this is the Clarson packet driver stuff, be aware that the code assumes you are running in 16 bit real mode. It may be non-trivial to port them so that they work in a 32-bit protected mode. You may want to look at them and form your own opinion. Whether or not you use the MS-LOSS packet drivers, it would be a very good idea to have a well-defined abstraction boundary between the Networking/IP layer and the Ethernet driver layer. Then you can publish the interface early on, and people can write their own drivers for their ethernet cards with a minimum of pain. Lawrence, I assume that you will be using the BSD networking release as a base? - Ted --[0485]-- [0486] daemon@ATHENA.MIT.EDU (Ari Lemmke) Linux_Activists 01/16/92 17:37 (30 lines) Subject: Hmmmm...too much of a good thing? =8^) Date: Fri, 17 Jan 1992 00:26:50 +0200 From: Ari Lemmke To: linux-activists@joker.cs.hut.fi In-Reply-To: "Ken Corey, CSCI Major..."'s message of Thu, 16 Jan 1992 15:59 CDT <01GFE18S1YRK003ISR@vaxb.acs.unt.edu> >Is it just me, or are we ALL getting 2 copies of the mail about linux? It should not happen. There was only one person who had 2 entries caused by requesting two times ;-) We have no 300+ Linux activists on the mailing list, and every day there's 20 or more requesting for joining. You can check the mailing list: 'telnet niksula.hut.fi 25' 'vrfy linux-activists' and to quit use ;-) 'quit' I'm going to start RFD about comp.os.linux, and when the voting comes, I hope you do vote for it ... Still we are _not_ going to end this mailing list, because there are sites which don't have access to news. Also for the future we might need special hackers list .. where only Linux kernel hacking is discussed. arl --[0486]-- [0487] daemon@ATHENA.MIT.EDU (Randy Appleton) Linux_Activists 01/16/92 18:08 (22 lines) Subject: Mtools and Me From: Randy Appleton Date: Thu, 16 Jan 1992 17:52:47 EST To: linux-activists@joker.cs.hut.fi I'm rather new to the Linux world, but I have been able to boot it and get it to recognize my hard drive. However, I'm having a bear of a time getting things onto the hard drive. Does anyone have the binaries for the Mtools package they can send me, or tell me where I can ftp the same. I'd really appricate it. Also, can whoever adds people to this list make sure I'm on it. I sent in a subscription request, but havenn' heard back. Nor did my mail bounce. -Thanks -Randy -- ============================================================================== Is it fair to the young people of today that we keep raising the national debt? Vote against George Bush! ============================================Randy@ms.uky.edu================== --[0487]-- [0488] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 01/16/92 18:47 (42 lines) Subject: Re: gcc questions Date: Fri, 17 Jan 1992 01:22:52 +0200 From: Linus Benedict Torvalds In-Reply-To: Rob Soukoreff's message as of Jan 16, 16:35 To: Rob Soukoreff , Rob Soukoreff: "gcc questions" (Jan 16, 16:35): > > I am unable to compile with gcc, (on Linux 0.12, 2meg ram, 386-sx, AMI bios). Ok, this comes up every once in a while, and I agree a FAQ would be a good idea. We had one, but it got out-of-date even before it was ready: linux has evolved rather quickly. Just as a pointer, there are linux-activists mail collected at tsx-11 (or was some time ago), and people new on the list might want to know what the problems of yesterweek have been. Gcc can install in several directories, but the following is what I use: from gccbin.tar: /usr/local/bin - gcc /usr/local/lib - all the other stuff /usr/local/bin needs to be in the path (as an aside: bash-1.11 has a bug which results in an abort() if your path ends in a colon, and you try to execute something that doesn't exists: eg xyzzy). include.tar.Z should untar to the /usr/include -directory tree if you untar it in the root directory. Check with "tar tf include.tar". lib.tar.Z doesn't need to go in any special place: I have a source tree under /usr/src, and I put it under that. You don't need this file unless you want to recompile the library. Additionally, I've linked (use symbolic links if you wish, testing out new features) gcc to just 'cc', as that means I sometimes don't have to change the makefiles at all. Likewise, gcc-ld, gcc-as, gcc-ar can with success be linked to the files 'gld', 'gas' and 'gar', somewhere on the path. I have all the /usr/local/lib/gcc-XX files linked both to /usr/local/bin/XX and /usr/local/bin/gXX. Linus --[0488]-- [0490] daemon@ATHENA.MIT.EDU (klaus@ced.utah.edu) Linux_Activists 01/16/92 19:26 (11 lines) Subject: debugger for linux? Date: Thu, 16 Jan 92 17:05:25 MST From: klaus@ced.utah.edu To: Linux-activists@joker.cs.hut.fi X-Envelope-To: Linux-activists@joker.cs.hut.fi Is there any kind of debugger for linux? SOmething like gdb would be nice. Is there such a beast.. yet? -klaus@ced.utah.edu --[0490]-- [0491] daemon@ATHENA.MIT.EDU (Paul Rubin) Linux_Activists 01/16/92 19:57 (16 lines) Subject: Re: BSD sockets+TCP/IP Date: Thu, 16 Jan 92 16:46:58 -0800 From: Paul Rubin To: hetrick@sparky.eeel.nist.gov, linux-activists@joker.cs.hut.fi There are at least a couple of free implementations of TCP/IP, though I don't know about sockets. One was written by Russ Nelson and is GNU-copylefted, but I don't know what functionality it includes. I believe it is ftpable from grape.soe.clarkson.edu. The other was written by Phil Karn KA9Q and includes pretty much everything, but I'm not sure of the exact distribution permissions. It's called the KA9Q TCP package. I'm not sure where to ftp a copy but "archie" should be able to find it, or I could ask someone. Having no network hardware I haven't really looked into either of these. I believe there was also a free package written at MIT that was the basis for FTP Software's implementation but I don't know more details. --[0491]-- [0492] daemon@ATHENA.MIT.EDU (Peter Cooper) Linux_Activists 01/16/92 20:13 (8 lines) Subject: Re: VI for Linux Date: Fri, 17 Jan 1992 09:58:36 +0900 From: comrade@uniwa.uwa.oz.au (Peter Cooper) To: cullip@cs.unc.edu, linux-activists@joker.cs.hut.fi I have a compiled version of elvis. It took virtually nothing to compile it if I remember rightly (no patches). I will upload it to nic.funet.fi and tsx-11.mit.edu in a few hours. --[0492]-- [0493] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 01/16/92 20:24 (12 lines) Subject: Re: VI for Linux Date: Thu, 16 Jan 92 17:13:34 PST From: pmacdona@sanjuan.UVic.CA (Peter MacDonald) To: comrade@uniwa.uwa.oz.au Cc: linux-activists@joker.cs.hut.fi Elvis has some problems, including failure to keep the screen representation accurate (extra, missing and duplicated lines) and no line wrap. I know, cause I have been using it for several years. If something out there does a better job, lets see it instead. Ps. I am currently using it under linux as well. --[0493]-- [0494] daemon@ATHENA.MIT.EDU (Tad Hunt) Linux_Activists 01/16/92 20:31 (9 lines) Subject: Device numbers From: hunt@cthulhu.control.com (Tad Hunt) To: linux-activists@joker.cs.hut.fi Date: Thu, 16 Jan 92 20:12:01 EST Can anyone tell me the device numbers for /dev/hd3 and /dev/hd4? The docs only seem to mention hd1 and hd2 and I'm having trouble figuring out the minor device numbers. I want to use /dev/hd3 as root and /dev/hd4 as swap. Thanks in advance. --[0494]-- [0495] daemon@ATHENA.MIT.EDU (Adam Goldberg) Linux_Activists 01/16/92 21:31 (29 lines) Subject: Booting problems... To: linux-activists@joker.cs.hut.fi Date: Thu, 16 Jan 92 20:15:44 CST From: Adam Goldberg I can't get Linux 0.12 to boot: Here's my equipment: 386DX-25, 4M, AMI BIOS (dated '89), Hercules Mono. 105M Priam RLL drive, which has >1024 cylinders, hence I have a DTC 7287 controller, which maps the harddrive to having 32 sectors/track. Here's the problem: I boot & get the Loading..., then '*MDA' goes in the upper-right corner of the screen, then '2 Virtual Consoles' & '4 pty's' then (argh) 'Kernel Panic: HD Controller not ready'. Sometimes I don't get past the Loading..., sometimes I get to the panic. Any clues? +-----------------------------------------------------------------------------+ ! Adam Goldberg ! "It's simple! Even a PASCAL programmer could do ! ! goldberg@iastate.edu ! it!" ! ! tabu6@isuvax.BITNET ! "Remember: the sooner you fall behind, the ! ! #include ! more time you have to catch up!" ! +-----------------------------------------------------------------------------+ --[0495]-- [0496] daemon@ATHENA.MIT.EDU (Michael K. Johnson) Linux_Activists 01/16/92 21:37 (12 lines) Subject: FIFO's Date: Thu, 16 Jan 92 20:19:32 CST From: johnsonm@stolaf.edu (Michael K. Johnson) To: Linux-activists@joker.cs.hut.fi Is anyone working on FIFO's? if not I might try them next month or so. Anyone with any advice on this, please mail me. michaelkjohnson johnsonm@stolaf.edu I don't do .sig's ha. got it right this time.:-) --[0496]-- [0497] daemon@ATHENA.MIT.EDU (Michael K. Johnson) Linux_Activists 01/16/92 21:40 (33 lines) Subject: DTC SCSI Date: Thu, 16 Jan 92 20:18:01 CST From: johnsonm@stolaf.edu (Michael K. Johnson) To: Linux-activists@joker.cs.hut.fi DTC (division of qume) is sending me chip specs so that I can write a low-level SCSI driver for the DTC3180A/DTC3280A pair of cards. I don't know what other DTC cards it will work on, but I should find out when the docs come. When I do know, I will post. A word of warning -- There is a miniscule but non-zero chance that some people will have to upgrade their driver BIOS to use such a driver. if and only if this turns out to be true, I will contact DTC and get the necessary information for upgrading. When I do this, I will need beta-testers, because all I have is a very brain-dead ST296N that responds to almost no SCSI commands. I will need someone with an advanced SCSI drive ti check to see if it passes SCSI commands correctly. If you wish to beta this (due to my busy student status, I make no guarantees about time frames) please send me a note, and I will keep your address. Bear in mind if you do this that it may be awhile before I even get the specs, let alone start coding the driver, and that is dependant on the high-level drivers coming out.... happy linuxing... michaelkjohnson johnsonm@stolaf.edu I don't do .sig;s ' oops. --[0497]-- [0499] daemon@ATHENA.MIT.EDU (Michael K. Johnson) Linux_Activists 01/16/92 22:11 (33 lines) Subject: DTC SCSI Date: Thu, 16 Jan 92 20:18:01 CST From: johnsonm@stolaf.edu (Michael K. Johnson) To: Linux-activists@joker.cs.hut.fi DTC (division of qume) is sending me chip specs so that I can write a low-level SCSI driver for the DTC3180A/DTC3280A pair of cards. I don't know what other DTC cards it will work on, but I should find out when the docs come. When I do know, I will post. A word of warning -- There is a miniscule but non-zero chance that some people will have to upgrade their driver BIOS to use such a driver. if and only if this turns out to be true, I will contact DTC and get the necessary information for upgrading. When I do this, I will need beta-testers, because all I have is a very brain-dead ST296N that responds to almost no SCSI commands. I will need someone with an advanced SCSI drive ti check to see if it passes SCSI commands correctly. If you wish to beta this (due to my busy student status, I make no guarantees about time frames) please send me a note, and I will keep your address. Bear in mind if you do this that it may be awhile before I even get the specs, let alone start coding the driver, and that is dependant on the high-level drivers coming out.... happy linuxing... michaelkjohnson johnsonm@stolaf.edu I don't do .sig;s ' oops. --[0499]-- [0500] daemon@ATHENA.MIT.EDU (drew@hazelrah.cs.Colorado.EDU) Linux_Activists 01/16/92 22:14 (28 lines) Subject: Re: VI for Linux To: linux-activists@joker.cs.hut.fi In-Reply-To: Your message of Thu, 16 Jan 92 21:08:17 +0600. Date: Thu, 16 Jan 92 20:02:59 MST From: drew@hazelrah.cs.Colorado.EDU If people on the mailing list is enough patient I'll post my porting of Berkeley Vi 3.0 ( I don't know if I'm going against any copyright ... if some one knows plese tell me ! ) It worked well with Linux 0.11, I don't see why it shouldn't with 0.12. I just need some time, a week, since I destroyed my HD and I'm waiting for a brand new :-( Ciao. --------- elvis, compiled with the SYSV options works fine, also can emulate ex, and has other neato faetures like scrolling left to right instead of wrapping lines, and allowing the cursor controls to remain functional when in edit mode..... I've got binaries if people are interested - I just couldn't live without my vi!! --[0500]-- [0501] daemon@ATHENA.MIT.EDU (Morgan Schweers) Linux_Activists 01/16/92 23:07 (12 lines) Subject: GNU Emacs? Date: Thu, 16 Jan 92 19:50:13 PST From: mrs@netcom.netcom.com (Morgan Schweers) To: linux-activists@joker.cs.hut.fi Greetings, O-o-o-kay, I just found the 'Emacs' patches on tsx-11.mit.edu, and I'd like to know if these are 1) for .12, and 2) for GNU Emacs. If so, I'll be spending a bunch of time compiling tonight... *grin* Suggestions? -- Morgan Schweers --[0501]-- [0503] daemon@ATHENA.MIT.EDU (Michael Almond) Linux_Activists 01/16/92 23:27 (23 lines) Subject: DOS emulator From: mra@searchtech.com (Michael Almond) To: linux-activists@joker.cs.hut.fi Date: Thu, 16 Jan 92 23:11:55 EST Has anyone considered creating a DOS emulator for linux? I have heard the the GNU hurd folks had expiremented with this with reported success, but I don't remeber ever seeing any details of how they did it. Does anyone see how the current design of linux might prevent creating and emulator? I'm not sure what all would need to be done in order to create an emulator. Anyone have any pointers? Thanks. -- Michael R. Almond (Georgia Tech Alumnus) mra@srchtec.uucp (registered) digital presence associates mra@searchtech.com 1017J oak chase drive uupsi!srchtec!mra tucker, georgia 30084 (404) 491-0036 (office/home) *** League for Programming Freedeom member / GNU supporter *** --[0503]-- [0504] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 01/17/92 03:19 (37 lines) Subject: ps, and some vc junk. Date: Fri, 17 Jan 92 00:04:08 PST From: pmacdona@sanjuan.UVic.CA (Peter MacDonald) To: linux-activists@joker.cs.hut.fi I have all of the features of VC working again, including screen blanking, screen dumping and using memory buffers so more consoles than your single page of video memory will allow can be used. These buffers use kernel memory, but would have been required when a windowing system comes along anyways. The unpleasant juddering of the screen when scrolling is also eliminated. Does anyone else see this or is it just me? Also, terminal reset is fixed. It wasn't resetting back from graphics char mode. Finally, I got rid of the check in setterm.c for the terminal type. But since setterm wasn't distributed with .12, it won't affect to many people. I will probably not release it for a few more days, so I can test it some more, and figure out whats going on with vt100 graphics chars, but if you are desperate to alpha test, drop me a note. The patches are not too extensive, and the main goal was to disturb .12 as little as possible. I have also written a poor persons version of ps. Actually, it is more like a skeleton. But it correctly gets info from the kernel, and runs as a standalone program rather than being. driven by function keys. However, it should be made to look more like what people are used to. If someone wants to volunteer to take it and extend it to have all the nice options, let me know. I think ps is one of those very system specific functions that we can not pull in from GNU. But, if you have an idea of what it should be modelled after (Sun?) speak up now. I am announcing all this so hopefully, duplication is avoided. --[0504]-- [0505] daemon@ATHENA.MIT.EDU (tthorn@daimi.aau.dk) Linux_Activists 01/17/92 03:20 (19 lines) Subject: Adaptec SCSI driver work is underway, yes.. Date: Fri, 17 Jan 92 07:59:38 +0100 From: tthorn@daimi.aau.dk To: linux-activists@joker.cs.hut.fi (I'm double copies of many, but not all mails also.) I'm working on a lowlevel driver for the Adaptech-1542. I've just read my first sector:-) I'm planning to base it on drew (drew@hazelrah.cs.Colorado.EDU)'s highlevel stuff. I'm in as much need for the driver as any, since without it I'm only running floppies:-< /Tommy Tommy Thorn email: tthorn@daimi.aau.dk Computer Science Department "People shouldn't work because they love it, Aarhus University they should work because it hurts." DENMARK -- Bob Sparacino, former Xerox executive --[0505]-- [0506] daemon@ATHENA.MIT.EDU (gaia@leland.Stanford.EDU) Linux_Activists 01/17/92 03:43 (169 lines) Subject: US extended keyboard Date: Thu, 16 Jan 92 23:40:21 PST From: gaia@leland.Stanford.EDU To: linux-activists@joker.cs.hut.fi Greetings, The following is a patch to kernel/chr_drv/keyboard.S to switch the infamous keys of a US extended keyboard: ESC <-> [`~] Ctrl <-> Capslock -Alfred *** keyboard.old Thu Jan 16 12:28:26 1992 --- keyboard.S Thu Jan 16 12:15:09 1992 *************** *** 304,316 **** #elif defined(KBD_US) key_map: ! .byte 0,27 .ascii "1234567890-=" .byte 127,9 .ascii "qwertyuiop[]" .byte 13,0 .ascii "asdfghjkl;'" ! .byte '`,0 .ascii "\\zxcvbnm,./" .byte 0,'*,0,32 /* 36-39 */ .fill 16,1,0 /* 3A-49 */ --- 304,324 ---- #elif defined(KBD_US) key_map: ! #ifdef EXTENDED_KEYBOARD ! .byte 0,'` ! #else ! .byte 0,27 ! #endif .ascii "1234567890-=" .byte 127,9 .ascii "qwertyuiop[]" .byte 13,0 .ascii "asdfghjkl;'" ! #ifdef EXTENDED_KEYBOARD ! .byte 27,0 ! #else ! .byte '`,0 ! #endif .ascii "\\zxcvbnm,./" .byte 0,'*,0,32 /* 36-39 */ .fill 16,1,0 /* 3A-49 */ *************** *** 321,333 **** shift_map: ! .byte 0,27 .ascii "!@#$%^&*()_+" .byte 127,9 .ascii "QWERTYUIOP{}" .byte 13,0 .ascii "ASDFGHJKL:\"" ! .byte '~,0 .ascii "|ZXCVBNM<>?" .byte 0,'*,0,32 /* 36-39 */ .fill 16,1,0 /* 3A-49 */ --- 329,349 ---- shift_map: ! #ifdef EXTENDED_KEYBOARD ! .byte 0,'~ ! #else ! .byte 0,27 ! #endif .ascii "!@#$%^&*()_+" .byte 127,9 .ascii "QWERTYUIOP{}" .byte 13,0 .ascii "ASDFGHJKL:\"" ! #ifdef EXTENDED_KEYBOARD ! .byte 27,0 ! #else ! .byte '~,0 ! #endif .ascii "|ZXCVBNM<>?" .byte 0,'*,0,32 /* 36-39 */ .fill 16,1,0 /* 3A-49 */ *************** *** 518,531 **** .long do_self,do_self,do_self,do_self /* 10-13 q w e r */ .long do_self,do_self,do_self,do_self /* 14-17 t y u i */ .long do_self,do_self,do_self,do_self /* 18-1B o p } ^ */ ! .long do_self,ctrl,do_self,do_self /* 1C-1F enter ctrl a s */ .long do_self,do_self,do_self,do_self /* 20-23 d f g h */ .long do_self,do_self,do_self,do_self /* 24-27 j k l | */ .long do_self,do_self,lshift,do_self /* 28-2B { para lshift , */ .long do_self,do_self,do_self,do_self /* 2C-2F z x c v */ .long do_self,do_self,do_self,do_self /* 30-33 b n m , */ .long do_self,minus,rshift,do_self /* 34-37 . - rshift * */ ! .long alt,do_self,caps,func /* 38-3B alt sp caps f1 */ .long func,func,func,func /* 3C-3F f2 f3 f4 f5 */ .long func,func,func,func /* 40-43 f6 f7 f8 f9 */ .long func,num,scroll,cursor /* 44-47 f10 num scr home */ --- 534,555 ---- .long do_self,do_self,do_self,do_self /* 10-13 q w e r */ .long do_self,do_self,do_self,do_self /* 14-17 t y u i */ .long do_self,do_self,do_self,do_self /* 18-1B o p } ^ */ ! #ifdef EXTENDED_KEYBOARD ! .long do_self,caps,do_self, do_self /* 1C-1F enter ctrl a s */ ! #else ! .long do_self,ctrl,do_self,do_self /* 1C-1F enter ctrl a s */ ! #endif .long do_self,do_self,do_self,do_self /* 20-23 d f g h */ .long do_self,do_self,do_self,do_self /* 24-27 j k l | */ .long do_self,do_self,lshift,do_self /* 28-2B { para lshift , */ .long do_self,do_self,do_self,do_self /* 2C-2F z x c v */ .long do_self,do_self,do_self,do_self /* 30-33 b n m , */ .long do_self,minus,rshift,do_self /* 34-37 . - rshift * */ ! #ifdef EXTENDED_KEYBOARD ! .long alt,do_self,ctrl,func /* 38-3B alt sp caps f1 */ ! #else ! .long alt,do_self,caps,func /* 38-3B alt sp caps f1 */ ! #endif .long func,func,func,func /* 3C-3F f2 f3 f4 f5 */ .long func,func,func,func /* 40-43 f6 f7 f8 f9 */ .long func,num,scroll,cursor /* 44-47 f10 num scr home */ *************** *** 550,563 **** .long none,none,none,none /* 90-93 br br br br */ .long none,none,none,none /* 94-97 br br br br */ .long none,none,none,none /* 98-9B br br br br */ ! .long none,unctrl,none,none /* 9C-9F br unctrl br br */ .long none,none,none,none /* A0-A3 br br br br */ .long none,none,none,none /* A4-A7 br br br br */ .long none,none,unlshift,none /* A8-AB br br unlshift br */ .long none,none,none,none /* AC-AF br br br br */ .long none,none,none,none /* B0-B3 br br br br */ .long none,none,unrshift,none /* B4-B7 br br unrshift br */ ! .long unalt,none,uncaps,none /* B8-BB unalt br uncaps br */ .long none,none,none,none /* BC-BF br br br br */ .long none,none,none,none /* C0-C3 br br br br */ .long none,none,none,none /* C4-C7 br br br br */ --- 574,595 ---- .long none,none,none,none /* 90-93 br br br br */ .long none,none,none,none /* 94-97 br br br br */ .long none,none,none,none /* 98-9B br br br br */ ! #ifdef EXTENDED_KEYBOARD ! .long none,uncaps,none,none /* 9C-9F br unctrl br br */ ! #else ! .long none,unctrl,none,none /* 9C-9F br unctrl br br */ ! #endif .long none,none,none,none /* A0-A3 br br br br */ .long none,none,none,none /* A4-A7 br br br br */ .long none,none,unlshift,none /* A8-AB br br unlshift br */ .long none,none,none,none /* AC-AF br br br br */ .long none,none,none,none /* B0-B3 br br br br */ .long none,none,unrshift,none /* B4-B7 br br unrshift br */ ! #ifdef EXTENDED_KEYBOARD ! .long unalt,none,unctrl,none /* B8-BB unalt br uncaps br */ ! #else ! .long unalt,none,uncaps,none /* B8-BB unalt br uncaps br */ ! #endif .long none,none,none,none /* BC-BF br br br br */ .long none,none,none,none /* C0-C3 br br br br */ .long none,none,none,none /* C4-C7 br br br br */ --[0506]-- [0507] daemon@ATHENA.MIT.EDU (Lawrence C. Foard) Linux_Activists 01/17/92 03:48 (12 lines) Subject: mga trouble Date: Fri, 17 Jan 92 01:48:36 -0500 From: entropy@ee.WPI.EDU (Lawrence C. Foard) To: linux-activists@joker.cs.hut.fi Has anyone else had trouble with virtual consoles on monocrome cards? I downloaded the new version and it worked fine on a system with CGA or EGA but doesn't work on my monocrome system. When you try to change to another console the cursor goes away but the screen doesn't change, also typed input goes someplace else (I assume to the other console). Playing with this for a while made the system spontaneosly reboot. I'm not sure if this is a software problem or just incompatible hardware. --[0507]-- [0508] daemon@ATHENA.MIT.EDU (Brett McCoy) Linux_Activists 01/17/92 05:05 (32 lines) Subject: trying to free free page errors Date: Fri, 17 Jan 92 02:55:19 CST From: brtmac@maverick.ksu.ksu.edu (Brett McCoy) To: linux-activists@joker.cs.hut.fi I just got linux-0.12 up and running on a machine here at work tonight. Works great except for one problem, I keep getting these kernel panic's and messages that say 'trying to free free page'. I don't have any of the other information that it printed out right now but if anyone would like it I'm sure I can get it without much problem and send it to them. I have a sneaking suspicion that the particular hardware setup I have is partially the cause for the crashes: 20Mhz 386sx, 85M 3.5 drive with a 15M partition for root and a 6M partition for swap, VGA (although the VC stuff doesn't recognize any of the VGA text modes, EGA 80x24 only :( ) and 1 (that's right folks, ONE) Meg of memory. I have a feeling that the amount of paging and swapping that it is having to do is overworking some portion of the kernel and is exercising a bug pretty rigirously, but hey, what better test? I am amazed at how well it runs even with only 1M of physical memory. Now for a question, is there any way I can decrease the default number of disk buffers from 405 to something more reasonable like 100 or 200 so that there is a bit more free memory for programs (380k or so is a little tight). I can deal with a little bit decreased disk I/O performance due to the increase in buffer cache misses. Well, that's in for now folks. -- Brett McCoy Computing and Network Services brtmac@maverick.ksu.ksu.edu Kansas State University If the minimum wasn't good enough it would't be the minimum. --[0508]-- [0509] daemon@ATHENA.MIT.EDU (meajjk@Skferc.NL) Linux_Activists 01/17/92 06:38 (33 lines) Subject: No subject found in mail header From: meajjk@Skferc.NL Date: Fri, 17 Jan 92 08:42:41 +0100 To: linux-activists@joker.cs.hut.fi Lawrence C. Foard wrote: >IF YOUR WORKING ON TCP/IP OR SOCKETS READ THIS... >It appears that no one is working on sockets or TCP/IP yet? A friend and I are >planning to start working on this if no one has already started work. >If you are working on it please please write so we don't waste our time >duplicating efforts. I am not working on it, in fact i haven't managed to get Linux running yet. But i will need something like sockets to get X running. >Questions: >What ethernet boards would you like to see supported? >Currently we are planning to buy an intel board but don't have money to buy >other boards so would appreciate donations or loans of other manufactorers >cards. Any technical docs would be helpful, or source code for software that >uses them. The WD8003E from Western Digital would be nice to start with because it cheap (about $200). The source of a device driver should be somewhere on the sun.soe.clarkson.edu site and i think i also have it somewhere. Jan Jitze Krol PS. Are there any brave guys out there who want to help porting X-Windows to Linux? I think it is a bit big for one person to do it. (X11R4 is about 150Mb and X11R5 i even don't dare thinking about). But first i want to figure out what i needed for this port. --[0509]-- [0510] daemon@ATHENA.MIT.EDU (Simon Marlow) Linux_Activists 01/17/92 06:55 (27 lines) Subject: Strange GCC error Date: Fri, 17 Jan 1992 11:13:27 +0000 From: Simon Marlow To: linux-activists@joker.cs.hut.fi I got this really wierd error from GCC yesterday while trying to compile the GNU textutils package v1.1 (I know its already been done but I don't trust anything unless I've compiled it myself). The particular error occurred when compiling the file lib/regex.c using the command gcc -O -I. -I../lib -DSTDC_HEADERS -DPOSIX -DUSG -c regex.c (I think) the error was something like 'unrecognised insn at line 5285' followed by a short listing of GCC intermediate code which I havn't written down. It only occurred when optimization was turned on. I believe the problem is caused by the include file 'string.h' which defines all the string operations as inline assembly code (as the error only happened when this file was included) and in particular the 'strlen' function (as this is at line 5285 in the source). Unfortunately I was unable to repeat the error on a smaller test file but the error was completely repeatable on the regex.c file. Is this a bug in GCC? Can anyone help? Simon. --[0510]-- [0511] daemon@ATHENA.MIT.EDU (Kent Williams) Linux_Activists 01/17/92 07:54 (18 lines) Subject: Re: BSD sockets+TCP/IP Date: Fri, 17 Jan 92 06:43:01 -0600 From: williams@herky.cs.uiowa.edu (Kent Williams) To: linux-activists@joker.cs.hut.fi > [141.142.20.50]. They have a PD (or at least freely distributed) telnet > program for MS-DOS with drivers for LOTS of ethernet boards. The source > >If this is the Clarson packet driver stuff, be aware that the code >assumes you are running in 16 bit real mode. It may be non-trivial to >port them so that they work in a 32-bit protected mode. You may want to >look at them and form your own opinion. > What you need to know about an ethernet card IS contained in a packet driver; which is, after all, fairly low level. You need to know what port to stuff commands in, how to set up interrupts, where to get data out of it, and not much more. Most of the stuff will be congruent -- in fact, if linux provides any support for setting up interrupts and DMA transfers, the drivers will be simpler than the clarkson drivers. --[0511]-- [0512] daemon@ATHENA.MIT.EDU (Prof.Dr.Ir. Stolk (Brammie)) Linux_Activists 01/17/92 08:50 (21 lines) Subject: Re: X11 Date: Fri, 17 Jan 92 14:36:43 +0100 From: stolk@fwi.uva.nl (Prof.Dr.Ir. Stolk (Brammie)) To: linux-activists@joker.cs.hut.fi, meajjk@Skferc.NL Hi, About X11: Try ftping to 131.159.8.35 It features an 386 port of X11. The neat thing about it: it takes only 18MB, and features some SVGA cards. The stuff runs using SCO UNIX... the big question: will Linux do as well? About the binaries: let's get some more of them :-) Surely binaries of vi and the like are sheer nescesities. My attempt to compile elvis failed, but that was probably due to using old include files. Long live Linux, Bram Stolk --[0512]-- [0513] daemon@ATHENA.MIT.EDU (Simon Marlow) Linux_Activists 01/17/92 08:59 (27 lines) Subject: Strange GCC error Date: Fri, 17 Jan 1992 13:29:00 +0000 From: Simon Marlow To: linux-activists@joker.cs.hut.fi I got this really wierd error from GCC yesterday while trying to compile the GNU textutils package v1.1 (I know its already been done but I don't trust anything unless I've compiled it myself). The particular error occurred when compiling the file lib/regex.c using the command gcc -O -I. -I../lib -DSTDC_HEADERS -DPOSIX -DUSG -c regex.c (I think) the error was something like 'unrecognised insn at line 5285' followed by a short listing of GCC intermediate code which I havn't written down. It only occurred when optimization was turned on. I believe the problem is caused by the include file 'string.h' which defines all the string operations as inline assembly code (as the error only happened when this file was included) and in particular the 'strlen' function (as this is at line 5285 in the source). Unfortunately I was unable to repeat the error on a smaller test file but the error was completely repeatable on the regex.c file. Is this a bug in GCC? Can anyone help? Simon. --[0513]-- [0514] daemon@ATHENA.MIT.EDU (Alan B Clegg) Linux_Activists 01/17/92 09:16 (18 lines) Subject: Re: your mail To: meajjk@Skferc.nl Date: Fri, 17 Jan 92 9:01:34 EST Cc: linux-activists@joker.cs.hut.fi In-Reply-To: <9201170742.AA04804@ercx39.Skferc.NL>; from "meajjk@Skferc.nl" at Jan 17, 92 8:42 am From: Alan B Clegg > The WD8003E from Western Digital would be nice to start with because it cheap > (about $200). The source of a device driver should be somewhere on the > sun.soe.clarkson.edu site and i think i also have it somewhere. I have three of these boards that I am willing to let go for $120 each. Please let me know if you are interested. They are still in their original boxes with original documentation, etc... -abc -- abc@concert.net Alan Clegg - Network Programmer MCNC -- Center for Communications --[0514]-- [0515] daemon@ATHENA.MIT.EDU (Robert Duncan) Linux_Activists 01/17/92 11:01 (11 lines) Subject: mga trouble Date: Fri, 17 Jan 92 10:33:42 EST From: duncan@erim.org (Robert Duncan) To: entropy@ee.WPI.EDU In-Reply-To: Lawrence C. Foard's message of Fri, 17 Jan 92 01:48:36 -0500 <9201170648.AA02616@wintermute.WPI.EDU> Cc: linux-activists@joker.cs.hut.fi I've had the same problem with a hercules compatible monochrome system. Probably Linus doesn't have a monochrome system to test the code on. -Rob Duncan --[0515]-- [0516] daemon@ATHENA.MIT.EDU (Jay Maynard) Linux_Activists 01/17/92 11:10 (21 lines) Subject: Re: BSD sockets+TCP/IP Date: Fri, 17 Jan 92 09:26 CST To: Paul Rubin From: Jay Maynard Cc: linux-activists@joker.cs.hut.fi (Paul Rubin, about existing TCP/IP packages:) > The other was written by Phil Karn KA9Q and includes pretty > much everything, but I'm not sure of the exact distribution > permissions. It's called the KA9Q TCP package. The KA9Q NOS TCP/IP package is available in several flavors for anonymous FTP from ucsd.edu; look in the hamradio/tcpip/nos directory. It is licensed for amateur and non-profit educational use. NOS is probably going to be a lot of work to port to a native Linux environment, as it is a monolithic program with its own built-in multitasker and user support system...some work has been done in that area, but it's a pain. Different folks' efforts can be found on ucsd.edu as well. ...Jay Maynard --[0516]-- [0517] daemon@ATHENA.MIT.EDU (David Engel) Linux_Activists 01/17/92 11:12 (19 lines) Subject: Re: debugger for linux? From: David Engel To: klaus@ced.utah.edu Date: Fri, 17 Jan 92 9:17:11 CST Cc: Linux-activists@joker.cs.hut.fi In-Reply-To: <9201170005.AA10496@ced.utah.edu>; from "klaus@ced.utah.edu" at Jan 16, 92 5:05 pm > Is there any kind of debugger for linux? SOmething like gdb would be nice. > Is there such a beast.. yet? I'm looking into it. I suspect implementing the ptrace system call will be the hardest part. If anyone with kernel experience (any would be more than me :-) wants to tackle ptrace, let me know and I'll concentrate on compiling gdb. Also, does anybody with access to gcc 2 know of any changes from 1.4 that might affect porting gdb 4.3 to Linux? BTW, does anyone know how to patch the keyboard driver to increase the repeat rate? I like a fast keyboard and the default repeat rate is driving me nuts. David --[0517]-- [0518] daemon@ATHENA.MIT.EDU (Gautam H Thaker) Linux_Activists 01/17/92 11:14 (15 lines) Subject: Please remove me. TOo much mail traffic. Date: Fri, 17 Jan 92 11:04:26 EST From: Gautam H Thaker X-To: aitgw::Linux-Activists@niksula.hut.fi To: LINUX-ACTIVISTS@joker.cs.hut.fi I can't keep up. Please remove me. Thanks Gautam H. Thaker Internet: gthaker@atl.ge.com ("reply" won't work). GE DECNET: atl::gthaker Dialcom 8*777-6412 GE Adv. Tech. Lab. 609-866-6412 (office) Route 38, Bldg 145-2 609-866-6397 (fax) Moorestown, NJ 08057 609-767-4396 (home) --[0518]-- [0519] daemon@ATHENA.MIT.EDU (Gautam H Thaker) Linux_Activists 01/17/92 11:29 (15 lines) Subject: Please remove me. TOo much mail traffic. Date: Fri, 17 Jan 1992 11:01:04 -0500 From: Gautam H Thaker X-To: advax::Linux-Activists@niksula.hut.fi To: LINUX-ACTIVISTS@joker.cs.hut.fi I can't keep up. Please remove me. Thanks Gautam H. Thaker Internet: gthaker@atl.ge.com ("reply" won't work). GE DECNET: atl::gthaker Dialcom 8*777-6412 GE Adv. Tech. Lab. 609-866-6412 (office) Route 38, Bldg 145-2 609-866-6397 (fax) Moorestown, NJ 08057 609-767-4396 (home) --[0519]-- [0520] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 01/17/92 11:49 (89 lines) Subject: We really need a FAQ! Date: Fri, 17 Jan 92 11:34:50 -0500 From: tytso@ATHENA.MIT.EDU (Theodore Ts'o) To: linux-activists@joker.cs.hut.fi In-Reply-To: Lawrence C. Foard's message of Fri, 17 Jan 92 01:48:36 -0500, Reply-To: tytso@athena.mit.edu Hmm.... I think we really need a FAQ soon..... a lot of new people have joined the mailing list and they're posting questions which have already been discussed on this mailing list. Which is fine, since they don't know that, but it may be frustrating to people who are already on the list. Is someone willing to volunteer putting together a FAQ and posting it every month or so, along with diff's of the previous month's FAQ sheet? To all you newcomers --- Welcome! If you have the time, you may wish to look at the mailing list archives, which can be found on TSX-11.MIT.EDU. It's in ~ftp/pub/linux/mail-archives, and I have archived everything on the Linux-Activsts mailing list since November, 1991 (during the time of Linux 0.10). You may find that many of your questions are ones which have already been answered. Date: Fri, 17 Jan 92 01:48:36 -0500 From: entropy@ee.WPI.EDU (Lawrence C. Foard) Has anyone else had trouble with virtual consoles on monocrome cards? I downloaded the new version and it worked fine on a system with CGA or EGA but doesn't work on my monocrome system. The version of virtual consoles included with Linux 0.12 does indeed not work with MGA cards. This is because it attempts to use the CGA video memory. I believe Peter MacDonalnd (pmacdona@sanjuan.uvic.ca), who wrote the original VC code, has patches to change the VC code back to using buffer memory instead of video memory. Date: Fri, 17 Jan 1992 11:13:27 +0000 From: Simon Marlow I got this really wierd error from GCC yesterday while trying to compile the GNU textutils package v1.1 (I know its already been done but I don't trust anything unless I've compiled it myself)..... the error was something like 'unrecognised insn at line 5285' followed by a short listing of GCC intermediate code which I havn't written down. It only occurred when optimization was turned on. It's a bug in the machine description file included with the distributed binary of GCC. Linus added some instruction patters so that it could take advantage of the string instructions, and they didn't work out completely right. The way to fix it (for now) is to just compile that module without optimization (-O). When a new version of GCC binary is posted, hopefully the MD file can be made smart enough so that these errors won't happen. From: meajjk@Skferc.NL Date: Fri, 17 Jan 92 08:42:41 +0100 PS. Are there any brave guys out there who want to help porting X-Windows to Linux? I think it is a bit big for one person to do it. (X11R4 is about 150Mb and X11R5 i even don't dare thinking about). But first i want to figure out what i needed for this port. Date: Fri, 17 Jan 92 14:36:43 +0100 From: stolk@fwi.uva.nl (Prof.Dr.Ir. Stolk (Brammie)) About X11: Try ftping to 131.159.8.35 It features an 386 port of X11. The neat thing about it: it takes only 18MB, and features some SVGA cards. The stuff runs using SCO UNIX... the big question: will Linux do as well? What you've pointed out is the 386 server which is included in X11R5. It will probably be quite useful in bringing X to Linux, but first we need to get minor little details like BSD Networking and Sockets to Linux... A previous message sent out to mailing list (look in the archives) discussed other kernel features which would be nice to have in conjuction with X. About the binaries: let's get some more of them :-) Surely binaries of vi and the like are sheer nescesities. My attempt to compile elvis failed, but that was probably due to using old include files. Look at the "binaries" directory of the FTP sites; there's quite a bit of stuff ported already, including elvis. The program "em" which is available on in the utils.tar.Z file is a micro-gnuemacs, which may be quite useful to many people. - Ted --[0520]--