Commit Graph

238 Commits

Author SHA1 Message Date
Garrett Wollman
aaf08d94ca Make everything compile with -Wtraditional. Make it easier to distribute
a binary link-kit.  Make all non-optional options (pagers, procfs) standard,
and update LINT to reflect new symtab requirements.

NB: -Wtraditional will henceforth be forgotten.  This editing pass was
primarily intended to detect any constructions where the old code might
have been relying on traditional C semantics or syntax.  These were all
fixed, and the result of fixing some of them means that -Wall is now a
realistic possibility within a few weeks.
1993-12-19 00:55:01 +00:00
Andrey A. Chernov
b39c878e2b Media table reorganization.
Entries for 800 and 820 fixed.
From vak@kiae.su:
incorporate Joerg Wunsch formatting code
correct handle timeouted operations
fixed entry for 720 media
1993-12-19 00:40:49 +00:00
Andrey A. Chernov
f4d3408967 Fix tsleep "waitvt" wait data from vak@kiae.su 1993-12-18 22:50:51 +00:00
Andrey A. Chernov
ed2fa05ece Reorganization of format table.
GAP values changed suitable for possible format code addition.
Read/write GAP always 2 now.
Interleave parameter added for possible format code addition.
Many logical formats added.
720K physical drive added.
Problems: still can't read 720..820 media in 1.44 drive.
1993-12-18 01:16:26 +00:00
Andrey A. Chernov
2384b3a702 Added following formats (derived from MSDOS fdformat):
800K in HD 5.25in  (maximum for DD diskettes)
1.44M in HD 5.25in (for easy distributions)
1.46M in HD 5.25in (maximum for 5.25)
Some cosmetique changes.
1993-12-16 19:47:42 +00:00
Andrey A. Chernov
cf197426bb Change default dtrwait value to 2 seconds.
Change C-style into static initializer per Bruce request.
1993-12-16 04:38:27 +00:00
Andrey A. Chernov
7ca0641bb9 No more partition bits in floppy minor.
Now minor looks like UU DDDDDD, UU - unit, DDDDDD - density.
If density == 0, CMOS-detect format assumed.
Fix attach code for correct work with unknown CMOS
floppy types.
Trick diskerr to handle new minor.
1.722M floppy in 1.44M drive popular format added.
1993-12-16 04:28:42 +00:00
David Greenman
d39cf18213 set output flags to ttydefault if COMCONSOLE is defined. 1993-12-13 13:20:50 +00:00
Andrey A. Chernov
fa4700b4f1 Add more strictly size check into Fdopen to eliminate
possible end-user errors.
Now:
1) on physical 1.2 can open logical 1.2, 720, 360H
2) on physical 1.44 can open logical 1.44, 720
3) on physical 360 can open logical 360
All other variants refused.
C-style improved in this check, multiply if's changed to switch.
1993-12-13 01:34:28 +00:00
Andrey A. Chernov
dffff499a9 Add 360K floppy support.
More work to add 720K floppy support.
Restore good old dependance of device and floppy type.
Now:
fd?a == 1.44
fd?b == 1.2
fd?c == 720
fd?d == 360 in HD
fd?e == 360
Add more strict size check in Fdopen, not it refuse:
1) Attempt to open any type expect fd?e, if you have only 360K drive.
2) Attempt to open fd?a if you have only 1.2 drive.
1993-12-12 20:26:56 +00:00
Andrey A. Chernov
20a2916818 Add popular 720k floppy in HD drive floppy type.
Restore check for NUMTYPES in Fdopen.
1993-12-12 16:46:54 +00:00
Andrey A. Chernov
04201cd182 Force HUPCL in bidirectional port open.
This don't allow it hangs forever.
1993-12-11 00:36:14 +00:00
Andrey A. Chernov
25915e75e3 1) Fix error with port recognition, speed initialization code
added to probe.
2) Force CLOCAL=on for outgoing ports and CLOCAL=off for
incoming ports into open in bidirectional case.
3) Add DELAY after writing to com_ier for fifo drain into probe.
1993-12-09 17:24:19 +00:00
Andreas Schulz
fadc21ae39 Fixed the error that a Fdopen succeeds without a found fd controller in
the system.
1993-12-04 16:13:18 +00:00
Andrew Moore
16111ced9f Reset fdc during probe.
From: <dec@lazarus.nrtc.northrop.com>
   Changes between EPSILON and RELEASE of FreeBSD have again caused
