Commit Graph

1657 Commits

Author SHA1 Message Date
mycroft b03c4f17ca Remove two bogus splx()s. 1994-03-14 13:32:56 +00:00
hpeyerl 936ff09fcd Fix for trailer support reported by <sommerfeld@orchard.medford.ma.us> 1994-03-14 06:57:25 +00:00
mycroft fe3d0b99c3 Prefix the busy-wait messages with `ignore this:' so people stop reporting
it as a bug.
1994-03-12 22:36:40 +00:00
mycroft 9ab5683dc7 Fix problem with reading the disk label if it's not at the beginning of the
disk.
1994-03-12 22:32:48 +00:00
cgd 39f57c7820 copy appropriate hardware config bits from config's flags 1994-03-12 08:04:19 +00:00
cgd 86ac0459be fix some of the last; thanks to charles for looking it over... 1994-03-12 07:43:03 +00:00
cgd c38cf8e43e support new ioctls. fix the way CRTSCTS is used, etc. Seperate 'hardware'
and 'software' flags.  beginnings of multiport support.
1994-03-12 07:25:16 +00:00
mycroft 15d0f84500 Fix bug in last change. 1994-03-12 04:10:03 +00:00
mycroft 15d758c39a Remove backward compatibility hacks for config(8), as they are no longer
useful.
1994-03-12 03:45:03 +00:00
mycroft d884f7c425 Update to match config(8). 1994-03-12 03:34:02 +00:00
mycroft d72e576cfb Rearrange top-level configuration to be more consistent. 1994-03-12 03:29:20 +00:00
mycroft 119f3ea688 Various:
Put WDF_ERROR in the wdc_softc, to avoid gratuitously forcing non-active drives
into single-sector mode on the next transfer.  Arrange to wait for an interrupt
after wdsetctlr(); this avoids long busy-wait delays, and gets rid of the
`extra interrupt' messages (except for one immediately after autoconfig on some
machines).  Replace some uses of wdsetctlr() with simply lowering wd->sc_state;
no point in forcing this immediately.  Allow control operations to time out.
Enable the warnings for long busy-wait delays by default.  Some other minor
things not worth mentioning.
1994-03-11 23:29:12 +00:00
mycroft 99dbc0692d Add a heuristic for detecting old config(8)s. This is very temporary. 1994-03-10 22:30:06 +00:00
mycroft 390f5990bb Now that the disk probe routines are actually called, they need to return
something.
1994-03-10 21:52:07 +00:00
mycroft b8be52a88c Update for new config; handles subdevices differently. 1994-03-10 21:38:46 +00:00
mycroft 367c93feb4 Updates to match config(8). 1994-03-10 20:52:09 +00:00
mycroft 0c19458c6f More updates for new config. 1994-03-10 20:05:30 +00:00
mycroft aa45779df7 Update for new config. 1994-03-10 19:57:20 +00:00
mycroft 095308adeb Add isa_dmaabort(). 1994-03-10 18:14:32 +00:00
mycroft e4102b8797 Cleanup to fit standard coding conventions, and *many* bugs fixed. 1994-03-10 05:18:33 +00:00
mycroft aab638bd07 Fix NS handling. 1994-03-09 17:19:10 +00:00
mycroft 3a57542a30 Back out previous change for now. 1994-03-09 07:58:39 +00:00
mycroft a692d2185a Inline spl*() calls. 1994-03-08 13:24:46 +00:00
mycroft a618881dd7 #include cpu.h in all files which use spl*(). 1994-03-08 12:21:10 +00:00
mycroft 49051114a6 Major cleanup and many bugs fixed; based in part on Brad Huntting's version
for BSD/386.  More to be done when the low-level interrupt system is replaced.
1994-03-08 08:12:56 +00:00
mycroft 5a17003403 Some changes inspired by Bruce Evans's driver:
Consolidate error reporting in one function.  Actually use the dk_status and
dk_error fields, and pass around only the error bit to avoid lots of unneeded
assignments and tests.  No functional differences.
1994-03-07 05:54:44 +00:00
mycroft 991225bfc8 Remove DKFL_QUIET. 1994-03-07 03:18:35 +00:00
ws 581b6ca207 Don't let uninitialized variable slip by 1994-03-06 19:34:46 +00:00
mycroft 41cc9cb4f2 Better delay() from magnum branch. 1994-03-06 17:37:56 +00:00
mycroft 5f4063cc56 DELAY() --> delay(). This is not a macro. 1994-03-06 17:21:44 +00:00
mycroft 0c082bcaf8 DELAY() --> delay(). This is not a macro. 1994-03-06 17:18:43 +00:00
mycroft 87ed28e74e Move the drive select and various other things into wdcommand(), to avoid
duplicating code.
1994-03-05 08:17:06 +00:00
mycroft 3e02952c52 Make sure we clear the interrupt when necessary. Why this isn't needed on
my hardware is a mystery.
1994-03-04 23:43:14 +00:00
mycroft 652712272f Add another missing splx(). 1994-03-04 17:51:10 +00:00
mycroft 0f92f76ceb Remember to splx() on some error conditions. 1994-03-04 17:45:22 +00:00
mycroft ef3c1bf7e6 Start the timeout loop *after* we've decided there is a disk there. 1994-03-04 04:15:24 +00:00
mycroft 220512c2a8 De-ANSIfy. Move the timeout counter into struct disk. Remove unneeded args
to wd[gs]etctlr().  Other minor changes.
1994-03-04 03:43:48 +00:00
hpeyerl 499a02a6a9 New probe for 3c579's (EISA). EISA cards still don't work but I
have no idea when I'll be able to work on this next.
1994-03-04 01:31:50 +00:00
mycroft 34115459a4 Upload the ether address to the card after a reset, per Matt Kimmel. 1994-03-03 15:30:27 +00:00
mycroft fa396ad402 Watch `seek complete' bit per IBM documentation. Clean up wdioctl(). Other
minor cleanup.
1994-03-03 01:58:21 +00:00
mycroft 7b734f94ec Be more careful about clearing the controller and drive active flags. 1994-03-02 23:27:13 +00:00
mycroft 37135f9686 Add 8003W and 8003EB, per David Greenman. 1994-03-02 22:47:36 +00:00
mycroft 21118b1bc4 Don't busy-wait for read or write completion. 1994-03-02 22:07:00 +00:00
mycroft 469206981a Fix prototype of wdintr(). 1994-03-02 21:43:42 +00:00
mycroft e9326b3ba7 Make wdc_wait() do an implicit wait_for_unbusy(). Pass structure pointers
rahter than unit numbers where appropriate.  Fix conflict if two drives have
I/O pending at the same time.  Add some more sanity checks.  Some other minor
cleanup.
1994-03-02 21:42:31 +00:00
mycroft 81de6fa982 Increment outbound packet count, per Matt Kimmel. 1994-03-02 16:23:23 +00:00
hpeyerl a37cf2aecc Make probe routines return amount of space used. Still needs some
work to determine difference between SB/SB-pro.
1994-03-02 16:23:10 +00:00
mycroft 165d9e602c Fix the 790 interrupt table, per Christoph Robitschko. 1994-03-02 03:40:46 +00:00
mycroft 9091bc8257 Remove some dead code. 1994-03-01 18:22:52 +00:00
mycroft 7dd7c20604 Clean up DMA code. Mask and unmask channels. Warn if terminal count not
reached.
1994-03-01 18:16:33 +00:00
deraadt 83c054bf10 Driver should now work on new & old bt742/747/445 versions of the
BusTech cards. Fixes from Michael VanLoon <michaelv@iastate.edu>
KNF'd too.
1994-03-01 12:42:36 +00:00
mycroft 69b37af13f Clean up a bit more; make it look like other drivers. Remove SIOCGIFADDR. 1994-03-01 05:41:26 +00:00
cgd 92dba352d6 format cop, plus fix up ether_type byte order difference.
things that i think look bogus are marked "XXX" with "cgd" in the
same line; some enet-savvy person should look through them.
1994-03-01 04:12:25 +00:00
hpeyerl a65ae4142d Driver for 3Com Etherlink (3c501)
>From Matthew E. Kimmel (kimmel@cs.umass.edu)
1994-03-01 02:45:00 +00:00
mycroft 8ba740e6ab Get the residual count right. 1994-02-26 19:49:25 +00:00
mycroft 060ee7dbab Clean up busy-wait code a little, and we need a special disksort() to skip
over bufs in a combined transfer.
1994-02-26 19:00:51 +00:00
mycroft 969cea2357 Fix bug from 1.43 correctly. 1994-02-26 17:59:46 +00:00
mycroft 4299a2baec Fix typo. 1994-02-26 17:13:44 +00:00
mycroft aeae0fd5e3 Various cleanup, and fix last night's bug. 1994-02-26 17:10:12 +00:00
mycroft fa83b6f469 Fix typo. 1994-02-26 00:08:01 +00:00
mycroft a7cdc040ec Some more stylistic cleanup. 1994-02-26 00:00:17 +00:00
hpeyerl e56750e9d0 Remove backwoods compatibility. 1994-02-25 23:09:26 +00:00
mycroft 7f6bce365b Fix an obvious bug that could stall the queue. 1994-02-25 18:30:37 +00:00
mycroft 2c3b28e0f9 Remove some redundant code. 1994-02-25 18:17:30 +00:00
mycroft 7e6ee0b562 Increase polling delay. 1994-02-25 18:08:21 +00:00
mycroft 9091e07409 Generalize busy-wait loops. 1994-02-25 17:45:28 +00:00
mycroft faf08f7262 Don't bother #ifdefing things that are needed and always enabled. 1994-02-25 16:54:41 +00:00
mycroft f6cee22427 Don't reimplement disksort(). 1994-02-25 16:43:48 +00:00
mycroft 373782a3af `We are the KNF. You will be assimilated.' 1994-02-25 16:40:47 +00:00
mycroft 8e023368fd Add clockmask. 1994-02-22 23:39:32 +00:00
mycroft a8889484e3 Add clockmask. 1994-02-22 23:36:09 +00:00
mycroft 34a3a5ea06 Fix copyright. No code by G. Clark left. 1994-02-21 15:23:59 +00:00
mycroft 0a6f2656f8 Fixed probe routine from Holger Veit; lots of other cleanup by me. 1994-02-21 15:23:11 +00:00
mycroft 485e7af18d Forgot to enable the interrupt on Ultras. 1994-02-20 04:05:26 +00:00
mycroft 7408373b25 Speed it up a little... 1994-02-19 03:36:12 +00:00
mycroft 06dbad88db Minor tweak of no importance. 1994-02-19 02:43:53 +00:00
mycroft 5f76c23bdf Combined version from magnum branch. Somewhat faster and less buggy. 1994-02-18 19:50:56 +00:00
mycroft 7e5b65e9d4 Simplify a couple of bits, since IFF_MULTICAST is always set. 1994-02-17 07:20:06 +00:00
mycroft bc67661c6a Fix the credits. 1994-02-16 20:52:37 +00:00
mycroft 811c50e72e Fix typo. 1994-02-16 20:22:04 +00:00
mycroft c540418d24 Use IFF_ALLMULTI correctly. 1994-02-16 20:15:18 +00:00
mycroft 04a992fa41 Add copyright notices. 1994-02-16 19:28:19 +00:00
mycroft a25bda954d Finish 507 probe routine. 1994-02-16 19:04:41 +00:00
mycroft 1a8d283a97 Move elink_reset() into a separate file, and add a generic elink_idseq(). 1994-02-16 17:59:11 +00:00
hpeyerl 19219795da Add common reset function so if_ep and if_ie don't reset each-other.
(this is a 3commonality)
1994-02-16 07:26:50 +00:00
mycroft e0b1614dc7 Remove some dead code. 1994-02-16 03:03:46 +00:00
mycroft 3ecfc99ae9 Make epsendidseq() look less like it was transliterated from assembler. 1994-02-15 22:57:09 +00:00
mycroft 2670ac57bc Pull from magnum branch. The way this driver does multicast is somewhat
bogus.
1994-02-15 20:56:51 +00:00
mycroft 79b447f626 Hack to make this closer to new config. 1994-02-15 19:37:12 +00:00
mycroft 692010351e Remove imbedded RCS logs. 1994-02-15 15:08:24 +00:00
mycroft ccba59071a Make the multicast filter calculation identical to what will be in if_is.c. 1994-02-14 23:56:16 +00:00
hpeyerl b52fc7e2d9 Pedantism. Should delay after stopping Coax xcvr. 1994-02-14 03:50:09 +00:00
deraadt 8312c9cc62 missing spl's 1994-02-14 02:09:31 +00:00
mycroft 551478ad4a Don't save runt or errored packets. These are almost always `normal', and we
really can't deal with them anyway.
1994-02-13 05:44:39 +00:00
mycroft b0c5083b46 Format police. 1994-02-13 04:12:03 +00:00
mycroft 754f02f1c2 Correct spelling errors. 1994-02-13 03:49:24 +00:00
mycroft 6839509d86 Support for several new cards pulled from magnum branch.
Format police.
1994-02-12 07:16:24 +00:00
mycroft b8e893f885 Add proc arg to wdioctl() proto. 1994-02-11 04:44:30 +00:00
mycroft 9638fd585a Nuke if_init. 1994-02-10 17:17:56 +00:00
mycroft 2f62d06c05 Back pointers are not useful for disksort(). 1994-02-10 15:17:34 +00:00
mycroft bbb3e7618c All ioctl routines take a struct proc * now. 1994-02-09 21:06:46 +00:00
mycroft 7ce014f038 Clean up multicast code; part from magnum branch, and part from Brad Parker
<brad@fcr.com>.  A couple of other nits.
1994-02-08 03:06:20 +00:00
mycroft 57892d4faf Remove another use of b_actl. 1994-02-06 17:39:48 +00:00
mycroft adeebc448e Use b_actf, not av_forw. 1994-02-06 10:00:30 +00:00
hpeyerl b648f43dfd Fix UTP enabling/disabling. 1994-02-04 02:06:04 +00:00
hpeyerl d7038296be Multicast is no longer optional. 1994-02-02 05:58:50 +00:00
ws ee0e2912f4 Better (explicitly) return something from probe when nothing found 1994-02-01 17:22:22 +00:00
cgd 73f7c1d72e oops 1994-02-01 04:38:03 +00:00
cgd b452451cfe new cons.h location, etc. 1994-02-01 03:42:08 +00:00
ws 18673da28a Traditional behaviour is to reset all modes if device isn't open already 1994-01-30 16:41:27 +00:00
jtc 5235180083 Fix spelling error in Copyright notice 1994-01-28 23:43:26 +00:00
deraadt a609854c88 cleanup 1994-01-28 10:36:59 +00:00
deraadt b632ec18c0 don't go boom in the presence of stray interrupts 1994-01-28 03:40:18 +00:00
deraadt 33a902a405 can't use m_pkthdr.len yet, *sigh* 1994-01-25 10:46:29 +00:00
hpeyerl 9bea6007cc This makes my soundblaster work. 1994-01-25 05:00:14 +00:00
deraadt f030a34a09 ether_input() takes a network byte order ether_type now 1994-01-24 00:17:16 +00:00
deraadt 12bc16798e protos, cleanup spl's, bpf receive side code, check for large packets,
various other fixes.
1994-01-23 07:57:50 +00:00
hpeyerl 2eb7e135f7 From the knights that go "nit".(Tom Bishop <bishop@lear.bos.locus.com>) 1994-01-21 21:35:58 +00:00
glass f3307888b5 cleaned up some warnings 1994-01-21 06:26:00 +00:00
cgd 07fd779cd0 delete contents; can't appear in trunk until copyright is fixed. 1994-01-21 05:11:07 +00:00
mycroft 33a067f307 Junk comselect(); it's the same at ttselect(). 1994-01-13 14:58:12 +00:00
mycroft 7e32102eda We are simply not ready to use pkthdr.len yet. 1994-01-12 04:12:10 +00:00
mycroft 47f759bc3c Use pkthdr.len field. 1994-01-12 02:58:26 +00:00
mycroft cfdaa9d2ea Use the pkthdr.len field rather than traversing the mbuf chain. Also put some
sanity checking code in, #ifdef DEBUG, just in case.
1994-01-12 02:38:17 +00:00
cgd 3f787778b2 LBL /dev/audio and soundblaster drivers, as ported by brad@fcr.com.
both should work with both old- and new-config i386 trees.
Some notes:
	bsd_audio.c has dependencies on the soundblaster.  This should
		be fixed, so that it can be used for the PC speaker
		(when its driver has been modified), as well.
	sb.c needs some cleanup, and will have sections trimmed, eventually
		(when new config becomse standard for i386).  additionally,
		the SBPro support needs some cleanup.
