Path: utzoo!attcan!uunet!mcvax!botter!star.cs.vu.nl!...@cs.vu.nl
From: a...@cs.vu.nl (Andy Tanenbaum)
Newsgroups: comp.os.minix
Subject: Important announcement about 1.3 kernel
Message-ID: <820@ast.cs.vu.nl>
Date: 27 Jun 88 21:52:28 GMT
Sender: a...@cs.vu.nl
Reply-To: a...@cs.vu.nl (Andy Tanenbaum)
Organization: VU Informatica, Amsterdam
Lines: 209
I am about to do something that I don't like doing, and have even castigated
other people for doing. Still, under the circumstances, I am not sure what
else I can do.
I am basically finished with the V1.3 kernel with one exception: the RS232
driver. This is a feature that we have discussed here so often that I clearly
think it is worth having. Several drivers have been posted to this newsgroup,
but none of them really worked properly, and all of them made major changes to
the structure of the system. Furthermore, none of them are compatible with
the V1.3 changes made on account of the Atari version (obviously this is not
the fault of the authors, but it is an issue). Anyway, two of my students
modified tty.c to handle RS232 without changing the system structure and being
compatible with the Atari changes (e.g., process groups). Unfortunately, one
of the students has gone on vacation, and although the other is still working
on it, he doesn't have convenient access to a computer. I don't have a
terminal to test it on. The net result is that the RS232 part of the driver
has not been tested. The non-RS232 part has been tested thoroughly, as has
the rest of the kernel.
Since I can't really test it, I have decided to post the complete kernel
diffs in their current state. If you install them, you get a kernel that
works normally, and is prepared for networking (to be posted later), but
may or may not work properly when you read or write to /dev/tty1 (device
4, 1). My fervent hope is that some of the many readers of this group will
test (and if need be, debug it). As an aide to debugging, I have installed
some debugging code. There are calls to Count() and Event() scattered around
the code. The former count events, and the latter keep track of the most
recent 32 events. By hitting F5 you get a dump. All the debugging code is
termporary, and will vanish as soon as it is debugged. As one final debugging
aide, in rs_write_int contains a call to putc() to copy all RS232 output
to the screen as well as to the terminal. Remove this if you don't need it.
Finally, RS232_VECTOR is set to 12 and mpx88.s thinks this is device 1. I
am not sure if this is a good choice, but vector 11 was already in use for
Ethernet. If your configuration is different, fix these.
Please post discussions of debugging tty rather than sending me mail. Any
bugs you find will be of interest to many people.
Below are ls -l and sum listings of kernel, mm, h, and fs as they should be
after applying the fixes.
Andy Tanenbaum (a...@cs.vu.nl)
fs:
total 187
-rw-r--r-- 1 ast 2988 Jun 3 21:38 buf.h
-rw-r--r-- 1 ast 10863 Jun 3 21:38 cache.c
-rw-r--r-- 1 ast 2925 Jun 3 21:38 const.h
-rw-r--r-- 1 ast 273 Jun 3 21:38 dev.h
-rw-r--r-- 1 ast 8530 Jun 26 23:10 device.c
-rw-r--r-- 1 ast 474 Jun 3 21:38 file.h
-rw-r--r-- 1 ast 3225 Jun 3 21:38 filedes.c
-rw-r--r-- 1 ast 1502 Jun 3 21:38 fproc.h
-rw-r--r-- 1 ast 1013 Jun 3 21:38 glo.h
-rw-r--r-- 1 ast 7849 Jun 3 21:38 inode.c
-rw-r--r-- 1 ast 1943 Jun 3 21:38 inode.h
-rw-r--r-- 1 ast 5521 Jun 3 21:38 link.c
-rw-r--r-- 1 ast 15303 Jun 26 23:10 main.c
-rw-r--r-- 1 ast 4190 Jun 3 21:38 makefile
-rw-r--r-- 1 ast 7670 Jun 3 21:38 misc.c
-rw-r--r-- 1 ast 6257 Jun 3 21:38 mount.c
-rw-r--r-- 1 ast 9226 Jun 3 21:38 open.c
-rw-r--r-- 1 ast 1557 Jun 3 21:38 param.h
-rw-r--r-- 1 ast 10716 Jun 3 21:38 path.c
-rw-r--r-- 1 ast 8401 Jun 3 21:38 pipe.c
-rw-r--r-- 1 ast 5864 Jun 3 21:38 protect.c
-rw-r--r-- 1 ast 1440 Jun 3 21:38 putc.c
-rw-r--r-- 1 ast 12198 Jun 26 23:10 read.c
-rw-r--r-- 1 ast 5397 Jun 3 21:38 stadir.c
-rw-r--r-- 1 ast 8912 Jun 3 21:38 super.c
-r--r--r-- 1 ast 2081 Jun 3 21:38 super.h
-rw-r--r-- 1 ast 4312 Jun 3 21:38 table.c
-rw-r--r-- 1 ast 2620 Jun 3 21:38 time.c
-rw-r--r-- 1 ast 710 Jun 3 21:38 type.h
-rw-r--r-- 1 ast 5396 Jun 3 21:38 utility.c
-rw-r--r-- 1 ast 7367 Jun 3 21:38 write.c
h:
total 31
-rw-r--r-- 1 ast 1683 Jun 3 21:39 callnr.h
-rw-r--r-- 1 ast 7424 Jun 26 23:09 com.h
-rw-r--r-- 1 ast 4397 Jun 3 21:39 const.h
-rw-r--r-- 1 ast 2191 Jun 3 21:39 error.h
-rw-r--r-- 1 ast 1434 Jun 26 23:09 sgtty.h
-rw-r--r-- 1 ast 1115 Jun 3 21:39 signal.h
-rw-r--r-- 1 ast 861 Jun 3 21:39 stat.h
-rw-r--r-- 1 ast 4001 Jun 3 21:39 type.h
kernel:
total 292
-rw-r--r-- 1 ast 15925 Jun 26 23:10 at_wini.c
-rw-r--r-- 1 ast 8874 Jun 3 21:40 clock.c
-rw-r--r-- 1 ast 2683 Jun 26 23:10 const.h
-rw-r--r-- 1 ast 3542 Jun 3 21:40 dmp.c
-rw-r--r-- 1 ast 26050 Jun 26 23:10 floppy.c
-rw-r--r-- 1 ast 599 Jun 3 21:40 glo.h
-rw-rw-rw- 1 ast 24997 Jun 3 21:40 klib88.s
-rw-r--r-- 1 ast 10261 Jun 27 22:39 main.c
-rw-r--r-- 1 ast 3078 Jun 3 21:40 makefile
-rw-r--r-- 1 ast 5274 Jun 26 23:10 memory.c
-rw-r--r-- 1 ast 13260 Jun 26 23:13 mpx88.s
-rw-r--r-- 1 ast 9914 Jun 3 21:40 printer.c
-rw-r--r-- 1 ast 13531 Jun 27 22:39 proc.c
-rw-r--r-- 1 ast 2324 Jun 26 23:10 proc.h
-rw-r--r-- 1 ast 19824 Jun 26 23:10 system.c
-rw-r--r-- 1 ast 3617 Jun 3 21:40 table.c
-rw-r--r-- 1 ast 71474 Jun 27 22:41 tty.c
-rw-r--r-- 1 ast 742 Jun 3 21:40 type.h
-rw-r--r-- 1 ast 26312 Jun 26 23:10 xt_wini.c
mm:
total 91
-rw-r--r-- 1 ast 7857 Jun 3 21:38 alloc.c
-rw-r--r-- 1 ast 7234 Jun 3 21:38 break.c
-r--r--r-- 1 ast 744 Jun 3 21:38 const.h
-rw-r--r-- 1 ast 17059 Jun 3 21:38 exec.c
-rw-r--r-- 1 ast 9912 Jun 3 21:38 forkexit.c
-rw-r--r-- 1 ast 1572 Jun 3 21:38 getset.c
-rw-r--r-- 1 ast 799 Jun 3 21:38 glo.h
-rw-r--r-- 1 ast 7272 Jun 3 21:38 main.c
-rw-r--r-- 1 ast 1827 Jun 3 21:38 makefile
-rw-r--r-- 1 ast 1661 Jun 3 21:38 mproc.h
-rw-r--r-- 1 ast 677 Jun 3 21:38 param.h
-rw-r--r-- 1 ast 1487 Jun 3 21:38 putc.c
-rw-r--r-- 1 ast 13823 Jun 3 21:38 signal.c
-rw-r--r-- 1 ast 3143 Jun 3 21:38 table.c
-rw-r--r-- 1 ast 238 Jun 3 21:38 type.h
-rw-r--r-- 1 ast 4181 Jun 3 21:38 utility.c
Sum listings - ignore the second number (these were done on the SUN)
48128 2 h/callnr.h
21939 8 h/com.h
47686 5 h/const.h
27489 3 h/error.h
53887 2 h/sgtty.h
60522 2 h/signal.h
02791 1 h/stat.h
41394 4 h/type.h
59931 8 mm/alloc.c
10052 8 mm/break.c
45764 1 mm/const.h
23112 17 mm/exec.c
23801 10 mm/forkexit.c
38667 2 mm/getset.c
05975 1 mm/glo.h
31173 8 mm/main.c
35943 2 mm/makefile
50783 2 mm/mproc.h
22827 1 mm/param.h
18405 2 mm/putc.c
15583 14 mm/signal.c
03826 4 mm/table.c
54367 1 mm/type.h
37329 5 mm/utility.c
40004 3 fs/buf.h
58946 11 fs/cache.c
23580 3 fs/const.h
15899 1 fs/dev.h
57260 9 fs/device.c
21474 1 fs/file.h
30842 4 fs/filedes.c
36879 2 fs/fproc.h
14328 1 fs/glo.h
58546 8 fs/inode.c
00348 2 fs/inode.h
47671 6 fs/link.c
00969 15 fs/main.c
13439 5 fs/makefile
43696 8 fs/misc.c
48883 7 fs/mount.c
40669 10 fs/open.c
50155 2 fs/param.h
59468 11 fs/path.c
30543 9 fs/pipe.c
56417 6 fs/protect.c
24524 2 fs/putc.c
64036 12 fs/read.c
04463 6 fs/stadir.c
52269 9 fs/super.c
32509 3 fs/super.h
18944 5 fs/table.c
33717 3 fs/time.c
25582 1 fs/type.h
64104 6 fs/utility.c
65375 8 fs/write.c
38225 16 kernel/at_wini.c
00963 9 kernel/clock.c
28520 3 kernel/const.h
17432 4 kernel/dmp.c
64042 26 kernel/floppy.c
59854 1 kernel/glo.h
41244 25 kernel/klib88.s
10988 11 kernel/main.c
16014 4 kernel/makefile
49658 6 kernel/memory.c
43743 13 kernel/mpx88.s
64081 10 kernel/printer.c
08788 14 kernel/proc.c
39886 3 kernel/proc.h
46461 20 kernel/system.c
35196 4 kernel/table.c
17517 70 kernel/tty.c
12620 1 kernel/type.h
29207 26 kernel/xt_wini.c
|