the kernel to not see my floppy disk drives.  I don't know what happened,
'cause I don't see any changes to fd.c, but here is an old fix that
I have applied to the probe routine which will solve the problem (at
least for me).  Since this is a rather brute-force solution - I understand
if you want to ignore it...

[Upgrading to pre-Beta FreeBSD caused this on my system. -AM]
1993-12-03 05:01:40 +00:00
Andrey A. Chernov
b4afc64b0b wmesg was too long (>7), fixed 1993-11-29 19:26:32 +00:00
David Greenman
97751a63e2 * Revision 2.16 1993/11/29 16:55:56 davidg
* merged in Garrett Wollman's strict prototype changes
 *
 * Revision 2.15  1993/11/29  16:32:58  davidg
 * From Thomas Sandford <t.d.g.sandford@comp.brad.ac.uk>
 * Add support for the 8013W board type
1993-11-29 17:07:33 +00:00
Rich Murphey
23fc1c7148 Fix conflicting prototypes and return values. 1993-11-27 06:32:41 +00:00
Garrett Wollman
381fe1aaf4 Make the LINT kernel compile with -W -Wreturn-type -Wcomment -Werror, and
add same (sans -Werror) to Makefile for future compilations.
1993-11-25 01:38:01 +00:00
Christoph Robitschko
5a0cfe828a Changed return(-1) in switch_scr to return(EINVAL), because -1 is
ERESTART on return from a system call.
1993-11-23 18:20:52 +00:00
David Greenman
047ea5bd0c * Revision 2.14 1993/11/22 10:55:30 davidg
* change all splnet's to splimp's
 *
 * Revision 2.13  1993/11/22  10:53:52  davidg
 * patch to add support for SMC8216 (Elite-Ultra) boards
 * from Glen H. Lowe
 *
 * Revision 2.12  1993/11/07  18:04:13  davidg
 * fix from Garrett Wollman:
 * add a return(0) at the end of ed_probe so that if the various device
 * specific probes fail that we just don't fall of the end of the function.
1993-11-22 11:08:16 +00:00
Andrey A. Chernov
aa0028f8cf Fix attach message, make separate line for it
(old version assumed that line is probe line)
1993-11-17 23:38:23 +00:00
Andrey A. Chernov
1e064bd4be timeout+sleep changed to tsleep 1993-11-15 01:33:11 +00:00
Andrey A. Chernov
0d04ba084f New sio driver from Bruce. 1993-11-14 23:29:01 +00:00
Andrey A. Chernov
e614aa8a3b Fixed minor bug in M[LSN] interpretation, added octave-tracking.
Added the slur-mark feature.
Name of ioctl's include sys/spkr.h changed to machine/speaker.h
1993-11-09 02:32:30 +00:00
Andrey A. Chernov
4649951014 Name of ioctl's include sys/spkr.h changed to machine/speaker.h 1993-11-09 02:31:53 +00:00
Andrey A. Chernov
fe04cbf968 Add missing read flush code to siostop 1993-11-08 19:36:32 +00:00
Garrett Wollman
13c0dce671 Made all header files idempotent and moved incorrect common data from
headers into a related source file.  Also fixed a bug in ed_probe() where
it was possible to fall off the end of the function
1993-11-07 17:44:34 +00:00
Andrey A. Chernov
743eb022be Russian keymap (RUKEYMAP) changes:
New syscons keys added: NEXT, DBG, RBT
AltGr Shift removed from right Alt
Shift state on -,+ keys exchanged
1993-11-04 01:49:20 +00:00
Jordan K. Hubbard
9afdb1976e Now that STAR_SAVER and SNAKE_SAVER are kernel options, add code
to make sure that bad things don't happen if both are (incorrectly)
defined at once.
1993-10-31 00:19:01 +00:00
Jordan K. Hubbard
faa78b5f58 Fixed bug where syscons.c wouldn't compile if DDB was enabled.
Removed FAT_CURSOR and STAR_SAVER as compiled in defaults - these should
be kernel options!
1993-10-31 00:09:02 +00:00
Rodney W. Grimes
2110b1cd9d Put back the $Id$ strings 1993-10-28 06:15:14 +00:00
Jordan K. Hubbard
33853f9752 This is syscons version 1.1 1993-10-28 05:27:36 +00:00
David Greenman
2bcdabe146 * Revision 2.11 1993/10/23 04:21:03 davidg
* Novell probe changed to be invasive because of too many complaints
 * about some clone boards not being reset properly and thus not
 * found on a warmboot. Yuck.
 *
 * Revision 2.10  1993/10/23  04:07:12  davidg
 * increment output errors if the device times out (done via watchdog)
 *
 * Revision 2.9  1993/10/23  04:01:45  davidg
 * increment input error counter if a packet with a bad length is
 * detected.