1994-01-09 19:35:00 +00:00
deraadt 489e12a1a7 small cleanup 1994-01-05 13:38:57 +00:00
mycroft 92d7ef960c Use KERNBASE, not 0xfe000000. 1994-01-03 23:53:29 +00:00
mycroft 664f968d53 Inline all the [lr]cr[023]() `functions' in cpufunc.h. 1994-01-03 16:23:06 +00:00
mycroft c0e772492e Inline all the [lr]cr[023]() `functions' in cpufunc.h. 1994-01-03 16:21:48 +00:00
ws 778a3db3d0 Correct dumping to WD (was destroyed by MACHINE_NONCONTIG code) 1993-12-24 13:56:14 +00:00
davidb ddefd2e1b8 Fixed bug where with two or more SCSI controllers of the same type, you
could not have devices at the same ID on each bus.
This patch not directly applicable to magnum branch, which is using Julian's
new SCSI code.
1993-12-20 23:27:28 +00:00
mycroft 6cbf9be7da Use cpufunc.h only where (currently) needed. 1993-12-20 09:11:38 +00:00
mycroft f2a0b4b335 Canonicalize all #includes, and add pio.h where appropriate. 1993-12-20 09:05:17 +00:00
mycroft ea13c12adc From magnum branch:
Remove Jolitz's netisr kluge.  Make sure cpl == 0 really means base priority.
Other minor cleanup.
1993-12-17 00:10:06 +00:00
mycroft 8ab45ada42 Eliminate reference to Maxmem. 1993-12-16 20:22:56 +00:00
hpeyerl b4b8e47e12 IFF_LLC0->IFF_LINK0 1993-12-16 20:14:10 +00:00
hpeyerl 4eef2bd5ca oh my... make NS work.
(mental note to check more thoroughly in future)
1993-12-16 04:29:07 +00:00
hpeyerl 32fa8934ac Octal; Hex... It's all the same... :-)
>From deaven@ishmael.ameslab.gov
1993-12-16 00:40:05 +00:00
mycroft 6c404098c1 Rearrange some tests to improve efficiency a little when using BPF and
multicast at the same time.
1993-12-15 03:01:07 +00:00
hpeyerl e870ded5c4 Driver for 3Com Etherlink-III (3c509) written by me. Kudos to Charles
and Theo for help and optimizations. (without which this driver would
never have achieved speeds of 1010KB/sec)
1993-12-14 04:26:45 +00:00
cgd 55a9a547a2 from Soeren Schmidt <sos@login.dkuug.dk>:
Basically it does a timeout on lost interrupts, starting the operation
again and logging and error message on the console.
additionally fixes some of the (newer ending) while loops
(that made it work with two IDE disks !)
1993-12-13 10:16:56 +00:00
hpeyerl ac0c68e1db ie. also pass up any packet with the multicast bit set in the ethernet
>From: Havard Eidnes <Havard.Eidnes@runit.sintef.no>
1993-12-12 20:24:37 +00:00
cgd 0e5dbe1a22 IF_LLC0 -> IF_LINK0 1993-12-10 10:57:40 +00:00
hpeyerl dc1b697fb8 More multicast stuff
>From cmaeda@cs.washington.edu
These patches are derived from the IP Multicast patches for BSDI.
1993-12-10 05:37:33 +00:00
deraadt 9a48e42157 __386BSD__ -> __NetBSD__ 1993-12-07 12:51:58 +00:00
cgd 7abca02b8a added two copyright strings at the request of Gary Clark II
<gclarkii@freefall.cdrom.com>, because he hacked and is in the process
of hacking the code significantly.
1993-11-17 12:22:50 +00:00
mycroft 2f5635f70b A slightly unfinished i82586 driver, based on Garrett Wollman's. 1993-11-08 20:15:31 +00:00
cgd ab12bacae0 note that use of splnone() is prolly bogus; splnone() itself is bogus,
so it's use is.  8-)
1993-11-05 23:18:04 +00:00
cgd 08c263706c add mcd: Mitsumi CD driver by Holger Veit and Brian Moore 1993-11-04 09:12:30 +00:00
andrew 0f926f7b02 ttyfree() bugfix edition, plus various minor tweaks. 1993-10-29 08:58:34 +00:00
mycroft 08f5f6a6fa Add MADDRUNK. 1993-10-26 12:16:35 +00:00
davidg 16a520e7ed * 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.
 *
 * 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-23 04:59:41 +00:00
