ƒ³`470 123 565 930 480 248 185 650 465 214 171 162 119 125 120 141 1042 305 259 132 754 178 152 172 703 204 656 222 307 212 201 2459 128 292 134 372 475 134 237 114 2042 1947 302 270 258 412 127 199 253 353 155 221 699 160 369 680 1895 191 208 150 613 135 179 152 292 218 148 150 218 140 273 186 163 123 122 192 264 143 207 129 156 294 146 445 3078 145 297 370 2224 836 306 179 221 166 145 143 170 135 139 218 769 412 1389 180 155 156 358 543 182 177 218 160 222 7372 147 180 242 168 213 265 481 124 212 342 1428 K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-09-15T23:03:21.000000Z K 7 svn:log V 468 >From: paul@u.tvt.se (Paul Pries) >Subject: Bad bug in kbdtables.h [FreeBSD] I found a bug in /sys/i386/isa/kbdtables.h which contain the different keyboard layouts for syscons. This regards all tables exept the Danish and US. When compiling the kernel with any other keymapping than Danish or none at all (US), you get an error that 'key_map' is undefined. This is because there is a typo in the name of the struct containing the tables, keymap intead of key_map. END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-09-15T23:27:45.000000Z K 7 svn:log V 833 Removed $Log$ section and patch kit headers. And here is the full message for Bruces changes: >From: bde@kralizec.zeta.org.au (Bruce Evans) >Subject: fixes for fd driver I think I've fixed some bugs in the 0.2.4 fd driver. 1. The main cause of hangs was that there was no timeout for seeks. So attempting i/o with no floppy in the drive hung iff a seek was required. 2. Opens of unattached drives were allowed. The kernel usually paniced soon after due to a bad pointer. 3. Some timeout functions ran at splclock() instead of splbio(). This may not have mattered. 4. The state machine was left in a funny state after a timeout. 5. Some function headers were new-style. 6. I picked up some code posted the other day to implement label ioctls. Now `disklabel fd0' works. See a comment for how to modify conf.c. END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-09-15T23:29:11.000000Z K 7 svn:log V 383 Enabled floppy drive ioctl's so that disklabel on a floppy is now quite and works correctly. This is derived from notes in Bruce Evans lattest patches to fd.c: >From: bde@kralizec.zeta.org.au (Bruce Evans) >Subject: fixes for fd driver 6. I picked up some code posted the other day to implement label ioctls. Now `disklabel fd0' works. See a comment for how to modify conf.c. END K 10 svn:author V 3 alm K 8 svn:date V 27 1993-09-16T00:45:34.000000Z K 7 svn:log V 155 The load_fd() now initializes the `interactive' variable to -i instead of -v (my fault). The extract() command now rm's /tmp/cat, not /bin/cat (my fault). END K 10 svn:author V 3 alm K 8 svn:date V 27 1993-09-17T06:41:45.000000Z K 7 svn:log V 93 added /var/spool and /var/spool/lock to CPIO_DIRS. These are needed by both tip and kermit. END K 10 svn:author V 3 alm K 8 svn:date V 27 1993-09-17T09:05:52.000000Z K 7 svn:log V 557 Added the following to the opening statement of install: Before starting, it is important to know your hard disk's geometry (i.e., number of cylinders, heads and sectors/track). If installing FreeBSD on the same disk as another operating system, then the two systems should use the same geometry. In particular, FreeBSD's default geometry is inappropriate for MS-DOS. So in this case, the DOS geometry should be used instead. [This seems to be true for SCSI disks. What about IDE? With the new boot blocks, can we ignore the disks true geometry??] END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-09-18T00:00:16.000000Z K 7 svn:log V 368 >From: Drew Hess >Date: Thu, 16 Sep 1993 23:35:48 -0700 (PDT) There is a typo in disktab in the NetBSD-0.9 distribution. This may be already fixed in NetBSD-current, but it's not in any of the source that I've sup'ed. line 9 reads: # sc #sectors/cylinder, nc*nt default should read: # sc #sectors/cylinder, ns*nt default END K 10 svn:author V 3 jkh K 8 svn:date V 27 1993-09-18T03:38:48.000000Z K 7 svn:log V 121 Make sure permissions on registry location are readable by pkg_info. Add new % sequence expansion for command execution. END K 10 svn:author V 3 jkh K 8 svn:date V 27 1993-09-18T03:39:21.000000Z K 7 svn:log V 79 Doc new % sequence expansion for command execution. Fixed bad verbose message. END K 10 svn:author V 3 jkh K 8 svn:date V 27 1993-09-18T03:39:50.000000Z K 7 svn:log V 70 Added code for doing % sequence expansion, added new @unexec command. END K 10 svn:author V 3 alm K 8 svn:date V 27 1993-09-18T08:20:32.000000Z K 7 svn:log V 27 Added /usr/distbin to PATH END K 10 svn:author V 3 alm K 8 svn:date V 27 1993-09-18T08:23:19.000000Z K 7 svn:log V 33 Added /etc/remote to CPIO files. END K 10 svn:author V 3 alm K 8 svn:date V 27 1993-09-19T01:21:15.000000Z K 7 svn:log V 28 Added /var/run to CPIO_DIRS END K 10 svn:author V 3 jkh K 8 svn:date V 27 1993-09-19T01:52:33.000000Z K 7 svn:log V 49 Finally stuck a version number on this thing! :) END K 10 svn:author V 3 alm K 8 svn:date V 27 1993-09-19T20:45:10.000000Z K 7 svn:log V 949 1) Install now creates a DOS partition for the first (and only the first) Primary (un-Extended) DOS partition, providing /dev/xx0h is available. It is mounted on /dos by default. The /etc/fstab entry omits the dump and fsck fields, i.e.: /dev/xx0h /dos pcfs rw The Secondary DOS partition is not used (System ID 0xF2), because I don't know what that is. 2) Fixed default sizes so that if someone attempts to install BSD on a 24 Mb partition by accepting defaults, they don't end up with a 1 Mb /usr partition (up to USRMIN Mb's). In this case, all space is split between swap and root. TODO: 1) Extend load_fd() to support loading distribution files directly from the DOS partition of the hard disk. 2) Provide translated parameters to the install program (maybe add an option to fdisk). Currently, the true geometry is used as default, which is inappropriate for coexistence with DOS. 3) Support installing on multiple or secondary disks. END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-09-20T06:27:06.000000Z K 7 svn:log V 208 The dynamically allocated struct's where not getting properly initialized as malloc memory is NOT zerod. Added bzero's after the malloc calls to make sure that things are initialized. >From Julian Elischer END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-09-20T06:28:13.000000Z K 7 svn:log V 162 Increase the timeout from 2000 counts to 6000 counts, reported by someone on the net (I lost the mail). This should fix some units not showing up during probes. END K 10 svn:author V 4 nate K 8 svn:date V 27 1993-09-20T23:47:51.000000Z K 7 svn:log V 39 Now works with/without obj directories END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-09-21T05:30:35.000000Z K 7 svn:log V 657 >From julian@jules.DIALix.oz.au Fri Sep 10 22:58:30 1993 >Date: Sat, 11 Sep 93 12:59:39 +0800 1/ fix bug where cd0a was unusable because it was compared against the number of 2k blocks not the number of 512byte blocks.. gave an error for all reads past 1/4 way through the disk (cd0d was ok). 2/ fix open code so that it now notices if a disk has been changed and updates the disklabel. 3/ use the new error handling code from st.c 4/ start adding stuff to get ready for using cd_scsi_cmd from cd_start (like is done in st and sd) 5/ more general cleanups including making dmesg report sector size of disk.. (believe it or not SUN drives use 512 byte) END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-09-21T06:12:20.000000Z K 7 svn:log V 82 Increase the number of ptys to 12, puts the kernel sizes very close to the limit. END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-09-21T06:16:07.000000Z K 7 svn:log V 56 Increased pseudo-device bpfilter from 1 unit to 4 units END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-09-21T08:14:32.000000Z K 7 svn:log V 76 Added BSD.local.dist to MTREE files so that it gets installed in /etc/mtree END K 10 svn:author V 3 alm K 8 svn:date V 27 1993-09-21T10:24:42.000000Z K 7 svn:log V 610 Extended load_fd() to support reading from the first Primary DOS partition of the boot disk. So we have yet another medium via which to load the FreeBSD distribution files. load_fd() has options for listing and (if reading from the C: drive) changing directories. load_fd's notation assumes that the first Primary partition on disk is the DOS drive C: (since this and only this one is mounted by install). Otherwise, the notation may be a bit confusing. We'll know the assumption is bad if people complain about not finding files on their "C:" drive... Added a device file existence check to kc.profile. END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-09-21T20:26:02.000000Z K 7 svn:log V 107 Bring README into sync with Julians latest README (1 line deleted which was a reference to README.AHA1742) END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-09-21T22:28:57.000000Z K 7 svn:log V 559 >From juliane@dcd.wa.gov.au Mon Sep 20 20:36:49 1993 Date: Tue, 21 Sep 93 10:25:12 WST As I mentionned yesterday, I have made an interim release of the new scsi code. This is basically a half-way point in the rewrite. It impliments more dynamic allocation and some new structures. The basic logic of how the system fits together has not changed. Once this set of changes has been verified as having "NOT BROKEN" the system, then I will move on to other changes that first required these changes. BIG NOTE: THIS IS COMMITED ONTO A BRANCH FOR TESTING ONLY! END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-09-21T23:03:42.000000Z K 7 svn:log V 125 >From: julian@jules.DIALix.oz.au Tue Sep 21 08:50:02 1993 Date: Tue, 21 Sep 93 21:36:31 +8:00 Fixed reverse test in new code END K 10 svn:author V 3 alm K 8 svn:date V 27 1993-09-22T07:38:18.000000Z K 7 svn:log V 214 added to install_notes instructions for loading distribtuion files from a MS-DOS partition. Minor cleanup: fixed spelling error in inst1.install capitalized sentences in kc.profile reworded initial load_fd options END K 10 svn:author V 4 rich K 8 svn:date V 27 1993-09-22T16:51:03.000000Z K 7 svn:log V 118 Increaed the fixed static buffer sizes and maximum hunk size that otherwise causes the XFree86 1.3 patch set to fail. END K 10 svn:author V 2 dg K 8 svn:date V 27 1993-09-22T17:47:43.000000Z K 7 svn:log V 109 rewrote interrupt code to be cleaner, fixed up some other parts to make it easier to add future board types. END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-09-23T15:22:57.000000Z K 7 svn:log V 2361 >From: bde@kralizec.zeta.org.au (Bruce Evans) Date: Thu, 16 Sep 93 01:35:10 +1000 Julian writes: >In fact DEVIDLE and FINDWORK ended up being basically equivalent. >the bit I wonder about, is the returning of 0.. What (other than >another request from somewhere else in the kernel) is going to start >work on the next item on the queue? I think removing FINDWORK would make things clearer. Nothing much is going to start work on the next item. However, it is pointless to continue processing the queue for the same unready drive. Aborting all reads and trying harder to perform all writes would be better. Julian writes. > no, actually it should be: > fdt = fd_data[FDUNIT(minor(dev))].ft; Fixed. From: bde@kralizec.zeta.org.au (Bruce Evans) Date: Thu, 16 Sep 93 22:56:01 +1000 The fd driver reported the wrong cylinder/head/sector numbers after an error (ST3 is only valid after a sense-drive command), and didn't report fs block numbers (diskerr was not used). There was an old problem with writes to block fd devices. Try this: 1. write protect floppy in fd0. 2. tar cf /dev/fd0a /dev/null. Repeat a few times. Later writes tend to terminate earlier. 3. un-write protect floppy. 4. repeat step 2. The writes tend to return 0, 2048, 4096, ... and then succeed. This was caused by a bug in vfs__bios.c. (The bug is fixed in NetBSD's vfs_bio.c.) fd.c sets bp->b_resid to nonzero after an error. vfs__bios.c was not initializing bp->b_resid. This causes some writes to terminate early (e.g., writes to block devices; see spec_write()). Related funnies: 1. Nothing tries to write the residual bytes. 2. The wd driver sets bp->b_resid to 0 after an error, so there's no way anything else could write the residual bytes. 3. I use the block fd device for tar because the raw device seemed to have more bugs long ago, and because it ought to be able to handle buffering more transparently (I don't want to have to know the device size). But spec_write() always uses the size BLKDEV_IOSIZE == 2048 which is too small. For disks it should use the size of one track (rounded down to meet the next track boundary or the i/o size). Here it would help if the DIOCGPART ioctl worked. But DIOCGPART is not implemented for floppies, and the disk size is ignored except for partitions of type FS_BSDFFS. Bruce END K 10 svn:author V 3 jtc K 8 svn:date V 27 1993-09-23T17:41:08.000000Z K 7 svn:log V 36 Entries so RPC servers are started. END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-09-24T13:03:39.000000Z K 7 svn:log V 195 This is gnu lib malloc from NetBSD verbatium, here is the version info that Chris created: this version of GNU malloc was obtained from prep.ai.mit.edu on 9/22/1993. There was no version noted. END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-09-24T17:20:35.000000Z K 7 svn:log V 38 Added libmalloc to top level Makefile END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-09-24T17:51:10.000000Z K 7 svn:log V 275 >From: "J.T. Conklin" Date: Fri, 24 Sep 1993 10:19:20 -0700 Fixed bug that was reported (with patch) on gnu.utils.bug. Immediate operands of the pushw instruction were being output as 32 bits, rather than the 16 bits they were supposed to be. END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-09-24T21:00:29.000000Z K 7 svn:log V 378 >From: rich@id.slip.bcm.tmc.edu.cdrom.com (Rich Murphey) Date: Sun, 12 Sep 1993 18:19:05 -0500 This will allow you to compile and run a freebsd kernel with shared memory support. I haven't tested the shm*() calls yet. You run out of page table descriptors if you specify 4Mb of sharable memory (SHMMAXPGS=1024). I don't know what the limit is, but SHMMAXPGS=64 works. Rich END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-09-24T21:01:11.000000Z K 7 svn:log V 38 Enable SYSVSHM, and set SHMMAXPGS=64. END K 10 svn:author V 2 dg K 8 svn:date V 27 1993-09-25T01:50:15.000000Z K 7 svn:log V 145 * Revision 1.30 93/09/24 18:43:31 davidg * fix bug where Compex boards ident themselves as 8003E's and the * 16bit override wasn't working END K 10 svn:author V 3 jkh K 8 svn:date V 27 1993-09-25T15:50:43.000000Z K 7 svn:log V 22 Fixed spelling errors END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-09-26T16:40:41.000000Z K 7 svn:log V 1944 Import NetBSD version of dbsym (below is rlog of there version), and add $Id$ to Makefile. ---------------------------- revision 1.8 date: 1993/08/02 17:57:02; author: mycroft; state: Exp; lines: +5 -0 Add RCS identifiers, remove some completely useless RCS logs and patchkit headers, and a few other insignificant changes. ---------------------------- revision 1.7 date: 1993/07/19 16:50:10; author: mycroft; state: Exp; lines: +43 -15 Kitchen sink version of dbsym. -f force; don't complain if db_symtab is missing -g debugging; include line number and function info -x remove local symbols -T addr specify load address (necessary to determine file positions) ---------------------------- revision 1.6 date: 1993/07/18 10:34:52; author: mycroft; state: Exp; lines: +1 -1 Hmmm. I suppose text_Adr really should be an int... ---------------------------- revision 1.5 date: 1993/07/18 09:44:12; author: mycroft; state: Exp; lines: +12 -6 Add -T option to specify load address of kernel (like ld); default to KERNBASE for compatibility. ---------------------------- revision 1.4 date: 1993/07/12 18:01:51; author: brezak; state: Exp; lines: +19 -2 Changes for GCC2 generated symbols. ---------------------------- revision 1.3 date: 1993/07/11 08:43:34; author: cgd; state: Exp; lines: +2 -2 if no symbols present, don't complain, and exit with 0 exit status. that way we can use dbsym from kernel makefiles and actually pay attention to its errors... ---------------------------- revision 1.2 date: 1993/06/18 06:52:03; author: cgd; state: Exp; lines: +3 -1 convert magic numbers to network byte order, and attendent changes ---------------------------- revision 1.1 date: 1993/03/21 09:59:19; author: cgd; state: Exp; branches: 1.1.1; Initial revision ---------------------------- revision 1.1.1.1 date: 1993/03/21 09:59:20; author: cgd; state: Exp; lines: +0 -0 initial import of 386bsd-0.1 sources END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-09-26T19:44:33.000000Z K 7 svn:log V 1849 This Makefile is for FreeBSD, not 4.3 BSD-Reno. Moved $Id$. Added STRIP=, DBSYM=, and LOAD_ADDRESS?= Now use LOAD_ADDRESS for linking kernel and for dbsym, added strip -x to cut kernel size. Added machde.o: dependency, this will be needed in the future, and for now it does not hurt anyone. Cleaned out conf.o: dependency, mkdep does the right things. Same for param.c: This is really a Merge in of NetBSD's Makefile.i386, here is the relevant rlog info: ---------------------------- revision 1.27 date: 1993/08/27 23:58:20; author: brezak; state: Exp; lines: +2 -2 Need LOAD_ADDRESS for depend pass. ---------------------------- revision 1.25 date: 1993/07/19 16:52:16; author: mycroft; state: Exp; lines: +3 -3 Add ${DEBUG} to CFLAGS and -f to dbsym. ---------------------------- revision 1.22 date: 1993/07/18 10:08:22; author: mycroft; state: Exp; lines: +5 -6 Change to work with new config stuff for specifying load address. ---------------------------- revision 1.20 date: 1993/07/18 09:47:40; author: mycroft; state: Exp; lines: +6 -5 Use new -T option to dbsym. ---------------------------- revision 1.17 date: 1993/07/11 08:42:22; author: cgd; state: Exp; lines: +2 -2 don't ignore errors from dbsym... it might say that, e.g. there's not enough symbol space! ---------------------------- revision 1.14 date: 1993/06/06 23:29:03; author: cgd; state: Exp; lines: +2 -2 make conf.o actually depend on conf.c... ---------------------------- revision 1.8 date: 1993/04/29 03:27:39; author: cgd; state: Exp; lines: +5 -10 use ed instead of ex. the script to use is identical, and we might want to switch back to using ex when our ex supports -. ---------------------------- revision 1.5 date: 1993/03/24 18:48:57; author: cgd; state: Exp; lines: +1 -1 now use absolute path for dbsym ---------------------------- END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-09-26T23:21:12.000000Z K 7 svn:log V 205 Added at 0xFE100000 to config line as this kernel HAS to load high, and it is the place people seem to look for samples. Also since this kernel has so so many symbols in it also added SYMTAB_SPACE=89000. END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-09-27T00:36:57.000000Z K 7 svn:log V 173 define SHMMAXPGS where it is suppose to be, you can over ride this with a kernel config options "SHMAXPGS=xxx", default is currently 64 pages due to limit kernel map space. END K 10 svn:author V 3 jkh K 8 svn:date V 27 1993-09-28T00:01:18.000000Z K 7 svn:log V 165 Change to sio for recognising the last serial port on a multiport card correctly. Updated syscons to 0.2e, added features for upcoming XFree86 2.0, fixed crashbug. END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-09-28T17:02:34.000000Z K 7 svn:log V 315 >From: chmr@edvz.tu-graz.ac.at (Christoph Robitschko) Date: Tue, 28 Sep 1993 09:03:13 +0100 (MET) The only place I found with a printf("status %x") is in /sys/i386/isa/lpt.c, and looks much like a left-over debugging printout... And it was... I changed it to an lprintf (which is defined if debuggin is on) Rod END K 10 svn:author V 3 jkh K 8 svn:date V 27 1993-09-28T20:53:48.000000Z K 7 svn:log V 35 Version number support for XFree86 END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-09-28T21:50:59.000000Z K 7 svn:log V 102 Convert another printf into an lprintf since this should only be output for debugging. Thanks Chris. END K 10 svn:author V 3 jkh K 8 svn:date V 27 1993-09-29T00:42:10.000000Z K 7 svn:log V 160 From: "Andrew A. Chernov, Black Mage" AltGr Lock code for zero repeat count ommited, so AltGr Lock works only one time and never again :-) END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-09-29T01:11:19.000000Z K 7 svn:log V 256 >From: "Andrew A. Chernov, Black Mage" Date: Wed, 29 Sep 1993 01:54:53 +0300 To bring this error try to make two swap partitons on one disk: one of the partitions will be not recognized. Fix is simple: set uninitialized val variable. END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-09-29T02:25:59.000000Z K 7 svn:log V 59 Updated for new location of syscons fonts and keymap files END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-09-29T02:37:41.000000Z K 7 svn:log V 124 Add symbolic name for system page directory end, and change constant to a calculation for the system page directory tables. END K 10 svn:author V 2 dg K 8 svn:date V 27 1993-09-29T20:30:26.000000Z K 7 svn:log V 607 * Revision 2.2 93/09/29 13:23:25 davidg * added no multi-buffer override for 3c503 * * Revision 2.1 93/09/29 12:32:12 davidg * changed multi-buffer count for 16bit 3c503's from 5 to 2 after * noticing that the transmitter becomes idle because of so many * packets to load. * * Revision 2.0 93/09/29 00:00:19 davidg * many changes, rewrites, additions, etc. Now supports the * NE1000, NE2000, WD8003, WD8013, 3C503, 16bit 3C503, and * a variety of similar clones. 16bit 3c503 now does multi * transmit buffers. Nearly every part of the driver has * changed in some way since rev 1.30. END K 10 svn:author V 2 dg K 8 svn:date V 27 1993-09-29T22:15:53.000000Z K 7 svn:log V 69 * Revision 2.3 93/09/29 15:10:16 davidg * credit Charles Hannum END K 10 svn:author V 2 dg K 8 svn:date V 27 1993-09-30T05:27:55.000000Z K 7 svn:log V 277 * Revision 2.4 93/09/29 21:24:30 davidg * Added software NIC reset in NE probe to work around a problem * with some NE boards where the 8390 doesn't reset properly on * power-up. Remove initialization of IMR/ISR in the NE probe * because this is inherent in the reset. END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-09-30T19:49:42.000000Z K 7 svn:log V 583 From: Julian Elischer Date: Thu, 30 Sep 93 20:42:05 +0800 I have just found a bug in the timeot routines for all four adapter drivers. This leads to a crash in (most/some) of the case, should a timeout actually occur. I cannot be sure what versions various of you are running, however the following two bugs are in the first few lines of {aha,ahb,uha,bt)_timeout 1/ the variable 'unit' is used to set up another variable before it is initialised. 2/ the printf may reference the structure element ->adapter. this should be adapter_unit END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-09-30T20:12:37.000000Z K 7 svn:log V 1797 >From: vak@zebub.msk.su (Serge V.Vakulenko) Date: Thu, 30 Sep 1993 15:13:17 +0300 Description: Old wt driver is too incomplete and buggy. It does not support Archive controllers, BSD-like tape ioctls, multiple tape controllers, different tape density etc. Fix: This driver is a replacement of the old one. It was not tested on different controllers, though. This is the streamer tape driver for 386bsd and FreeBSD, which supports Wangtek and Archive controllers. It was developed as a replacement of the old Wangtek tape driver from CMU. In comparison with the CMU driver, this version has the following enhancements: 1) Support for Archive SC402 and SC499 tape controllers added. 2) Support for up to three tape controllers on the same machine. 3) Support for BSD-style ioctls MTIOCGET, MTIOCTOP. Mt command now works adequately with this driver. 4) Asynchronous REWIND and FSF operations, close() will not wait until they finish. The next open() will wait for it instead. 5) Use of WTQICMD ioctl is limited to ERASE and RETENS operations. This prevents the user from locking the tape driver by strange tape operations. 6) Tape density switching added. 7) The status of the process, blocked on the tape operation, is displayed at the WCHAN column of the `ps' command as: wtread reading data from the tape wtwrite writing data to the tape wtrfm reading the tape marker wtwfm writing the tape marker wtrew rewinding the tape wterase doing WTQICMD ERASE operation wtretens doing WTQICMD RETENS operation wtorew doing MTIOCTOP REW/OFFL operation wtorfm doing MTIOCTOP FSF operation wtowfm doing MTIOCTOP WEOF operation Block interface (writing blocks less than 2048 bytes) is not functioning pwoperly. Use raw interface instead. END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-09-30T20:18:59.000000Z K 7 svn:log V 95 Support for new wt driver. Removed old references to as* disk types since they are long gone. END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-09-30T20:44:32.000000Z K 7 svn:log V 111 Only configure one cd unit now since the code is fully dynamic, add comment about this to the device cd0 line. END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-09-30T20:45:37.000000Z K 7 svn:log V 54 Remove we0, since it is being removed from the system END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-09-30T23:16:17.000000Z K 7 svn:log V 516 This is a fix for the 32K DMA buffer region that was not accounted for, it relocates it to be after the BIOS memory hole instead of right below the 640K limit. THANK YOU CHRIS!!! From: Date: Wed, 29 Sep 93 18:49:58 -0700 basically, reserve a new 32k space right after firstaddr, and put the buffer space there... the diffs are below, and are in ~cgd/sys/i386/i386 (in machdep.c) on freefall. i obviously can't test them, so if some of you would look the diffs over and try them out... END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-09-30T23:31:37.000000Z K 7 svn:log V 39 Added share/syscons/scrnmaps directory END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-09-30T23:59:49.000000Z K 7 svn:log V 83 Change #include to , file will be moved shortly END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-10-01T00:00:43.000000Z K 7 svn:log V 56 New resting home for console.h, it is machine specific. END K 10 svn:author V 2 dg K 8 svn:date V 27 1993-10-01T00:56:43.000000Z K 7 svn:log V 200 * Revision 2.5 93/09/30 17:44:14 davidg * patch from vak@zebub.msk.su (Serge V.Vakulenko) to work around * a hardware bug in cheap WD clone boards where the PROM checksum * byte is always zero END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-10-01T04:20:19.000000Z K 7 svn:log V 121 Remove old ethernet drivers if_ec, if_ne, and if_we from config files and from files.i386, they are no longer supported. END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-10-01T04:26:21.000000Z K 7 svn:log V 52 Fixed cd0 line to match the GENERIC* kernel configs END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-10-01T04:40:57.000000Z K 7 svn:log V 54 Changed address freebsd-comments to freebsd-questions END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-10-01T04:43:56.000000Z K 7 svn:log V 121 Updated to reflect the fact the there is no longer an ne driver, told to use ed0 as the replacement, noted new addresses END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-10-01T19:22:43.000000Z K 7 svn:log V 44 Release level changed from GAMMA to EPSILON END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-10-01T21:34:23.000000Z K 7 svn:log V 176 Split the src-tarball target up into multiple targets, there is now a tar ball for each top level src directory, plus the base tar ball that has the very toplevel files in it. END K 10 svn:author V 3 jtc K 8 svn:date V 27 1993-10-04T21:58:53.000000Z K 7 svn:log V 94 Allow expressions like "expr 'ABC' : '^.*$' to work as is done in other expr implementations. END K 10 svn:author V 3 jtc K 8 svn:date V 27 1993-10-04T22:07:27.000000Z K 7 svn:log V 71 Document the new, less restrictive, behavior of the matching operator. END K 10 svn:author V 3 jkh K 8 svn:date V 27 1993-10-04T22:21:10.000000Z K 7 svn:log V 31 Latest changes for XFree86 2.0 END K 10 svn:author V 3 jkh K 8 svn:date V 27 1993-10-04T22:23:03.000000Z K 7 svn:log V 30 Latest changs for XFree86 2.0 END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-10-06T03:35:03.000000Z K 7 svn:log V 96 Added /dev/zero and /dev/io, they have been around for a while, time to have some /dev entries. END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-10-06T20:49:17.000000Z K 7 svn:log V 167 From ljo: machdep.o is a defined to be a target in 2 places. This was caused by the addition of the LOAD_ADDRESS stuff. Removed the extranious target of machdep.o. END K 10 svn:author V 3 jkh K 8 svn:date V 27 1993-10-08T01:19:35.000000Z K 7 svn:log V 51 Fix problems with executing from current directory END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-10-08T01:36:20.000000Z K 7 svn:log V 110 Christoph Robitschko manual page fixes to correct the references to vmunix by replacing the name with 386bsd. END K 10 svn:author V 3 jkh K 8 svn:date V 27 1993-10-08T02:38:15.000000Z K 7 svn:log V 37 More paranoid dealings with system() END K 10 svn:author V 3 jkh K 8 svn:date V 27 1993-10-08T02:39:36.000000Z K 7 svn:log V 64 Allow ^C to interrupt with some semblance of politeness to cgd. END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-10-08T10:47:13.000000Z K 7 svn:log V 197 Removed patch kit headers, and rcsid, add $Id$, relocate Terry Lamberts copyright to match the location that it is in NetBSD. Remove the __main() {} dummy function, it belongs in kern/init_main.c END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-10-08T11:31:40.000000Z K 7 svn:log V 50 Architecture specific syscalls (i386) from NetBSD END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-10-08T12:49:55.000000Z K 7 svn:log V 348 Removed patch kit header. Cleaned up tabbing and removed extra blank lines to match NetBSD. Added $Id$. Added MID_MACHINE from NetBSD. Removed definition of DELAY() for non-kernel soures. Fixed some small english errors that had been corrected in NetBSD. File is now identical to NetBSD's, but will be changing soon for some of my clean up work. END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-10-08T13:01:34.000000Z K 7 svn:log V 2980 Fix definitions to be in terms of a minimum number of constants by using the SHIFT value as the basis for the other values, for example instead of: #define NBPG 4096 #define PGSHIFT 12 use: #define PGSHIFT 12 #define NBPG (1 << PGSHIFT) =================================================================== RCS file: /a/cvs/386BSD/src/sys/i386/include/param.h,v retrieving revision 1.3 diff -c -r1.3 param.h *** 1.3 1993/10/08 12:49:55 --- param.h 1993/10/08 12:53:19 *************** *** 52,76 **** #define ALIGNBYTES (sizeof(int) - 1) #define ALIGN(p) (((u_int)(p) + ALIGNBYTES) &~ ALIGNBYTES) - #define NBPG 4096 /* bytes/page */ - #define PGOFSET (NBPG-1) /* byte offset into page */ #define PGSHIFT 12 /* LOG2(NBPG) */ #define NPTEPG (NBPG/(sizeof (struct pte))) - #define NBPDR (1024*NBPG) /* bytes/page dir */ - #define PDROFSET (NBPDR-1) /* byte offset into page dir */ #define PDRSHIFT 22 /* LOG2(NBPDR) */ #define KERNBASE 0xFE000000 /* start of kernel virtual */ #define BTOPKERNBASE ((u_long)KERNBASE >> PGSHIFT) ! #define DEV_BSIZE 512 #define DEV_BSHIFT 9 /* log2(DEV_BSIZE) */ #define BLKDEV_IOSIZE 2048 #define MAXPHYS (64 * 1024) /* max raw I/O transfer size */ - #define CLSIZE 1 #define CLSIZELOG2 0 /* NOTE: SSIZE, SINCR and UPAGES must be multiples of CLSIZE */ #define SSIZE 1 /* initial stack size/NBPG */ --- 52,79 ---- #define ALIGNBYTES (sizeof(int) - 1) #define ALIGN(p) (((u_int)(p) + ALIGNBYTES) &~ ALIGNBYTES) #define PGSHIFT 12 /* LOG2(NBPG) */ + #define NBPG (1 << PGSHIFT) /* bytes/page */ + #define PGOFSET (NBPG-1) /* byte offset into page */ #define NPTEPG (NBPG/(sizeof (struct pte))) #define PDRSHIFT 22 /* LOG2(NBPDR) */ + #define NBPDR (1 << PDRSHIFT) /* bytes/page dir */ + #define PDROFSET (NBPDR-1) /* byte offset into page dir */ #define KERNBASE 0xFE000000 /* start of kernel virtual */ #define BTOPKERNBASE ((u_long)KERNBASE >> PGSHIFT) ! #define KERNSIZE 0x00C00000 /* size of kernel virtual */ ! #define DEV_BSHIFT 9 /* log2(DEV_BSIZE) */ + #define DEV_BSIZE (1 << DEV_BSHIFT) + #define BLKDEV_IOSIZE 2048 #define MAXPHYS (64 * 1024) /* max raw I/O transfer size */ #define CLSIZELOG2 0 + #define CLSIZE (1 << CLSIZELOG2) /* NOTE: SSIZE, SINCR and UPAGES must be multiples of CLSIZE */ #define SSIZE 1 /* initial stack size/NBPG */ *************** *** 92,99 **** #ifndef MCLSHIFT #define MCLSHIFT 11 /* convert bytes to m_buf clusters */ #endif /* MCLSHIFT */ ! #define MCLBYTES (1 << MCLSHIFT) /* size of a m_buf cluster */ ! #define MCLOFSET (MCLBYTES - 1) /* offset within a m_buf cluster */ #ifndef NMBCLUSTERS #ifdef GATEWAY --- 95,102 ---- #ifndef MCLSHIFT #define MCLSHIFT 11 /* convert bytes to m_buf clusters */ #endif /* MCLSHIFT */ ! #define MCLBYTES (1 << MCLSHIFT) /* size of an m_buf cluster */ ! #define MCLOFSET (MCLBYTES - 1) /* offset within an m_buf cluster */ #ifndef NMBCLUSTERS #ifdef GATEWAY END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-10-08T13:40:54.000000Z K 7 svn:log V 49 Define the types of cpu's there are, from NetBSD END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-10-08T16:52:45.000000Z K 7 svn:log V 200 >From NetBSD Change the cpu "i386" line to 2 lines: cpu "I386_CPU" cpu "I486_CPU" This is so we can do real CPU classification of code. Fix missing depend for assym.s which does depend on genassym.c END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-10-08T20:19:23.000000Z K 7 svn:log V 273 Remove the ``loader overlaps bss, kernel must bzero'' printf since that is so often reported as an error condition when it is not. We print the size of things so for those who want to know if this happened they can figure it out from the size information that is printed. END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-10-08T20:45:12.000000Z K 7 svn:log V 2126 All: removed patch kit headers and sccsids, add $Id$. This is a general clean up and reallignment with NetBSD-current where possible. genassym.c: removed extranious include of reg.h removed old FP_* defines that have been ifdefed out since the patch kit removed PCB_SIGC that is not referenced anywhere add trapframe and sigframe defines add KERNBASE define for use in locore.s locore.s: include npx.h and use NNPX for turning on and off FPU include machine/cputypes.h for the types of cpu (used in cpu_identify) change SYSPDREND to be one higher, this is really the base of the next area, and will be changing again next time I revise the file Reverse the NOP defines, you now get slow NOP's by default, this may be what is casuing us trouble with some systems. If you want the NOPS to be null you now need to have options DUMMY_NOPS. Now get esym from the boot blocks which don't pass it yet, and it is not used, but this will be changing. Move the bit_colors stuff to be in with the rest of Bruces SHOW_A_LOT things for debugging. Added NetBSD's CPU type probe code, we now know what type of CPU we are running on. Adjust kernel pde calcuation to correct for change in SYSPDREND, no longer need the +1. machdep.c include npx.h and use NNPX for turning on and off FPU include isa.h, map.h(new file), exec.h in preperation for changes that are still in process. Add some of the code for MACHINE_NONCONTIG that will alow us to better map around the BIOS memory area. Now print the version, cpu id, real memory and availiable memory during boot. Correct the calculation of bufpages, the code was mixing pages and bytes, it now does the right things. Removed Bill's hack for limiting the erronous calculation. add the identifycpu print out code from NetBSD. remove the definition of the sigframe struct, it belongs in frame.h put in printf's about syncing disks on a halt/reboot. Change the halted message to be a little easier reading. Clean up of the dump messages, makes the source and the output much more readable. Change 0,0 in several places to have spaces after the commas. END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-10-08T20:51:00.000000Z K 7 svn:log V 739 All: Remove patch kit headers, and add $Id$ This is mostly to align some more code with NetBSD. cpu.h: Remove the old function vs. include configuration stuff that was ifdefed out when we went to inline functions. Remove the define of resettodr that made it a nop, there is already a function that makes it a nop, no need to #define one. Remove the #defines of processor types, they are now defined in cputypes.h, #include that file. Add struct cpu_nameclass for support of cpu types. frame.h: include sys/signal.h, it will be needed in the future. put the sigframe structure here that was in machdep.c pcb.h: Add multiple inclusion protection. Add pcb_ldt and pcb_ldt_len to pcb structure, this is for the user mode ldt. END K 10 svn:author V 3 jkh K 8 svn:date V 27 1993-10-08T21:21:59.000000Z K 7 svn:log V 213 Removed FAT_CURSOR as default since it breaks certain CGA displays and it is better to conform to the lowest common denominator. Those wishing to retain it can always use options FAT_CURSOR in their config files. END K 10 svn:author V 3 jkh K 8 svn:date V 27 1993-10-09T00:48:26.000000Z K 7 svn:log V 87 Handle both signals and errors in child processes, rather than just signals as before. END K 10 svn:author V 4 chmr K 8 svn:date V 27 1993-10-09T08:31:39.000000Z K 7 svn:log V 127 Changed the "Insert filesystem floppy" prompt to give the user a choice in which drive he wants the root file system (A or B). END K 10 svn:author V 2 dg K 8 svn:date V 27 1993-10-09T15:29:04.000000Z K 7 svn:log V 75 Correct spelling of "SHMMAXPGS" so the config override will actually work. END K 10 svn:author V 3 jkh K 8 svn:date V 27 1993-10-09T16:56:44.000000Z K 7 svn:log V 53 Add devsw entries for upcoming sound blaster driver. END K 10 svn:author V 3 jkh K 8 svn:date V 27 1993-10-09T17:00:04.000000Z K 7 svn:log V 51 Added sb entries for upcoming sound blaster driver END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-10-09T23:56:53.000000Z K 7 svn:log V 74 Remove patch kit header, add $Id$, fix tabing on sound blaster cdev entry END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-10-09T23:59:13.000000Z K 7 svn:log V 39 Put sound blaster in alaphabetic order END K 10 svn:author V 3 jkh K 8 svn:date V 27 1993-10-10T01:46:53.000000Z K 7 svn:log V 47 Try copy if rename of temporary catpage fails. END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-10-10T02:09:44.000000Z K 7 svn:log V 121 Added PDRSHIFT and KERNSIZE so that the PDR offsets can be calculated in locore.s instead of being constants (3F8, 3FA). END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-10-10T05:06:44.000000Z K 7 svn:log V 672 You can now specify the type of floppy you want built (floppy3 or floppy5) with a Makefile override. The default is floppy5 since all distribution floppies must be <= 1.2Mb so that every one can use them. If you want to make 1.44MB floppies with more space on them do a setenv FLOPPY floppy3 before running make. >From: "Jordan K. Hubbard" Date: Sun, 10 Oct 1993 05:11:51 -0700 I went to make myself some boot floppies straight off the dist today and ran into the fact that I'm using a 3.5" floppy as my drive A, so I did the following (you can still use floppy5 as your default - I just have it set to floppy3 for my machine). END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-10-10T06:01:44.000000Z K 7 svn:log V 315 Added a compile time #error so that if the user does not specify on of the proper I_X86CPU in the config file the following error will occur while building the kernel: (had to line wrap the error for this message) ../../i386/i386/machdep.c:343: #error This kernel is not configured for one \ of the supported CPUs END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-10-10T06:07:57.000000Z K 7 svn:log V 1291 SYSPDROFF and SYSPDREND are now calculated using KERNBASE, KERNSIZE and PDRSHIFT. The SYSTEM constant that was defined in this file has been replaced with KERNBASE from param.h. Changed almost all # style comments to /* */ C style comments. Several comments cleaned up so that they make a little more since. In the comments that describe C calling conventions to assembler routines used a comma space sequence to seperate arguments and removed the space between the function name and the argument list. Removed useless comments like /* clr eax */. Changed all comma space sequences on assemble instructions to just be comma. Removed spaces after $ operators to make the file consistent, this may need to change again (ie: $KERNBASE should probably be $(KERNBASE), but for now it all seems to work just fine.) This may become a problem with the C pre-processor. Changed several double blank lines to single blank lines that where used to seperate the I/O routines, these routines are blocked enough that we don't need double blank lines between them. Changed sequence of I/O routines to be all input functions, all output functions instead of just the opposite. Moved the SHOW_A_LOT debug stuff to near the end of the file. Changed two occurances of the constant 0xfff to NBPG-1. END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-10-10T16:25:13.000000Z K 7 svn:log V 84 Added if_ie entry for Garett Wollmans ATT driver, the drives will be imported soon. END K 10 svn:author V 3 jkh K 8 svn:date V 27 1993-10-10T20:24:47.000000Z K 7 svn:log V 63 Added files necessary for automating packing of distributions. END K 10 svn:author V 3 jkh K 8 svn:date V 27 1993-10-10T20:25:31.000000Z K 7 svn:log V 64 If require script fails, don't try to delete installed package. END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-10-11T02:43:42.000000Z K 7 svn:log V 261 Fixed the options hd(1,... to be more accurate (removed word options it now reads: printf("use hd(1,a)/386bsd to boot sd0 when wd0 is also installed\n"); I know the person wanted more explination, but there is little room in the boot blocks for verbose text! END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-10-11T04:53:23.000000Z K 7 svn:log V 446 >From: Julian Elischer Subject: Re: Error reading from DAT (fwd) Date: Mon, 11 Oct 1993 03:02:39 -40962758 (WST) Some tapes won't do anything until you tell them to load. Other tapes think that being asked to load is a great excuse to make the next command return a "unit attention" (media changed) error. Since we need to do the load, throw in a dummy instruction to cop the error. specifically for DEC DAT drives. END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-10-11T06:19:40.000000Z K 7 svn:log V 86 Add support for mitsumi cd rom driver from Holger Viet, as fixed up by Gary Clark II. END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-10-11T07:39:13.000000Z K 7 svn:log V 81 Add support for Holger Viets mitsumi cd rom driver as prepared by Gary Clark II. END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-10-12T06:08:31.000000Z K 7 svn:log V 121 Mitsumi cd rom driver from Holger Viet as fixed up by Gary Clark II. Still a little rought, but it seems to be working. END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-10-12T06:24:02.000000Z K 7 svn:log V 64 Add ie0 (ATT ether net driver) and mcd0 (Mitsumi cd rom driver) END K 10 svn:author V 2 dg K 8 svn:date V 27 1993-10-12T06:32:28.000000Z K 7 svn:log V 130 incorporated patches from Marc Frajola (marc@escargot.rain.com) to unset TS_TBLOCK when the RBLEN falls below the low water mark. END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-10-12T06:52:34.000000Z K 7 svn:log V 7274 > Gcc2 generates memcpy calls when doing some structure copying in the > code. As this memcpy generation is done by the compiler it doesn't > work to have memcpy a macro. Instead I made it a static function that > calls bcopy. Okay, I tracked down the d*mn thing that is causing the memcpy to be emmitted by gcc2. In the following patch is a fix to eliminate the one place that was causing gcc to do the memcpy in function ie_readframe for the ie_recv_frame_desc rfd = *(ie->rframes[num]) structure copy. I also fixed the code so that the NS (XNS) support would compile with out error and removed the cruft #define ns_* stuff from the softc structures (I did this a while back for all the other either drivers) Removed the $Log$ and all of the old log stuff, that is all kept in the cvs tree, no need to duplicate it in the file... I'll copy it into my commit message so that it is all retained, except the revision numbers are going to get screwed up. It now compiles cleanly under my LINT kernel... > I have not yet tested this on the AT&T fiver cards yet. But, Wollman > has used it on various other AT&T cards. I'm pretty sure Terry also > uses this driver. $Log$ stuff from Garretts original file * $Log$ * Revision 1.32 1993/06/20 15:56:15 wollman * Fixed warning message. * * Revision 1.31 93/06/20 15:52:28 wollman * More compilation lint. * * Revision 1.30 93/06/20 15:48:16 wollman * Commented all the rest of the cast-qual warnings. Might be * fixed someday by changing the prototypes of bcopy(), bzero(), etc. * * Revision 1.29 93/06/20 15:40:13 wollman * Started fixing some of the cast-qual warnings (most just commented). * * Revision 1.28 93/06/12 20:39:14 wollman * Changed definition of MK_24 to silence -Wcast-qual. * * Revision 1.27 93/06/08 17:05:57 wollman * Attach routine now returns void. * * Revision 1.26 93/06/08 16:31:21 wollman * Deleted attempt to set watchdog timer, since we don't use it. * * Revision 1.25 93/04/16 22:15:31 wollman * Fixed infinite loop in iestart() which would cause the transmitter * to constantly step on the Ethernet, sending the same two packets over * and over again. This crashes the router (really!) and makes other * network users very angry. * * Revision 1.24 93/04/14 23:57:47 wollman * Increased transmit buffer size from 1504 to 1512, just in case I don't * understand how the MTU is used. * * Revision 1.23 93/04/14 23:16:19 wollman * Fix iestart() so that it only tries to execute a command if one was * queued up (oops...). * * Revision 1.22 93/04/14 23:02:16 wollman * Unknown changes. * * Revision 1.21 93/04/12 18:29:33 wollman * Added multiple transmit commands. Note that they are always queued in * pairs (there are only two to begin with), and the I flag is only set * on the second one. This should decrease interrupt activity somewhat. * * Revision 1.20 93/04/12 15:36:05 wollman * Changed setup of config block to take into account difference between * StarLAN (10BASE-T) and Ethernet: StarLAN is Manchester, Ethernet is NRZ. * * Revision 1.19 93/03/23 18:58:44 wollman * Raised count of receive buffers from 32 to 48 and included analysis of * memory usage in a comment near that definition. * * Revision 1.18 93/03/18 03:59:53 wollman * Last try to get large TCP windows to work... * * Revision 1.17 93/03/18 03:54:10 wollman * Added RNR processing as a part of receive interrupts. Hopefully this * will make everything Just Work now. * * Revision 1.16 93/03/18 03:23:24 wollman * Still having problems with RNR conditions. Basic problem: say we * set TCP window to 16k, which is a semsible value. Then smart * partners will blast 16k to us, of which we can fit 8k minus a bit * into our buffers. (Need to look at that memory map..) So, we get * an RNR interrupt. The problem is, what do we need to do in this case? * The original code doesn't work, but it doesn't hang the system either. * * Revision 1.15 93/03/18 02:37:00 wollman * Disabled watchdog timer. This gets called from a timeout somewhere, * which is running up at softclock. This is at a higher priority than * we are, so we can get interrupted in the process of receiving something * by the timer expiration, which is not a nice thing to have happen. * Question: how can we keep this functionality, but do it in sync with * our interrupts? (Ugh!) * * Revision 1.14 93/03/18 02:35:46 wollman * Fixed some more problems with receive code---it works! * * Revision 1.13 93/03/17 20:15:59 wollman * Think we fixed the serious (showstopper) bugs in 1.12. * * Revision 1.12 93/03/15 17:45:39 wollman * Changed filtering logic dramatically to avoid the unnecessary copyin * for BPF or multicast routing when the packet is not for us. (We * have to run in promiscuous mode in this case.) We still need to * deal with the problem of allocating one mbuf per receive buffer; * we should be able to get away with a single mbuf for all reasonable * incoming packets, and using an mbuf cluster will help avoid unnecessary * copying of data. * * Revision 1.11 93/01/30 20:23:15 wollman * Fiddled with reset code to hopefully make it work better when the * watchdog timer expires. Question: why does it make a difference that * we do the same thing through ieioctl() as we were doing before. The * old code, when iereset() was called, the receive unit would completely * die. But, a cycle of ifconfig ie0 down ; ifconfig ie0 up' would bring * things back to normal. So, we try to mimic that now. Grrr... * * Revision 1.10 93/01/29 17:26:50 wollman * Finally fixed multicast routing/BPF mb_map full problem!!!! * It turned out that, when we received a packet not for us, we * would just return from ie_readframe(), *WITHOUT* freeing the * mbuf that the packet was in. So, when running in promiscuous * mode (i.e., multicast routing or BPF without -p), we would have * (on our extremely busy subnet 4) a memory leak of epic proportions. * * We now hold on to a single mbuf chain allocated in this way, * and the next time a packet is read, we free it. Also, the * next time a packet is transmitted, we free it. This way, * we never lose more than 6 mbufs total (and on average more like * 3). * * Revision 1.9 93/01/23 14:22:21 wollman * Added some StarLAN Fiber modifications from L. Jonas Olsson. * * Revision 1.8 93/01/23 14:02:34 wollman * Added support for IP multicasting. * * Revision 1.7 92/11/21 17:51:59 wollman * Added StarLAN Fiber version point to my driver. * * Revision 1.6 92/11/20 18:21:45 wollman * Fixed documentation, made out-of-mbuf condition an error. * * Revision 1.5 92/11/20 18:14:02 wollman * Move change of ethertype to host byte order so that it's after * bpf_mtap. Hopefully, this will allow us to listen to incoming * IP packets. * * Revision 1.4 92/11/20 18:11:00 wollman * Added code to drop packets when we run out of mbufs rather than * panicking. This should alleviate the problems observed when using tcpdump. * * Revision 1.3 92/11/14 14:12:40 wollman * Added BPF support code. * * Revision 1.2 92/11/14 13:30:26 wollman * Added RCS keywords * END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-10-12T06:53:10.000000Z K 7 svn:log V 51 i82586 support file for Garrett Wollmans ie driver END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-10-12T06:59:36.000000Z K 7 svn:log V 84 Use KERNBASE for locating stuff in kernel virtual memory, not hard coded constants. END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-10-12T07:13:12.000000Z K 7 svn:log V 145 Add PHYSTOKV used in scsi drivers with a correct definition based on KERNBASE. Change #define to #define on lines that had it wrong END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-10-12T07:15:38.000000Z K 7 svn:log V 72 Remove erronous definitions of PHYSTOKV, correct one is in param.h now. END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-10-12T12:08:16.000000Z K 7 svn:log V 116 Fixed PHYSTOKV, addition operator on pointers is the wrong thing to do here. This is really a crock, but it works. END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-10-12T13:53:25.000000Z K 7 svn:log V 168 Eliminate definition of I386_PAGE_SIZE and use NBPG instead Replace 0xFE000000 constants with KERNBASE Use new definition NKPDE in place of a first-last+1 calculation. END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-10-12T13:58:01.000000Z K 7 svn:log V 384 Eliminate definition of I386_PAGE_SIZE and use NBPG instead Cleaned up tabs vs spaces after #define to make file consistent. Removed now unused definitions of I386_PAGE_SIZE and I386_PDR_SIZE Note That these two where unused and had the wrong values anyway! Changed I386_KPDES to NKPDE Changed I386_UPDES to NUPDE Redid constant assignments of *PTDI's to be sizeable and relative. END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-10-12T15:09:37.000000Z K 7 svn:log V 28 KPTDI_LAST renamed to KPTDI END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-10-12T15:33:18.000000Z K 7 svn:log V 115 Add Page Table Directory Indexes (NKPDE, KPTDI, PTDPTDI, APTDPTDI) to be used to replace more constants in locore. END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-10-13T06:32:06.000000Z K 7 svn:log V 245 Disable rpc services so that inetd no longer hangs when you are not running portmapper. These are site specific functionality and should only be enabled for sites that want them, not by default. These services REQUIRE portmapper to be running END K 10 svn:author V 7 rgrimes K 8 svn:date V 27 1993-10-13T07:11:11.000000Z K 7 svn:log V 1330 Removed hack that did the R_SHIFT of unsigned numbers, no longer need to do this as I have changed to using PDTI's as the bases for the vm system layout. Eliminate constants SYSPDROFF and SYSPDREND, now use NKPTE to control the size of the kernel virtual space. Eliminate constant PDRPDROFF, now use PDTDTPI to control location of PTD, PTDmap and PTDpde Eliminate constant APDRPDROFF, now use APTDPTDI to control location of APTD, APTDmap and APTDpde. Still need to fix Sysmap location (it is still a constant). .globl statements are now consistent with respect to , the being removed from all .globl statements. Document the fillkpt macro as to what registers control what. Fix some comments that went past column 80, and clean/line some others up. Remove constand for _Crtat, now use KERNBASE+constant, this still needs work. Replace constants for offsets of sigcode parameters with symbolic names from assym.s Mark the sigreturn() call with XXX since we use the hardcoded constant for the system call number, this is bogus and should be a #define or something some place! The kernel before and after this change was verified with cmp, not one byte changed. These are all cosmetic clean up changes that makes the code more correct and easier to move the kernels virtual address space and size. END