1993-10-23 04:52:41 +00:00
Nate Williams
eb77639e83 This is my patched version of a busmouse driver originally by Rick Macklem
(rick@snowhite.cis.uoguelph.ca).  I am currently using it with a Microsoft
InPort busmouse, under FreeBSD Epsilon.  I hadn't planned on supporting it,
but I have patched it a few times, and I guess this is now the de facto
reference version, so send me any problems or improvements.

                                                        - Gene Stark
                                                          stark@cs.sunysb.edu
                                                          October 9, 1993
1993-10-19 19:46:49 +00:00
Jordan K. Hubbard
538430ae1a Patch from stever@csuohio.edu (Steve Ratliff) to make FAT_CURSOR work
on HDA/CGA displays.
1993-10-18 02:19:54 +00:00
Rodney W. Grimes
dd05fde699 Removed all patch kit headers, sccsid and rcsid strings, put $Id$ in, some
minor cleanup.  Added $Id$ to files that did not have any version info, etc
1993-10-16 19:17:18 +00:00
Rodney W. Grimes
6f78ca6026 Removed all patch kit headers, sccsid and rcsid strings, put $Id$ in, some
minor cleanup.  Added $Id$ to files that did not have any version info, etc
1993-10-16 13:48:52 +00:00
David Greenman
836e51b4a3 * Revision 2.8 1993/10/15 10:59:56 davidg
* increase maximum time to wait for transmit DMA to complete to 120us.
 * call ed_reset() if the time limit is reached instead of trying
 * to abort the remote DMA.
 *
 * Revision 2.7  1993/10/15  10:49:10  davidg
 * minor change to way the mbuf pointer temp variable is assigned in
 * ed_start (slightly improves code readability)
 *
 * Revision 2.6  93/10/02  01:12:20  davidg
 * use ETHER_ADDR_LEN in NE probe rather than '6'.
1993-10-15 11:06:41 +00:00
David Greenman
cc44412791 Disassociate DTR and RTS. They were coupled together and shouldn't have
been. This was necessary to work around problems with some equipment
that don't respond favorably to having these both dropped simultaneously.
1993-10-14 09:13:54 +00:00
Rodney W. Grimes
b05fb556cf Use KERNBASE for locating stuff in kernel virtual memory, not hard coded
constants.
1993-10-12 06:59:36 +00:00
Rodney W. Grimes
963a0adea5 i82586 support file for Garrett Wollmans ie driver 1993-10-12 06:53:10 +00:00
Rodney W. Grimes
e191da859f > 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
 *