mycroft 3810963ed5 Add at_setup_dmachan(). Minor cleanup. 1993-10-22 20:24:14 +00:00
mycroft 7620c96e5d Make atdevbase an int. 1993-10-17 14:03:54 +00:00
mycroft 6067dc9ea8 Minor cleanup. 1993-10-17 05:34:23 +00:00
mycroft 2ce6de16d5 Add isa_establish(), for all it's worth (which is to say, nothing). 1993-10-16 05:25:21 +00:00
mycroft c73d85d341 Panic if DMA with odd length attempted on a 16-bit channel. 1993-10-16 03:55:59 +00:00
mycroft 4f94812b29 New file with DMA code from isa.c, modified to check for some errors. 1993-10-14 05:22:57 +00:00
mycroft e9b92335b0 Add DRQUNK and IOBASEUNK. 1993-10-06 12:09:25 +00:00
andrew e256404adc Cyclades Cyclom-{4/8/16}Y multiport async serial board driver. 1993-10-06 09:30:16 +00:00
davidg 892a4681ae * 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
 *
 * 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.
 *
 * Revision 2.3  93/09/29  15:10:16  davidg
 * credit Charles Hannum
 *
 * 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-10-01 02:01:43 +00:00
cgd 4a21fe3648 ifdef out the ttyfree()'s, so that fill_eproc doesn't panic when
a process's session still holds a ref to a tty which has been deallocated
and reused.
1993-09-29 02:36:21 +00:00
cgd b85a24ec4e get rid of stray printfs (turn them into "lprintf"s) 1993-09-28 21:26:59 +00:00
mycroft fd156a97fa New i386 code. 1993-09-14 17:28:06 +00:00
davidg 1c880d62bf 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 09:40:56 +00:00
mycroft 0535b6089e Avoid clash of struct ns_addr with #define ns_addr. 1993-09-06 18:30:39 +00:00
jtc 4475f55d8f Include systm.h to get prototypes (and possibly inlines) of *max functions. 1993-09-04 00:02:48 +00:00
deraadt 9aed375ba3 tty XXstart() routines return void 1993-08-29 13:46:31 +00:00
brezak 62164fe535 Add find_isadev() and have sysbeep() use common defines. 1993-08-28 00:13:00 +00:00
cgd 225917bfe6 0.9 "official" patch 001:
(1)	added support for ed1 in both generic kernels at:
	device ed1 at isa? port 0x250 net irq 9 iomem 0xd8000 vector edintr