1993-10-12 06:52:34 +00:00
David Greenman
357eebce38 incorporated patches from Marc Frajola (marc@escargot.rain.com) to
unset TS_TBLOCK when the RBLEN falls below the low water mark.
1993-10-12 06:32:28 +00:00
Rodney W. Grimes
54b7aa6d2b Mitsumi cd rom driver from Holger Viet as fixed up by Gary Clark II.
Still a little rought, but it seems to be working.
1993-10-12 06:08:31 +00:00
Jordan K. Hubbard
11851b0ee1 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.
1993-10-08 21:21:59 +00:00
Jordan K. Hubbard
bd41f6854b Latest changs for XFree86 2.0 1993-10-04 22:23:03 +00:00
David Greenman
627d219551 * 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
1993-10-01 00:56:43 +00:00
Rodney W. Grimes
380888c9fa Change #include <sys/console.h> to <machine/console.h>, file will be moved
shortly
1993-09-30 23:59:49 +00:00
David Greenman
2da38870a3 * 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.
1993-09-30 05:27:55 +00:00
David Greenman
e34ff1781d * Revision 2.3 93/09/29 15:10:16 davidg
* credit Charles Hannum
1993-09-29 22:15:53 +00:00
David Greenman
9699168bba * 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.
1993-09-29 20:30:26 +00:00
Jordan K. Hubbard
0e583a0138 From: "Andrew A. Chernov, Black Mage" <ache@astral.msk.su>
AltGr Lock code for zero repeat count ommited, so AltGr Lock
works only one time and never again :-)
1993-09-29 00:42:10 +00:00
Jordan K. Hubbard
b5275b8103 Version number support for XFree86 1993-09-28 20:53:48 +00:00
Jordan K. Hubbard
fae56ff15f 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.
1993-09-28 00:01:18 +00:00
David Greenman
ee0ccf358a * 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
1993-09-25 01:50:15 +00:00
Rodney W. Grimes
92ed385a09 >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
1993-09-23 15:22:57 +00:00
David Greenman
60381058cd rewrote interrupt code to be cleaner, fixed up some other parts
to make it easier to add future board types.
1993-09-22 17:47:43 +00:00
Rodney W. Grimes
dc4ff321f2 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.
1993-09-15 23:27:45 +00:00
Rodney W. Grimes
02aa90d831 >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.
1993-09-15 23:03:21 +00:00
Jordan K. Hubbard
f5f7ba035f Bruce's multifarious patches for the floppy driver (not well tested, but
since what we have is crap as it is, it can't do much worse!).
1993-09-14 19:34:32 +00:00
Rodney W. Grimes
e793dbb026 From guido@gvr.win.tue.nl Wed Sep 8 13:34:16 1993
That is because TIOCMGET was broken. Yes...this is known for some time
and no, we (Bruce and me) never posted it. Why? Simply because we choose
to post fixes when we fixed most of the bugs.

Anyway..now that the slip problems are coming, here is a fix for
correct TIOCMGET behaviour.

-Guido
Note: this should be tested first (Rich?).  Tested by rgrimes
1993-09-10 16:59:16 +00:00
David Greenman
1df5695c0a As of this revision, all known bugs have been fixed. Some of the fixes include:
1) fixed 3c503 lock-up if the thinwire cable was disconnected at boot time
2) 8013EBT boards now work (quite well!) in 16bit/16k mode
3) ED_NO_DOUBLE_BUFFERING flag now works
4) slightly higer performance (about 3%) with 16bit WD/SMC boards
5) support for WD8013WC (10BaseT) boards

   Additionally, the probe code has been reorganized to be much cleaner. This
revision of the driver is 1.25. The release notes have been updated as well.
1993-09-09 07:01:23 +00:00
Jordan K. Hubbard
cc4dfeaaa0 Soren's latest syscons changes. 1993-09-08 22:11:48 +00:00
Rodney W. Grimes
bfdbfb98fd From michaele@vice.ico.tek.com Wed Sep 8 09:50:45 1993
Subject: Re: Some small errors in GAMMA
4.      Move printf("\n"); at line 491 in "/sys/i386/isa/sio.c" to after
        COM_MULTIPORT block at line 512.
From rgrimes:
The above would cause the word (multiport) with out a new line to
appear after the uart type message if you had COM_MULTIPORT enabled.
1993-09-08 17:38:05 +00:00
Rodney W. Grimes
4ada418a9b Replaced the return (1)'s with return (IO_KBDSIZE) in the probe code so
that the printfs during the probing prints the range instead of just the
start address.
1993-08-28 13:26:30 +00:00
Rodney W. Grimes
89bc97311a xxxprobe now returns the correct number of I/O registers used so that
the probe output during boot gives the I/O range instead of just the
starting address
1993-08-28 03:02:52 +00:00
Rodney W. Grimes
3c742f974a Added from: line to reference the pccons.c derivation of this code, otherwise
the BSD copyright would be very bad to have on this file.
1993-08-20 17:19:29 +00:00
Rodney W. Grimes
3b3837db61 Fixed poor timeout code in out_fdc. The timeout counter was not being
reinitialized between while loops.  Added comments about what was going
on in the out_fdc routine.

out_fdc now returns if the direction bit is not set in time instead of
trying to wait for MRQ to get cleared.
1993-08-12 09:21:20 +00:00
David Greenman
0d1a37c0f1 * Fixed problem where some rev 8013EBT boards want the DCR_LS flag
* set in order to work in 16bit mode.

   Seems also to improve performance by 15%! (?!) I think there might
be more to this flag than the manual says.
1993-08-02 10:36:05 +00:00
Jordan K. Hubbard
c3b435bb51 Updated syscons to 0.2b - please test this! It won't be in the ALPHA
release, but it's still worth testing.
1993-07-30 02:20:26 +00:00
David Greenman
269312019a * Applied fixes from Bruce Evans to fix COW bugs, >1MB kernel loading,
profiling, and various protection checks that cause security holes
  and system crashes.
* Changed min/max/bcmp/ffs/strlen to be static inline functions
  - included from cpufunc.h in via systm.h. This change
  improves performance in many parts of the kernel - up to 5% in the
  networking layer alone. Note that this requires systm.h to be included
  in any file that uses these functions otherwise it won't be able to
  find them during the load.
* Fixed incorrect call to splx() in if_is.c
* Fixed bogus variable assignment to splx() in if_ed.c
1993-07-27 10:52:31 +00:00
David Greenman
49386830c3 * Added include of systm.h to pick up inlined min/max/bcmp if you have
* them in cpufunc.h. Modified wait loop in reset to look a little better.
 * Added read for talley counters to prevent an infinite loop on old
 * 8003E's if they (the counters) overflow.
1993-07-27 03:13:50 +00:00
Jordan K. Hubbard
916347f77e Added necessary files for syscons (may move font include later, but for now
it's easier to leave there since I don't feel like breaking anything).
1993-07-26 21:21:11 +00:00
David Greenman
d0338d9612 Fixed logic problem which caused a bogus value to be written to the 3c503
asic register even if the board isn't a 3c503. This caused old 8003E's not
to work because they ignore IO address bits >10bits and the 3c503 asic is
located at +0x400....the offset was ignored by the 8003E and so the
value was written to one of the NIC registers. The bug was discovered by
Wolfgang Solfrank.
1993-07-25 23:43:30 +00:00
David Greenman
69a164c5e3 Added config file override for memory size and added flags to force
8bit or 16bit operation, and a flag to disable transmitter double buffering.
   See the updated "ed.relnotes" file for information about how to set
the flags.
   This should be considered the first "production"  release. It still
needs a manual page, though.
1993-07-20 23:16:50 +00:00
Jordan K. Hubbard
ba52f64934 Applied Andrew's patch to fix loop-on-logout problem. 1993-07-20 02:06:49 +00:00
Jordan K. Hubbard
c58613f344 Changed comment relating to memsize to be a little less misleading. 1993-07-20 02:02:12 +00:00
Jordan K. Hubbard
2a1e5244b2 Fixed to allow iosiz config parameter to override what was (for me,
incorrectly) probed.  This allows you more flexibility in getting weird
WD 80x3 clones to work.
1993-07-20 01:39:24 +00:00
Jordan K. Hubbard
bb5d729efe Removed check for interrupting board before interrupts were enabled.
This should result in more AST clones getting seen.
1993-07-20 00:22:30 +00:00
Rodney W. Grimes
7ea04e18b1 Fixed sccs id to be From:\n com.c xxxx. The sccs id was changed by the
patch kit and it should not have been.
1993-07-18 21:27:57 +00:00
David Greenman
2a6c898016 Modified attach printf's so that the output is compatible with the "new"
way of doing things. There still remain several drivers that need to
be updated.  Also added a compile-time option to pccons to switch the
control and caps-lock keys (REVERSE_CAPS_CTRL) - added for my personal
sanity.
1993-07-15 17:53:14 +00:00
David Greenman
43d5830f3d fixed bugs in the probe routine uncovered by the previous fix. 1993-06-27 10:28:28 +00:00
David Greenman
3340e10399 fixed bug in probe that causes it to complain about 'Invalid irq configuration'
if the interface isn't present in the system.
1993-06-26 02:32:26 +00:00
David Greenman
c8378b88c6 Second beta release of device driver for SMC/WD 80x3 ethernet boards +
some additional comments.
1993-06-23 16:22:04 +00:00
David Greenman
258445a954 Second beta release of device driver for WD/SMC 80x3 and 3c503 ethernet boards 1993-06-22 12:10:07 +00:00
David Greenman
8eece53087 Beta release of device driver for SMC/WD80x3 and 3C503 ethernet boards. 1993-06-14 22:21:25 +00:00
Rodney W. Grimes
5b81b6b301 Initial import, 0.1 + pk 0.2.4-B1 1993-06-12 14:58:17 +00:00