(2)	brought if_ed.c up to DG's 1.19 rev.
1993-08-26 00:26:50 +00:00
cgd 4543c1ebfd changes from 0.9-ALPHA2 to 0.9-BETA 1993-08-23 04:59:38 +00:00
cgd e5ea45d312 there are some devices out there which use... NO I/O PORTS! 1993-08-08 09:54:23 +00:00
glass 4a385c1228 with -Wall would bomb, on incomplete type 'selinfo'. bpfilter.h include
moved down, and select.h included.
1993-08-03 01:52:57 +00:00
mycroft 4862b84c92 Add RCS identifiers (this time on the correct side of the branch), and
incorporate recent changes in netbsd-0-9 branch.
1993-08-01 19:22:24 +00:00
cgd 7b2afa7fe6 incorporate changes from 0-9-base to 0-9-ALPHA 1993-07-28 02:20:34 +00:00
cgd 8141ce5d83 kill damned RCS Log 1993-07-19 16:58:20 +00:00
cgd 886f6afa56 Reading file marks or writing end of tape return 0 bytes, AND THEY
DON'T SET THE ERROR BIT ON THE BUFFER UNLESS THE AUTHOR OF PHYSIO
IS STUPID!
1993-07-19 16:44:38 +00:00
mycroft 331148c31a Make these files GCC 2 happy. 1993-07-17 16:20:24 +00:00
deraadt 2ee2073a53 scsi_switch had wrong entries for these controllers... 1993-07-17 11:00:09 +00:00
mycroft ba408056a6 Use splnet, not splimp. 1993-07-13 21:53:06 +00:00
deraadt 6cc173695a moved bfdttach point to same place as other drivers, from greenman 1993-07-12 13:13:41 +00:00
mycroft 3be4221095 Change tty code to use clist interface, but with ring buffer implementation.
Also, fix a couple of bugs in tty.c and pccons.c, and some gross kluginess
in the hp300 stuff.
1993-07-12 11:36:53 +00:00
mycroft 0daaa4f16c Make splimp = splnet | spltty, and get rid of SLIP kluge for splnet and
spltty.
1993-07-11 14:03:51 +00:00
deraadt 80dc38edb3 documentation error 1993-07-08 08:22:17 +00:00
deraadt 1eacd36710 pccons.c now dynamically allocates it's "struct tty"
cons.c's "struct tty *cn_tty" wasn't used by any of the kernel, and goes away.
1993-07-07 11:00:23 +00:00
cgd bab148ba4e delete inclusion of rlist.h again. grr. 1993-07-07 06:52:39 +00:00
deraadt 9bff90a5c1 added a timeout debugging mode to wd.c so that people can see how slow
their controllers really are. Look for the WDCNDELAY_DEBUG definition.
1993-07-07 05:50:35 +00:00
deraadt d670635e8b ok, 5 second command timeouts.. 1993-07-07 01:05:42 +00:00
deraadt ceec40c98f clean up code for timeout/untimeout/wakeup prototypes. 1993-07-06 06:06:26 +00:00
deraadt 86999439b2 number of changes:
1. controller reset code moved into one function, called from more places now.
2. more places now do timeouts. TIPCAT code turned on.
3. blew away the unused WDOPENLOCK test code.
4. delay is now done using WDCNDELAY repetitions of DELAY(25). Up to 2.5 second
   pause accepted from controller (some controllers have some commands that are
   actually this slow)
5. some of the old timeout code was really whacked.
1993-07-06 00:42:43 +00:00
cgd 2d53469109 get rid of extraneous inclusion of rlist.h 1993-07-06 00:31:52 +00:00
deraadt 2cb34d6d65 added a missing {/} pair that barsoom seems to have taken out, but
which the standard 386bsd 0.1 driver did have. This is for a piece of
code in the bad block handling. found/fixed by hpeyerl.
1993-07-05 04:44:48 +00:00
deraadt 3322c7b691 all timeout code now calls DELAY() so the timeout delays are the same
length on all processors. Where possible, the controller is reset if it
times out.
1993-07-05 03:20:57 +00:00
deraadt ed61b76822 increased the timeout inside wdcommand(). Some controllers impliment some
commands very slowly.
1993-07-05 00:08:27 +00:00
cgd 7e940b55e0 add support for David Greenman "ed" driver 1993-07-03 12:21:07 +00:00
cgd d77e126ab2 add support for David Greenman's "ed" driver. 1993-07-03 12:19:36 +00:00
mycroft 3c4b913d33 Fix a bunch of things. 1993-07-01 00:24:09 +00:00
andrew f7dd4be020 Updated comments. 1993-06-30 04:13:34 +00:00
andrew 51ac6a0997 ANSIfications. 1993-06-27 06:27:29 +00:00
deraadt 277c73694e print "maddr 0xd0000 msize 65536" as "maddr 0xd0000-0xdffff" instead. 1993-06-20 07:24:53 +00:00
cgd d1ed63195d fix the divide-by-zero problem w/old disks. this patch is ws's "fault." 1993-06-18 20:45:35 +00:00
mycroft 5a2b8d1abb Fix typo. 1993-06-16 02:59:42 +00:00
mycroft 94df11ad63 Make sysbeep() take a frequency, not a timer count, and add constants
BEEP_FREQ and BEEP_TIME which can be overridden in the config file.
1993-06-16 02:57:17 +00:00
mycroft 528edf6037 Move definitions of TIMER_FREQ to timerreg.h, and fix value of CF for DELAY(). 1993-06-15 21:37:14 +00:00
mycroft 930a773dce Clean up beep code a miniscule amount, add interrupt protection, and
make multiple beeps generate a continuous tone.
1993-06-15 20:34:54 +00:00
mycroft 5592ad3fbb Ignore interrupts if the device isn't open. This prevents stray interrupts
from hosing the works.  What a stupid architecture.
1993-06-15 01:50:32 +00:00
andrew 925a429d35 Reduced bus-on time from the default of 11ms -> 9ms, to prevent floppy from
becoming data-starved during simultaneous fd & scsi activity.
1993-06-14 04:16:03 +00:00
deraadt f37ee25bb2 sigh. one day i'll finish this driver, meanwhile, one more fix.. 1993-06-10 04:50:42 +00:00
deraadt f6779cbdce minor silliness related to two or more controllers 1993-06-09 22:36:40 +00:00
cgd f1b8c74730 make getc() and ungetc() be rb{un,}getc(), so getc() and ungetc()
don't conflict w/ansi prototypes...
1993-06-06 23:04:42 +00:00
cgd 8a05b36058 incorporate Bruce Evans' interrupt changes, as hacked by Rod grimes,
for patchkit patch 158.  it appears to work well.
1993-06-06 04:14:01 +00:00
cgd 9d6a908bb7 patch from rgrimes to add delay to let data port stabilize, also
make "lpflag" unique to each driver
1993-06-05 22:58:29 +00:00
deraadt 2adecf84f6 1. It is now possible to build a kernel that does not have a pc0 device driver.
2. "press any key to reboot" reads the key from the console.
3. wddump() still needs a non-blocking getc() routine (or flush)
1993-05-28 09:10:52 +00:00
deraadt 2f0c0eb674 tty dynamic allocation 1993-05-26 10:06:41 +00:00
cgd fe1802950b add include of select.h if necessary for protos, or delete if extraneous 1993-05-22 11:40:42 +00:00
cgd 30177b538f add rcsids to everything and clean up headers 1993-05-22 07:56:12 +00:00
deraadt dde4fa6fe1 fixed typo 1993-05-22 07:40:46 +00:00
deraadt e34f239662 First cut at cpu independent disklabels.
There will be niggly little details no doubt..
1993-05-20 22:48:23 +00:00
cgd 8d6c77881c make kernel select interface be one-stop shopping & clean it all up. 1993-05-18 18:18:40 +00:00
deraadt e439c311cd Whoops. One more 0x0ffff to expunge.. 1993-05-11 04:15:22 +00:00
deraadt 4c40e74463 1. id_irq is a u_short
2. "irq ?" sets it to (u_short)-1
3. "irq #" sets it to (1<<#)
4. not specifying an interrupt sets it to 0.

Until someone else comes up with a better scheme, that's the way it is.
If you have a driver that turns the interrupt off, set it to ZERO.

If, after calling XXprobe(), id_irq is still (u_short)-1, that is the same
as if  probe() failed.
1993-05-11 04:06:23 +00:00
deraadt 545cc18754 This patch allows the wd device driver to tell how big the disks are on
WD1007-derived controllers. In this example, wdc0 is a WD1007-clone,
and wdc1 is a WD1003-clone. WD1007 controllers are generally ESDI
and IDE controllers.
wdc0 at 0x1f0-0x1f7 irq 14 on isa
wd0 at wdc0 targ 0: 322MB 1224 cyl, 15 head, 36 sec <disktype>
wdc1 at 0x170-0x17f irq 7 on isa
wd2 at wdc1 targ 0: (unknown size) <disktype>
1993-05-10 05:53:22 +00:00
deraadt 5ae997897e i thought i deleted this line before! 1993-05-09 04:25:48 +00:00
deraadt ca0db18897 multiple master controllers would probe tthe first one N times instead of
once each. never mind not worth worrying about what i;m talking about.
1993-05-08 00:50:10 +00:00
cgd ca1b23d6dd no irq == -1, or, actually, 0x0ffff (f*ing unsigned short...).
this would break devices w/o interrupts (like lpa).
1993-05-07 10:38:04 +00:00
cgd 5220c82b50 fix lpt driver and add lpa driver. from 386bsd pk patch 133 1993-05-07 05:38:55 +00:00
deraadt a0bcb17e60 support for making dev->id_alive be set, this is for iostat to
find disk devices. wee bit of a kludge. sub-device attach()
routines must now return 1 for successful attach(), 0 otherwise.
Other bsd's do this too..
1993-05-04 08:27:29 +00:00
cgd 70754f5c6b fixed loopback == nuke problem.
This fix is probably not optimal, but it works.
1993-05-04 02:37:27 +00:00
mycroft 6c15f33674 Fix error in last change. B-P 1993-05-01 19:12:45 +00:00
mycroft c3c6f70cea Move bpfattach() call into hpattach(). 1993-04-30 23:44:03 +00:00
mycroft dbeb3a98e0 HP cards use 32 I/O ports, not 16. 1993-04-28 23:57:42 +00:00
mycroft 81b91f4488 Fix subtle word-size error. 1993-04-19 06:02:16 +00:00
mycroft 0105f6f55d Return correct value for new probe sequence. 1993-04-18 10:14:15 +00:00
deraadt e2a9eb19a4 slight code quality improvement. not related to the bug with very
old controllers or disks! :-)
1993-04-18 10:03:20 +00:00
mycroft ba40575afe Use new format for attach message. 1993-04-17 04:46:12 +00:00
mycroft e415187cd4 Add driver for HP ISA and EISA ethernet adapters. 1993-04-17 01:39:27 +00:00
deraadt 6bee5294bc ioconf changes, see previous cvs's that dumped core 1993-04-15 07:57:50 +00:00
deraadt fbecd3e987 Once more: some changes to the ioconf.c structure. It will now handle
devices hanging off controllers, any kind of controller.
A device on isa0 is called at probe(self), then attach(self)
A controller on isa0 is called at probe(self), then all it's children with
    defined unit numbers are initialized by calling attach(subdev); next all
    subdevices with unit ? are initialized by calling attach(sundev).
Almost all device entry points is now like the vax/sun model (intr being
the weird one)
1993-04-15 07:52:08 +00:00
glass 6eb0490333 NDDB made a re-appearance.... 1993-04-15 07:11:01 +00:00
deraadt e42c6edf94 ooops. DDB instead of NDDB. A typo, i swear 1993-04-15 07:09:23 +00:00
deraadt 653e85f75a #ifdef DDB fix 1993-04-15 07:01:16 +00:00
deraadt bf6814fb30 wd driver would fail on calling wdgetctlr() for older drives and
controllers. New behaviour is that if the standard method fails, try
to recalibrate the drive. Success means the drive exists.  patch by
hpeyerl@novatel.cuc.ab.ca (who owns several of these historical
artifacts)
1993-04-15 06:39:00 +00:00
deraadt f262b564a2 new scsi subsystem.
changes also in config/mkioconf.c & sys/scsi/*
1993-04-12 08:17:23 +00:00
cgd 506ea71fe9 was saying "not responding" on failed probe. that's bogus. 1993-04-10 21:09:13 +00:00
glass 034707f9e5 fixed to be compliant, subservient, and to take advantage of the newly
hacked config(8)
1993-04-10 12:04:35 +00:00
cgd fa76d62392 have probe return size of io space on successful return, rather
than simply 1.
1993-04-09 16:43:56 +00:00
cgd c2176edbac have probe return size of io space on successful return, rather
than simply 1.
1993-04-09 16:25:07 +00:00
cgd 2bbe287e49 make printing of i/o addresses a bit prettier, and fix off-by-one error. 1993-04-09 16:24:26 +00:00
cgd cf15785585 from Rodney W. Grimes (rgrimes@agora.rain.com) (patchkit patch 117):
This patch adds the symbol names to icu.s that vmstat expects
the interrupt counters to be called.  It also adds code to config
so that the names of the interrupts are written at the end of vectors.s
so vmstat can report real device names.  It also cleans up and enables
the logging of stray interrupts.  The counters for false interrupts
are added but the fix for them is not (the fix I have is not done
very good.) A false interrupt is when a device asserts it's interrupt
signal, then removes it before the 8259 can latch it.  This is the number
one cause of stray IRQ7's and IRQ15's.

        Additional device probe information is now printed.  This includes
ending I/O address (many drivers do not return the correct value from a
probe this still needs to be fixed), memory address and size, driver
flags passed in by config.
1993-04-09 13:43:40 +00:00
deraadt b9bd4b25de dmesg output at boottime now tries to print out information as
soon as it is available. The output looks much more like Sunos.
1993-04-08 08:26:46 +00:00
deraadt de24d978d5 wd7000 device driver, put in IO_WDS entry in isa.h. You can now build a
kernel with it. Hope your dma works better than mine <grr>
1993-04-06 20:58:01 +00:00
deraadt a2b4863160 ripped out a message 1993-04-06 12:09:55 +00:00
deraadt 9b67a6d7ad Mod-barsoom wd additions. config program + kernel config files changed too.
fd support had to change slightly too.
1993-04-06 10:06:28 +00:00
deraadt c3d2e42be0 added: incomplete wd7000-asc scsi controller device driver. 1993-04-06 10:04:46 +00:00
cgd c32e85d3c3 moved closing #endif to include comselect 1993-03-27 09:24:42 +00:00
cgd e541169ce2 after 0.2.2 "stable" patches applied 1993-03-21 18:04:42 +00:00
cgd 61f282557f initial import of 386bsd-0.1 sources 1993-03-21 09:45:37 +00:00