Commit Graph

674 Commits

Author SHA1 Message Date
is 07b064e02e New ARP system, supports IPv4 over any hardware link.
Some of the stuff (e.g., rarpd, bootpd, dhcpd etc., libsa) still will
only support Ethernet. Tcpdump itself should be ok, but libpcap needs
lot of work.

For the detailed change history, look at the commit log entries for
the is-newarp branch.
1997-03-15 18:09:08 +00:00
mikel 8147d1718f fix various AD1848/PSS misfeatures; from Jason Baker in PR kern/2045.
also did some misc cleanup of my own.
1997-03-13 08:34:49 +00:00
mycroft 919efaeb60 Make the microcode table const. 1997-03-13 03:33:03 +00:00
mycroft ac3b8b13b7 Don't share the silence block between devices. Make silence filling work for
more encodings, and make it device-independent.  From Lennart Augustsson, in
PR kern/3305.
1997-03-13 02:19:32 +00:00
cgd 4c654c0acf fixes from Matt Jacob so that these can compile and run on the Alpha.
(aic7xxx has been tested and works on the Alpha, bha has not yet been
tested on thne Alpha.)
1997-03-13 00:38:48 +00:00
cgd cf26d31ad2 NetBSD RCS ID tweaks, a few comment block tweaks. Also, make copyright
notices consistent (per Matt Jacob).
1997-03-12 21:06:41 +00:00
cgd 099e30a322 ISP 10x0 driver from Matthew Jacob of NASA Ames Research Center.
(March 12, 1997 version).
1997-03-12 20:44:50 +00:00
cgd 9753d8f7a5 properly #define MC_REGB_SQWE. From Matt Jacob 1997-03-12 06:53:42 +00:00
chuck 7df0dbdd33 minor fixes to freebsd code sections from Kenjiro Cho <kjc@csl.sony.co.jp>
get ready to add support for adaptec version of midway card (which
has a different DMA interface).
1997-03-11 23:30:19 +00:00
leo 3d849b9429 - Turn the sc_[tr]bufaddr fields into arrays of addresses instead of just
the base address. This allows for a more flexible layout of buffers
  in the Lance's memory.
- Add a new element 'sc_saved_csr0' to am7990_softc. It's value is or-ed
  with the current csr0 value in the am7990_intr() function. This allowes
  for a 'deferred' interrupt sceme.
1997-03-09 21:12:39 +00:00
mikel a71e39e5d5 fix some spelling errors noticed by Charles Kane <ckane@mipos2.intel.com>.
fix some more noticed by myself; all are in comments or strings.
1997-03-09 06:10:32 +00:00
mycroft e481e52aa9 Fix a couple of splhigh()s that should be splbio(). 1997-03-04 21:42:32 +00:00
briggs 2163898eeb Add the 53c96 variant. 1997-02-27 13:59:32 +00:00
thorpej dd89d8fd78 Machine-independent NCR 53c9x SCSI driver, derived from the SPARC/Alpha
versions.  Thanks to Chris Demetrious and Paul Krannenburg for the
initial work towards merging the two.
1997-02-27 01:12:07 +00:00
gwr 9f53f9825f Use sc_no_disconnect (per-target) instead of NCR5380_PERMIT_RESELECT. 1997-02-26 22:23:48 +00:00
gwr 07378343ed Add the new member "sc_no_disconnect" to ncr5380_softc, and
remove NCR5380_PERMIT_RESELECT.
1997-02-26 22:22:13 +00:00
gwr 4dd31a28f0 Integrate fix for rude targets that transfer more data than requested.
(From Matthias Pfaller).
1997-02-26 20:31:16 +00:00
sommerfe 9def46bf50 Fix PR3260: cosmetic glitch in aha autoconf output. 1997-02-26 04:52:13 +00:00
gwr 1da91c27bc Tweak the KGDB glue slightly - do the printf here. 1997-02-24 16:03:05 +00:00
gwr f9d32cbb9b Add declaration for zs_check_kgdb() 1997-02-24 16:01:39 +00:00
is b22d1088ea Make this compile again on NetBSD-current/i386. 1997-02-20 17:53:50 +00:00
mikel b6a5671c00 make sure that packets are ours before passing them up if interface is
in promiscuous mode; from Juergen Weiss in PR kern/3121.
1997-02-20 06:59:32 +00:00
mikel 2af30c1cd3 make sure max_target is initialized for both buses on multibus parts;
from Anders Hjalmarsson in PR 3103.
1997-02-20 05:15:50 +00:00
jonathan c7cec27edf Move if_ep media-sense code from front ends to inside back end,
to prepare for if_media, and to support EISA 3c59x cards:

  * change epconfig() to take a short that encodes the chipset
    type (3c509, or Demon/Vortex/Boomerang).
  * add  distinct 3c509 and Demon/Vortex/Boomerang media-sense
    functions to back end.
  * Add EISA match/attach support for the 3c592 and 3c597
    (Demon) cards as well as the 3c509-comatibl EISA 3c509/3c579.

  * Assume that ISA and ISA PnP cards are 3c509-style, until
    proof to the contrary (e.g. large packet support).

Tested on 3c595, 3c590, and 3c509b. Not tested on 3c515 or Demon.
1997-02-18 10:51:06 +00:00
jonathan 4fdff0ed65 * Add ep_complete_cmd() function, to issue commands that perform a reset
(RX_RESET, TX_RESET, GLOBAL_RESET).
  Commands issued while a reset is in progress may be dropped. The driver
  must wait until resets are complete; ep_complete_cmd() does so.
* Change RX_RESET,  TX_RESET, GLOBAL_RESET to use ep_complete_cmd().

* Revert epconfig() to use inline RX_RESET, TX_RESET.
  That avoids accidentally setting IFF_UP, which  breaks both diskless boot,
  and "halt" commands issued before the interface is brought up.
1997-02-16 04:09:18 +00:00
mycroft 1dd1504980 Move the aha ISA probe functions into a separate file. 1997-02-07 17:37:27 +00:00
cgd f89ffa1fe4 don't clobber IER in cominit(). (suggested by mycroft.) 1997-01-30 19:42:33 +00:00
chuck 16ef494b41 bug fix:
- if aal5 frame has a CRC error then the length field in the aal5 trailer
	may not be valid, so we can not use it [and we must dump the frame]
	[Yuhang Sun <sunyh@dworkin.wustl.edu> & chuck@ccrc.wustl.edu]
1997-01-24 20:58:42 +00:00
mycroft 54133e5f93 Remove a previous gratuitous change, and KNF police. 1997-01-17 22:09:09 +00:00
gwr 77eb8c5a65 fix alignment again for m68k 1997-01-15 18:22:35 +00:00
thorpej aceef5987f Merge into mainline, tidy up some debug code. 1997-01-11 04:47:31 +00:00
jonathan f703350d59 typo in definition of extended-geometry register. 1997-01-04 16:47:03 +00:00
jonathan 9821b30fe4 Use DELAY() after doing a TX_RESET or RX_RESET command.
Newer boards (e.g., Vortex) take  time to reset, and wedge on some machines.
Polling on S_COMMAND_IN_PROGRESS would be better, but that doesn't
work with xx_RESET commands on 3c509s.
1996-12-31 21:36:30 +00:00
jonathan 259ce9f178 * make sure 100mbit media-present bits don't collied with 3c509
CONFIG_CNTRL bits by making the "conn" argument to epconfig()
   a u_int, not a u_int16_t, and by defining 100mbit media
   bits in the upper 16 bits.

A redesigned interface that fixes this properly is in the pipeline.
1996-12-30 19:18:28 +00:00
jonathan b00ac4cf2c * add epshutdown(), and establish as shutdown hook: see multiboot
comments in pr port-i386/2358: "if_ep/3C590 no longer working"
* Only call Vortex media-config code on PCI-attached devices, until
  we know if it works on ISA and EISA large-packet devices also.
* Fix typo in printf of MAC address
1996-12-29 17:01:58 +00:00
jonathan 23c1d14c64 * Add 100Mbit xcvr flags to epconfig():
look for 100mbit Xcvrs, print their names, add to ep_connectors.

* Print 10baseT as 10baseT, since media name (utp) is no longer a unique
  transceiver type.

* Redo FIFO memory size printing, also show Tx/Rx split (xxx isa 3c509?).

* Print MAC address on a separate line,  with 100Mbit media and fifo-ram
  info it no longer fits on the same line as media types.

* Comment the fact that the "connection" media-selection code just doesn't
  grok 100Mbit media.

* add code to look for 3c59x/3c90x media-select and autoconfig bits, though
  we don't yet dynamically probe media when the autoconfig bit is set
  (see previous bullet).

* XXX the whole connector/media code should be redone, perhaps a' la
  the BSDI ifmedia design.
1996-12-29 13:32:46 +00:00
jonathan 6ad69cd711 * Expand softc sc_connectors field to 16 bits.
For now, we really only need 8 bits of media type.

* Add bogus definitions for 100mbit transcievers, to be set in the
  "conn" argument to ep_config(). Should  really  use the same bits
  as in EP_W0_CONFIG_CTRL bits, but I don't know what bits the 3c515
  &c use for 100mbit media.

* Define bitflags for 100Mbit transceiver options in ep_connectors.

* Add definitions of powerup/powerdown commands. for interfaces with
  power management. Should send a powerup after APM resume?

* Add definition of fragment-busmaster (vortex) START_DMA command.

* Add definition  of PCI configuration-space media-present bits.
  (really just EP_W3_RESET_OPTIONS remapped into pci config space.)

* Add comments describing what the #define's above are used for.
1996-12-29 13:25:23 +00:00
jonathan 48f7828104 * Expand softc sc_connectors field to 16 bits.
For now, we really only need 8 bits of media type.

* Add bogus definitions for 100mbit transcievers, to be set in the
  "conn" argument to ep_config(). Should  really  use the same bits
  as in EP_W0_CONFIG_CTRL bits, but I don't know what bits the 3c515
  &c use for 100mbit media.

* Define bitflags for 100Mbit transceiver options in ep_connectors.

* Add definitions of powerup/powerdown commands. for interfaces with
  power management. Should send a powerup after APM resume?

* Add definition of fragment-busmaster (vortex) START_DMA command.

* Add definition  of PCI configuration-space media-present bits.
  (really just EP_W3_RESET_OPTIONS remapped into pci config space.)

* Add comments describing what the #define's above are used for.
1996-12-29 12:36:43 +00:00
jonathan f029ade219 Define the contents of window 3's InternalConfig register. 1996-12-29 10:21:48 +00:00
thorpej fca7fce17e Deal with targets > 7 on wide Buslogic controllers. Remember the "wide"
bit from the extended setup inquiry and key off it to:
- Force synchronous negotiation on targs > 7.
- Read additional information returned by wide cards on inquire setup.
- Read sync period on targs > 7.
- Display sync period/offset on targs > 7.
- Set scsi_link.max_target to 15.
cvs: ----------------------------------------------------------------------
1996-12-20 21:35:10 +00:00
jonathan e7a52ac635 Add missing fields to the extended_inquire reply struct.
Fixes probing of aha154x's, and provides wide/ultra bits for the MI scsi code.
1996-12-20 06:20:49 +00:00
gwr 494730c376 New version of the z8530 driver that should permit the mac68k port
to use this instead of its own.  Also fix warnings, etc.
1996-12-17 20:42:40 +00:00
scottr c5d19fd124 Make this compile #ifdef DDB:
- Prototype debugging functions
 - Replace %x and %lx with %p as appropriate
1996-12-15 10:02:30 +00:00
mycroft be33336052 If attaching the console, reinitialize it immediately. 1996-12-14 10:46:38 +00:00
mycroft 58e4442168 Turn off the baud rate changing optimization. 1996-12-14 08:56:23 +00:00
gwr aaa60cfea6 Add ZSWR1_IMASK (all intr. enable bits in WR1) 1996-12-13 21:02:39 +00:00
pk 841d1ec634 Comply with recent autoconfiguration changes. Diffs graciously
supplied by Chris Demetriou.
1996-12-10 22:54:46 +00:00
thorpej d502e68402 Fill in sc_link.max_target 1996-12-10 21:27:16 +00:00
cjs 75d4fb207b Add definition for internal config register. 1996-12-07 16:23:40 +00:00
cjs b1e0c7d657 Print the memory size on startup.
Add newline to `Interface disabled' printf and clean up formatting.
Change packet read/write code to align all reads and writes into
memory to an appropriate boundary for the I/O size. This also fixes
a bug where the trailing unaligned bytes (1-3 of them) would be
put in an additional mbuf even if there was enough space for them
in the one we were currently filling.
This has been tested on a 3c905 in an Alpha (32-bit I/O, alignment
required), a 3c905 in an i386 (32-bit I/O, alignment not required)
and a 3c509 in an i386 (16-bit I/O, alignment not required). It
should be tested on a 3c509 in an Alpha with an ISA bus, if somone
can manage to get the two items together.
There are still some bugs in the driver relating to initialisation;
on my Alpha with a 3c905 you need to do an `ifconfig ep0 down;
ifconfig ep0 up' after the initial ifconfig to make it start working.
Apparently there are also some problems with a 3c579 in an i386,
although a 3c905 in an i386 works just fine.
1996-12-07 08:33:07 +00:00
pk e974072523 Deal with Lance memory size 132KB (sparc `lebuffer' devices use this size). 1996-12-06 21:54:00 +00:00
cgd 197d80c63a update these so they compile whether or not __BROKEN_INDIRECT_CONFIG
is defined.
1996-12-05 01:25:23 +00:00
thorpej 7d4d4753a8 Implement a simple scsi xfer queue to avoid presenting a resource
shortage to the upper scsi layers, which don't (yet) deal well with
resource shortages.
1996-12-02 19:06:41 +00:00
thorpej a4f9e46a87 The MODIFY_IOPORT command does not generate an HACC (command complete)
signal; don't wait for it.

Add a "clarification" cast to the last argument to bha_cmd() in
bha_disable_isacompat().
1996-11-28 00:43:26 +00:00
cgd d7c58f547e Drop LPT_NPORTS to 4 from 8. Some lpt units require only 4 I/O ports
(e.g. from 0x3bc to 0x3bf, for example).  Others may require more,
but until there's some special handling for them, 4 should be returned
so that on systems with I/O port accounting, the unit at 0x3bf can be
properly mapped, etc.  (OK'd by mycroft.)
1996-11-23 23:22:50 +00:00
jonathan f6a82ef733 * 3c509s drop the low-oder bits of EP_THRESH_DISABLE (2047) on a write,
and the result reads back as zero.  Mask probe code accordingly.
1996-11-22 04:48:26 +00:00
chuck ae805c5cbf midway fixes:
1. fix possible hang in en_txlaunch().   when attempting to extend
	the length of an mbuf to avoid a flush we should extend it
	by cnt [which is ((need - len) % 4)] rather than 4 - cnt.
	also, add an EN_DEBUG printf() when we pad/FLUSH a buffer
	to help with debugging/understanding what the driver is up to.
  2. use interface packet counters
  3. when turning off a recv VCI we recompute the new mode.   make sure
	we don't include the "in service" bit in the new mode, otherwise
	a VCI may appear "hung" if you turn it off while a service
	interrupt is pending.
  4. when shutting down a VCI that is still receiving data, don't bother
	going into "drain mode" if only the hardware in service bit is
	set (otherwise the VCI may get "hung" in drain mode).
	as a result of this we may get "unexpected rx interrupt" messages
	which are not really an error, so put this printf in EN_DEBUG.
  5. be sure to zero txspeed[lcv] when enabling a VCI (start at full
	speed).   (hooks for setting txspeed[] are currently not in
	the driver, but we are playing with it locally).
credits:
	#1: Detected by: Zdenek Salvet <salvet@horn.ics.muni.cz>, fix by me.
	#2: Contributed by: Zdenek Salvet <salvet@horn.ics.muni.cz>
	#3,#4,#5: Detected by: Milind M. Buddhikot <milind@dworkin.wustl.edu>,
		fixed by me.
1996-11-21 20:49:22 +00:00
gwr 16b8098faa Use ether_cmp() on the sun3 (for the "le" driver - 3/50, 3/60)
because those have to assume LANCE_REVC_BUG, which causes the
driver to compare Ethernet addresses on every received frame.
1996-11-19 21:21:13 +00:00
jonathan 16d760f318 Fix for hanging 3com ``large packet'' (100Mbit) Etherlink-III devices:
* Add a slot in the softc, ep_pktlenshift, to indicate that
    a board implements ``large packets'' (FDDI-sized frames) and
    therefore implicitly shifts the argument to packet-length commands
    by two bits to fit a 13-bit length in  an 11-bit command argument field.

 *  Change  the reset of station-mask filterto be independent of bus-type
    (e.g.,. for 3c515)

 * Replace  the "2044" constant used to disable TX threshold interrupts
   on 3c509-generation cards with a #define. Use 2047 instead,
   since that works on the large-packet cards (Vortex, Demon, Boomerang)
   and 2044 doesn't.

 *  Add code to  epconfing to probe for large-packet support,
    set the softc appropriately, and  shift packet sizes in commands
    by ep_pktlenshift to compensate  for the implicit shift.

 *  Tweak the epconfig() code to avoid hanging on startup.
    Set the Tx threshold to interrupt when there's space for
    a maximal-sized ether frame, then  do epinit() then epstop(),
    instead of just the Tx and Rx reset. Required on at least a 3c595.

Tested on  a 3c595, but not on 3c509-generation hardware.
1996-11-17 23:58:29 +00:00
jonathan 40bd2b1104 Fix front-ends of split uha driver to compile when DDB is not configured:
Propagate Debugger() macro from uha.c to uha_{eisa,isa}.c.
  update file names accordingly.
1996-11-15 22:53:36 +00:00
cgd b005a8ee10 move cominit() prototype to comvar.h, so that ports which use 'com'
for serial console, but don't use the (i386-specific)
comcninit()/comcnprobe() functions, can do the right thing.
1996-11-13 19:41:35 +00:00
mycroft 990ebfa55d Fix uha_{reset,init}_mscp() prototypes. 1996-11-12 20:57:43 +00:00
chuck 04550d40b6 netbsd pr#2919 (jukka.partanen@research.nokia.com):
- fix compiler warnings
1996-11-09 03:43:29 +00:00
jonathan 79b026a8f3 * Add command struct and modifier definitions for controlling the
ISA-compatible port space of PCI buslogic cards.

* Add call to bha_pci.c to disable the ISA-compatible ports of a PCI
  device.  The ISA-compatible ports are enabled by default, which
  causes the card to be autoconfigured a second time as an ISA device,
  which appears to deadlock the card.

* Change bha_cmd() to return the number of bytes it actually received
  in response to a command, or -1 on error.

*  Use heuristics (checking for bha-only registers, and checking the size
   of the response to BHA_INQURE_EXTENDED) to bha_find, to make sure the
   bha driver never matches an aha (Adaptec    1542 or compatible) device.

A single kernel should now boot on either Adaptec or BusLogic controllers,
provided we always probe for BusLogic devices before Adaptec devices,
but this has not yet been verified.
1996-11-05 03:04:28 +00:00
pk 92d21510ef Drop in a sun4m version of AUDIO_SET_SWINTR; thanks to Nick Sayer for
the reminder.
1996-11-01 23:32:15 +00:00
cgd 2ab4192195 update alpha_XXX_dmamap() invocations to match prototype. 1996-10-25 21:33:30 +00:00
cgd 2e7c250f84 update drivers to use the new NetBSD/alpha DMA mapping hack, since
the old one is not workable with the new bus.h.
1996-10-23 04:37:31 +00:00
gwr e1467b90b1 Add prototypes, and a few more fields now used in z8530tty.c 1996-10-23 00:38:05 +00:00
gwr a329be829e Add masks for some combinations of bits that are set as a group. 1996-10-23 00:32:31 +00:00
cgd 233251d896 add missing argument to bus_space_map in ESP code 1996-10-22 00:45:25 +00:00
thorpej 769a499800 New bus.h implementation/interface:
- No more distinction between i/o-mapped and memory-mapped
	  devices.  It's all "bus space" now, and space tags
	  differentiate the space with finer grain than the
	  bus chipset tag.
	- Add memory barrier methods.
	- Implement space alloc/free methods.
	- Implement region read/write methods (like memcpy to/from
	  bus space).
This interface provides a better abstraction for dealing with
machine-independent chipset drivers.
1996-10-21 22:34:38 +00:00
thorpej 16c4c5af26 New bus.h implementation/interface:
- No more distinction between i/o-mapped and memory-mapped
	  devices.  It's all "bus space" now, and space tags
	  differentiate the space with finer grain than the
	  bus chipset tag.
	- Add memory barrier methods.
	- Implement space alloc/free methods.
	- Implement region read/write methods (like memcpy to/from
	  bus space).
This interface provides a better abstraction for dealing with
machine-independent chipset drivers.
1996-10-21 22:24:37 +00:00
thorpej 0211a3232d Appease the compiler: get rid of some unused variables, add some
prototypes, and suppress a bogus "might be used uninitialized" warning.
It's clear from reading the logic of the function that produces the
warning that the variable will not be used uninitialized, but the
compiler just isn't smart enough, I guess.  Marked XXX for future reference.
1996-10-17 04:34:08 +00:00
gwr 377ab56b5e Add definitions for the Z85C30 and Z85230 enhanced serial controllers.
Thanks to Bill Studenmund <wrstuden@loki.stanford.edu>
1996-10-16 22:34:52 +00:00
gwr 3424a892b9 Correct a problem with CRTSCTS flow control where output may fail to
restart if we get multiple status interrupts before the softintr()
routine gets a chance to run.  The fix is to determine and accumulate
status line changes at the H/W interrupt level, and then check and zero
the accumulated changes when the softint() finally runs.  Many thanks
to Bill Studenmund <wrstuden@loki.stanford.edu> for finding and fixing.
1996-10-16 20:42:14 +00:00
gwr 58db3aa496 Replace the field cs_rr0_new with cs_rr0_delta (keep changes instead). 1996-10-16 20:34:54 +00:00
christos 0039d4aa0c backout previous kprintf change 1996-10-13 02:59:25 +00:00
christos 86373f8cf9 backout kprintf changes 1996-10-13 01:37:04 +00:00
christos 19d8368f2f printf -> kprintf, sprintf -> ksprintf 1996-10-11 00:44:42 +00:00
christos 4c14cd79b2 - printf -> kprintf, sprintf -> ksprintf 1996-10-10 22:18:34 +00:00
christos 48635ba80c - printf -> kprintf, sprintf -> ksprintf
- ifdef unused variable
1996-10-10 22:14:18 +00:00
christos 43ffb37118 - printf -> kprintf, sprintf -> ksprintf
- fix a bug where tp was used before it was initialized
- remove unused variable
1996-10-10 22:12:15 +00:00
christos a551ed0d3d - printf -> kprintf, sprintf -> ksprintf
- Fix an | -> ||
1996-10-10 22:08:05 +00:00
christos 58953408cb printf -> kprintf, sprintf -> ksprintf 1996-10-10 22:04:48 +00:00
christos ea39989829 - printf -> kprintf, sprintf -> ksprintf
- add an #ifdef FreeBSD for an unused variable
1996-10-10 20:00:59 +00:00
christos b54342c9b9 - printf -> kprintf, sprintf -> ksprintf
- include <systm.h>
1996-10-10 19:59:17 +00:00
gibbs b9c06e6fa3 dev/microcode/aic7xxx/aic7xxx.seq,
dev/microcode/aic7xxx_seq.h,
dev/ic/aic7xxxreg.h:
  Remove intrinsic knowledge about SDTR and WDTR messages and replace it
  with a generic message system that allows the kernel driver to handle
  SDTR, WDTR and any other type of extended message it chooses too.  This
  makes the sequencer code much simpler, makes extended message handling
  debuggable since the bulk of the work is in the kernel driver, and saves
  lots of instruction space.

  Regen microcode header file.

dev/ic/aic7xxx.c, dev/ic/aic7xxxvar.h:
  Add code to handle WDTR and SDTR negotiation in light of the changes in
  the message interface to the sequencer.  Don't reject targets that
  negotiate async by sending an SDTR with a 0 offset.  Use an sdtr message
  with 0,0 to negotiate async when a target suggests a period that is too
  long for us to handle.  Some tape and cdrom drives don't like us doing
  the message reject that we did in the past.

  Fix a problem with handing the QUEUE FULL condition.

  Fix a race condition (most likely the cause of the SCB paging problems) that
  might allow the sequencer to get unpaused before the condition that caused
  it to be paused (a SEQINT) was handled.

  Race condition pointed out by Doug Ledford <dledford@dialnet.net> and
  by "Dan Willis" <dan@plutotech.com>.

dev/pci/ahc_pci.c:
  Add support for the 2940AU, an aic7860 based controller.

dev/pci/pcidevs.h, dev/pci/pcidevs_data.h:
  Add product IDs for the 2940AU, aic7860 and aic7855.

  Regen data file.

scsi/scsi_message.h:
  Add MSG_EXT_SDTR_LEN and MSG_EXT_WDTR_LEN - the length of bytes in these
  extended messages.

Thanks to Chuck Cranor <chuck@maria.wustl.edu> for testing these changes
out for me.
1996-10-08 03:04:02 +00:00
mycroft 767522373b If we get a RXRDY interrupt, but RXRDY is not set in the LSR, briefly set IER
to 0.  This fixes a condition where some UARTs send an infinite stream of
RXRDY interrupts.
1996-10-06 01:52:26 +00:00
mycroft d1f08e3e87 Serial console changes:
* Enable FIFO with trigger level 1.
* Set DTR and RTS so terminals are happy.
1996-10-06 01:46:04 +00:00
christos 26699175a4 Apply PR/2661 [from Jonathan Stone] 1996-09-29 11:19:42 +00:00
thorpej a962c12194 Use "cy_port_num" rather than "cy_port" where appropriate. 1996-09-26 19:16:02 +00:00
christos ded50ae798 New Cyclades driver from Timo Rossi 1996-09-24 18:02:33 +00:00
mycroft 94bfaac456 Wrap the definitions of CONADDR and CONUNIT in #ifndef. 1996-09-06 05:06:01 +00:00
mycroft 82f0b829e8 compoll() -> comsoft() 1996-09-05 16:42:32 +00:00
mycroft b3eac79b64 tty stop functions really should return void, not int, and certainly not both. 1996-09-02 06:43:16 +00:00
mycroft 80110252d0 Minor changes. 1996-09-01 00:54:34 +00:00
mycroft 44bb2d98e1 Split the UltraStor driver apart. 1996-08-31 20:26:48 +00:00
mycroft 06fdef11fd Split the BusLogic driver apart, and rename it to `bha (like BSDi). 1996-08-31 20:18:24 +00:00
thorpej c4366945e5 Quiet the ahc driver down a bit by only enabling some of less useful
messages #if defined(DEBUG) in the NetBSD case.
1996-08-28 23:39:40 +00:00
cgd 71ad30d0e9 (1) set scsi_link channel to either the appropriate channel (if a
multi-channel driver), or to SCSI_CHANNEL_ONLY_ONE if a
    single-channel driver.
(2) use scsiprint() rather than a locally-defined autoconfig print
    function, and kill any locally-defined print function.
1996-08-28 18:59:15 +00:00
cgd a4bb0a41da define PDQ_ASSERT directly in terms of __assert, because cpp doesn't seem
to do:
#define	foo(x)	...
#define bar	foo
like we'd like it to.
1996-08-28 16:01:29 +00:00
cgd 2a73ef60b7 change cfprint_t type definition to take a const char *, rather than
a char *, because that's what was really intended, and because
if the print function modifies the string, various things could become
unhappy (so the string should _not_ be modified).
1996-08-27 21:53:46 +00:00
cgd 5c7192b20c Including user-land headers in kernel code is not allowed in NetBSD.
Therefore:
	(1) define offsetof here, and
	(2) implement assertion checking in terms of the libkern
	    assertion-checking macros.
1996-08-27 00:51:29 +00:00
mycroft ef186dd501 Look for the sequencer code in the right place. 1996-08-10 08:45:17 +00:00
chuck 9ee9129dc4 fix:
- fix memory sizing bug for 2MB cards.   driver now works for both 512KB
   and 2MB ATM cards (we just got 10 2MB cards).
1996-08-02 02:55:14 +00:00
chuck b3bed30d80 fixes/update:
- adjust txhiwat and mindma params a bit

 - fixed a couple of incorrectly labeled panic calls

 - the "location" was being calculated incorrectly in some cases (forgot
   to subtract off MID_RAMBASE).   this only caused problem when trying
   to change the size of the tx/rx buffers (e.g. to 64KB).

 - fixed possible non-aligned DMA burst in the starting byte burst case.
        (e.g. if we could DMA 3 bytes, but only have 2 it is not legal
        for us to use MIDDMA_BYTE2 mode).

 - opt: on tx: try and avoid flushing the internal buffer by padding out the
        length of the last mbuf a bit (if possible)
1996-07-17 03:53:39 +00:00
chuck 1e5c811090 midway fixes + new stuff:
- merged multiple DRQ/DTQ ADD macros into a single DRQ and a single DTQ
   macro with a uniform interface to make the code simpler and easier to read.

 - en_start: only update atm_flags if EN_MBUF_OPT is enabled (which it
        should be)

 - for alburst: make sure we don't DMA more bytes than we need (on both
        tx and rx).   if the alburst is larger than we need, drop to
        MIDDMA_WORD mode.

 - major change: enable the use of byte and 2 byte DMA on the trasmit side.
   this allows us to DMA from non-word sized/aligned mbufs directly.
   [the old code would always call en_mfix which would copy (or move) the
    data in order to ensure proper alignment...   it turns out TCP gives
    us non-word sized/aligned mbufs when it is retransmitting, so we needed
    to handle this case more efficiently.]    the following functions
   were changed to make this work:
    - en_dqneed: add an arg to let us know if we are transmitting or not.
        if we are TX, then we must take into account byte DMAs when
        estimating the number of DTQs we will need for a buffer
    - en_start: only mfix mbufs if DMA is disabled
    - en_txdma: only set launch.nodma if we have en_mfix'd the mbuf chain
        also, we may need a DTQ to flush the chip's internal byte buffer
    - en_txlaunch: only attempt a copy if we have the proper alignment.
        add byte dma code for the front and end of the buffer.
        make sure the internal dma buffer is flushed out.
    - stats: keep track of how many times we have to use byte sized DMA

midwayreg:
 - add byte/2byte DMA defines

midwayvar:
 - add new stat counter to monitor less-than-word lengthed DMA
1996-07-16 22:11:05 +00:00
cgd effd413ecd before #defining the vtophys() hack for the alpha, #undef vtophys since
it may be a macro.
1996-07-15 16:40:27 +00:00
cgd 8ab5d16b77 insert the normal NetBSD/Alpha vtophys() hack, so that this will compile
and link nicely on the Alpha.  It may even run, if well written.
1996-07-14 20:05:31 +00:00
cgd f632c1cea9 fix bogus casts from pointer to unsigned int. Use unsigned long for this. 1996-07-14 19:36:56 +00:00
chuck 6ae82431b5 fix:
- en_mfix shouldn't touch M_EXT mbufs.    change to avoid this [at
    the expense of allocating a new cluster mbuf to copy to].

    XXX: en_mfix is getting called more often than I hoped it would
    (seems to happen when TCP retransmits... we get all sorts of odd
    sized, odd lengthed data mbufs, yuck).    i may revise the xmit
    DMA code to use non-word sized dma.
1996-07-11 22:48:10 +00:00
chuck 47131b5d81 fixes:
- don't try and add a PDU trailer (or TBD for that matter) to an M_EXT
   mbuf.   when M_EXT is set, the data area of the mbuf can be shared
   with other mbufs (see m_copym()), and writing to one M_EXT mbuf may
   invalidate another M_EXT mbuf (saw this with PDU trailers).

 - be sure to validate the length value from the PDU trailer so that it
   doesn't throw us out of sync with the chip (fixes yet another source
   of the dread "en_service: id mismatch" panic).

 - on recv, don't bother allocating an mbuf if mlen is zero since we are
   only going to toss the data anyway.
1996-07-11 00:15:56 +00:00
explorer c62a6661a1 Updates to aic7xxx driver ; from pr port-i386/2600 1996-07-10 22:50:44 +00:00
cgd 3a99dd36fe cast argument to alpha vtophys() to vm_offset_t, to catch up with
recent prototyping.
1996-07-10 18:55:05 +00:00
cgd 7b1d7251d1 add a couple of "default" entries in switch statements, to quiet -Wall. 1996-07-10 18:53:32 +00:00
cgd bc2f07f331 move DDB-only label inside an #ifdef, so that -Wall works 1996-07-10 18:14:04 +00:00
abrown de61f8f511 Add a new function hook sc_nocarrier() to am7990_softc. If non-null, this
function is called when carrier is lost in lieu of a console message.
This is used by the sparc port to switch media types on Sun4m machines
if the appropriate link flags are set by ifconfig (see following commit
message). Should not affect ports that do not use sc_nocarrier().
1996-07-05 23:56:57 +00:00
chuck db41df67cd ported to FreeBSD 2.2-960612-SNAP. [thanks to Matt Thomas' driver work] 1996-07-03 17:21:58 +00:00
chuck 921ed68fff new: add a raw_threshold for raw mode. this basically tells the driver
to ignore inbound data sizes less than the threshold.  otherwise,
        when connected to a video aal0 input the driver gives us a massive
        stream of 56 byte mbufs each with one aal0 cell in it and the
        system just can't keep up with it, especially if the socket buffer
        size is large [it hangs until you turn off the video source].

fixes: when turning off a vc, try and check the freshest copy of the mode
        when seeing if we need to enter the "drain" state.   also, don't
        panic if we get unexpected rx interrupt on a VCI (instead make sure
        the VC is off, print a warning, and move on!).
1996-06-29 23:23:35 +00:00
chuck 685684df93 change:
- change rxso into a void handle ... no need to know details at this low
        level.
fix:
 - forgot to init "vci" during ENOTHER_DRAIN case of RX DMA interrupt
        [could cause a vm_fault on native mode connection close depending
        on needing to drain out the VC and also the random value of vci]
1996-06-29 20:00:44 +00:00
chuck d8f8995650 new: add all needed hooks to engage raw mode. 1996-06-28 02:32:24 +00:00
chuck ff6f7d186b fixes/improvements:
- more stat counters (rxmbufout -- mbufs, ttrash -- trashed RBD)
 - add swsl_size to keep track of size of software slist
 - revise when we call en_service
 - fix handling of circular lists (was getting full vs empty confused in
        extreem cases...)
 - native mode atm: remove sbappend code: can't do it here since
        socket buffer is protected only by splsoftnet and that doesn't
        mask enintr off.    forces us to switch to a two level interrupt
        scheme.    revise call to atm_input to reflect that.
1996-06-27 04:29:40 +00:00
chuck 39b4f89493 fixes:
[1] rxslot "cur" pointer wasn't updated if we copied all data and
        didn't have any fill.   this could cause a service id mismatch
        panic under load.
  [2] recv of aal0 forgot to include the cell header in the data length
        calc [add cell header length to midwayreg.h]
  [3] fix control info "chop" for raw mode and aal0
  [4] handle rxsb better for native atm connections
        (XXX: still working on this ... not complete and needs revision)
1996-06-26 04:08:53 +00:00
chuck ba63d22426 add support for efficient networks midway atm chip. 1996-06-22 01:50:52 +00:00
mycroft a8e5b5ba47 Remove some unneeded FIFO flushes and reorder some register changes per the
6360 manual.  Turn off synchronous negotiation.
1996-06-18 16:13:05 +00:00
gwr e63a9d929c Add tty_attach(), and fix a type mismatch. 1996-06-13 23:05:40 +00:00
cgd 813c33fa36 clean up import of new revision (June 7, 1996) from Matt Thomas. 1996-06-07 23:35:04 +00:00
cgd 08d585e924 add tty_attach() where appropriate. 1996-05-30 18:24:09 +00:00
mrg 08bd090b26 count audio interupts (from OpenBSD). 1996-05-28 13:36:09 +00:00
thorpej 722d0da592 RCS Id police. 1996-05-20 00:56:39 +00:00
thorpej 1a614aed0c Fix conflicts during import. 1996-05-20 00:26:15 +00:00
gwr 9c5d297b0f New version that handles hardware flow-control (CRTSCTS) at the input
to the ring (or silo).  This eliminates ring overrun with crtscts.
Also handle deferred register changes earlier, and misc. cleanup.
Give credit to: Bill Studenmund and Ian Dall (Thanks!)
1996-05-17 22:49:23 +00:00
gwr eedc5c7e85 Rename cs_pclk_div16 to cs_brg_clk to clarify the fact that the
Baud Rate Generator (BRG) clock is not necessarily PCLK/16.
1996-05-17 19:30:34 +00:00
gwr 32e9715743 Rename cs_pclk_div16 to cs_brg_clk to clarify the fact that the
Baud Rate Generator (BRG) clock is not necessarily PCLK/16.
Also fix up spacing.
1996-05-17 19:29:37 +00:00
mycroft 1474c6f3a3 Replace STAILQ with SIMPLEQ. 1996-05-16 05:22:28 +00:00
mycroft f636c54f70 Replace STAILQ with SIMPLEQ. 1996-05-16 05:20:23 +00:00
mycroft 117bb8ae8b New version, with changes from Justin Gibbs and Noriyuki Soda. 1996-05-16 03:59:03 +00:00
thorpej 5dc3777c41 Be more careful with types, and pull in <machine/intr.h> 1996-05-14 22:22:05 +00:00
thorpej f668914751 Update for the arpwhohas() change. 1996-05-14 00:16:04 +00:00
christos 7cc0c97a06 Fix printf() statement argument order 1996-05-13 14:10:21 +00:00
mycroft cec36bf8d5 Use intr.h. 1996-05-12 23:51:23 +00:00
gwr 01e80ddb16 Add a new member to the softc (sc_parity_disable) with per-target
bits that tell the driver not to expect parity from those targets.
XXX: For now, it is up to MD code to set this mask.  Eventually,
XXX: we should identify targets first (without demanding parity)
XXX: and then use a new "SCSI quirk" to set the right bit.
1996-05-10 18:04:01 +00:00
thorpej f004654691 Update Herb's e-mail address; beer.org feels a lot more friendly. 1996-05-10 05:27:53 +00:00
christos c853e93fc3 Fixed gcc -Wall warnings. 1996-05-07 23:25:07 +00:00
thorpej 15354e899c Changed struct ifnet to have a pointer to the softc of the underlying
device and a printable "external name" (name + unit number), thus eliminating
if_name and if_unit.  Updated interface to (*if_watchdog)() and (*if_reset)()
to take a struct ifnet *, rather than a unit number.
1996-05-07 01:55:13 +00:00
thorpej 300992c9ba Changed struct ifnet to have a pointer to the softc of the underlying
device and a printable "external name" (name + unit number), thus eliminating
if_name and if_unit.  Updated interface to (*if_watchdog)() and (*if_start)()
to take a struct ifnet *, rather than a unit number.
1996-05-07 01:43:13 +00:00
thorpej 16e78eb3fb Make the MI LANCE driver standalone, and use cfattach to resolve
naming conflicts between bus attachments on ports that can have
multiple instances of the LANCE.

Changed struct ifnet to have a pointer to the softc of the underlying
device and a printable "external name" (name + unit number), thus eliminating
if_name and if_unit.  Updated interface to (*if_watchdog)() and (*if_start)()
to take a struct ifnet *, rather than a unit number.
1996-05-07 01:38:35 +00:00
is 95f41d24cc Add "iy" driver for Ethernet ISA boards using the Intel i82595 chip, e.g.
(and only tested on) Intel Etherexpress PRO. Should work on any i82595 ISA
board which uses an EEPROM for config information; NETBLKID not yet supported.
TODO: change to BUS interface, add multicast support.
1996-05-06 21:36:51 +00:00
christos d53d6cd545 Move comintr() prototype to comvar.h; needed by the multi-port cards. 1996-05-05 19:50:44 +00:00
christos a16dd8b648 Move epstop prototype to the header file. 1996-05-03 19:08:47 +00:00
christos bd397af7ad - include <sys/systm.h>
- fix prototype of epmbuffill()
- fix typo of epxstat -> eptxstat
1996-05-03 17:44:59 +00:00
thorpej 0b637e93a8 Convert the Etherlink III (ep) driver to use <machine/bus.h>. 1996-04-30 22:29:56 +00:00
christos a1609dc859 - Fix gcc -Wall warnings
- BUG: if (error = ...() == EWOULDBLOCK)
1996-04-29 20:30:48 +00:00
christos e8a8a6298c - prototype fixes 1996-04-29 20:02:32 +00:00
thorpej aff40e2a72 Break up the ep driver into isa, eisa, and pci front-ends and a
bus-independent core driver.  Tested on all three bus types, including
an isa 3c509 masquerading as an eisa device (use ep* at eisa? slot ? in
your kernel config file to catch this one).
XXX Driver still needs to be converted to <machine/bus.h>
1996-04-25 02:15:42 +00:00
christos b016bd441a Add a hardware dependent initialization function lehwinit() 1996-04-22 02:40:49 +00:00
cgd d7d306aeb7 change LANCE copy & zero functions' names to start with amd7990_, and
remove their 'integrate' (usually defined to be 'static') keywords.
when lance drivers are split up by attachment, more than one file will
reference the copy/zero functions (i.e. not just the file that pulls in
am7990.c... and eventually inclusion of am7990.c should go away entirely).
1996-04-18 00:25:11 +00:00
cgd b6549d493d define and export the global variable "comconscflag", the default tty
'cflag' for the console.  Normally set to TTYDEF_CFLAG, may be
overridden by machine-dependent console attachment code, as necessary.
(Alpha uses it to set cs8 -parenb.)  Files including comvar.h now
need to include <sys/termios.h>, because comconscflag is of type
tcflag_t.
1996-04-15 18:54:31 +00:00
cgd 51e85d07b9 update for addition of a machine-dependent cookie as the first argument
to isa_intr_{,dis}establish().
1996-04-11 22:27:59 +00:00
gwr 32d12d3be4 Make the ring size configurable in the tty driver.
Make the pseudo-interrupt functions return void.
Call the tty layer at spltty (to be safe).
1996-04-10 21:44:35 +00:00
mycroft 0609135a66 Add explicit return types. 1996-04-10 19:03:46 +00:00
pk 696daec742 Make this compile if LEDEBUG id defined. 1996-04-09 15:21:59 +00:00
jonathan 282688d407 Fixes for -Wall -Wmissing-prototypes:
remove unused variable "xfer" from the copy{to,from}buf_gap2() functions.
1996-04-08 20:11:46 +00:00
mycroft 740637ad71 If we dequeue a packet due to excessive collisions, make sure we check
to see if the queue length has dropped to 0.
1996-04-08 19:02:19 +00:00
mycroft 9c6e05d835 Minor optimization, and do a CLRCH after (re)selection just to be safe. 1996-04-03 15:58:13 +00:00
mycroft b82447e3e1 * Change message priorities so that ABORT comes after IDENTIFY.
* Add an ACB_RESET flag, so that a BUS DEVICE RESET can be queued within the
driver.
* If ACB_ABORT or ACB_RESET is set during reselection, schedule a message and
assert ATN.
* Optimize aic_datain_pio(), aic_dataout_pio() and aicintr() somewhat.
* Schedule a timeout only when we select the target, so that commands can't
time out prematurely.
1996-04-03 10:33:45 +00:00
mycroft d0742ed3c5 Several things:
1) If we get an unexpected disconnect, issue a REQUEST SENSE, as recommended
by the SCSI-2 spec.  If the target created a contingent allegiance condition,
this will clear it.  Also, if it happened while sending a SDTR or WDTR message,
disable negotiation for that target.
2) Since some lame devices still don't deal correctly, make sure we deassert
ATN if our last message out is interrupted.  If we get a MESSAGE PARITY ERROR,
we'll reassert ATN anyway.  This should ensure that we never have to send a
MESSAGE NO OPERATION.
3) Set AIC_ABORTING only when actually sending a BUS DEVICE RESET or ABORT,
so we get better error detection.
4) Other internal reorganization of no consequence.
1996-04-01 07:24:37 +00:00
pk 2f3ec93250 Various cleanup; mostly trailing spaces/tabs. 1996-03-31 22:38:29 +00:00
mycroft 778f21db6a Use `{in.out}b(iobase + ...' rather than including the base address in
the register definitions.
1996-03-30 16:13:24 +00:00
mycroft fc8683fbaa Eliminate random warnings. 1996-03-29 00:24:58 +00:00
mycroft 15fd04d5a4 Really implement ahcprint(). 1996-03-28 22:39:08 +00:00
mycroft 60a21c451b Format police. 1996-03-26 17:06:46 +00:00
gwr 639d64d73b Allow the machine-dependent code to define a fast comparsion function
for ethernet addresses via the macro ETHER_CMP. (see sun3/dev/if_le.c)
Add a comment explaining the LANCE_REVC_BUG work-around section.
1996-03-26 14:54:56 +00:00
is ab622e51f5 - Zeroth version of M68060 support (dont want to cause emulation traps for
the "Fast Assembler Version of the copy loop)
- Yet another sanity check included: initialize unused receive buffers to
  zero sender id; and test for sender hardware id of zero in the receiver.
  Gives us better error messages in case flaky hardware causes spurious
  receive interupts.
1996-03-20 13:28:50 +00:00
gwr 79eb9fbf61 Deal with devices that are slow to get off the bus. 1996-03-18 23:09:02 +00:00
gwr 4e6633ab9a Fix two bugs pointed out by Leo Weppelman:
(1) Did not initialize cs->cs_rr0 anywhere
(2) Have to read rr1 before the data it applies to
1996-03-18 23:06:02 +00:00
cgd b55176ea0c since this driver tries to block its interrupt with spltty(), it must
attach that interrupt with IPL_TTY.
1996-03-18 09:14:32 +00:00
cgd b5c1728e22 clean up <machine/bus.h> changes a bit; no real functional change.
prototype lpt_port_test().
1996-03-17 13:40:29 +00:00
cgd 179f65d15e Add #ifdef's at the right places, on NCOM_ISA and NCOM_COMMULTI, to
only include the relevant code in the probe & attach functions.  Still
one probe and one attach function, with #ifdefs, but this is a step
in the right direction and saves a few hundred bytes (ooh, ahh!).
1996-03-17 13:38:14 +00:00
thorpej 3cd14f7597 New device attachment scheme:
- split softc size and match/attach out from cfdriver into
	  a new struct cfattach.

	- new "attach" directive for files.*.  May specify the name of
	  the cfattach structure, so that devices may be easily attached
	  to parents with different autoconfiguration semantics.
1996-03-17 02:00:30 +00:00
thorpej 5c67e5fad9 New device attachment scheme:
- split softc size and match/attach out from cfdriver into
	  a new struct cfattach.

	- new "attach" directive for files.*.  May specify the name of
	  the cfattach structure, so that devices may be easily attached
	  to parents with different autoconfiguration semantics.
1996-03-17 01:16:48 +00:00
thorpej 6d9ea4cf59 New device attachment scheme:
- split softc size and match/attach out from cfdriver into
	  a new struct cfattach.

	- new "attach" directive for files.*.  May specify the name of
	  the cfattach structure, so that devices may be easily attached
	  to parents with different autoconfiguration semantics.
1996-03-17 00:43:52 +00:00
christos bca6f430a9 Make operator precedence explicit by parethesizing. 1996-03-16 23:19:14 +00:00
christos 03b701e393 Bring prototypes into scope and fix compiler warnings. 1996-03-14 19:44:30 +00:00
christos e023a87a11 Bring prototypes into scope. 1996-03-14 19:05:07 +00:00
cgd 68b00a8e52 RCS Id police 1996-03-14 02:30:30 +00:00
thorpej 94fc5cf4ce Resolve conflicts from merge. 1996-03-11 21:41:28 +00:00
thorpej 2e4812fa65 New snapshot of DEC PDQ-based FDDI driver, from Matt Thomas. 1996-03-11 21:04:02 +00:00
cgd 85286bff2f convert these to use new <machine/bus.h> interfaces. This involved
substantial reworking of the multi-port drivers, as they need to frob
bits in the io-port spaces of their children.  As a result, the
commulti->com attachment interface is substantially more complex.
(This may be fixable in the future by making some of the code common,
but as long as io-port allocation checking is planned, it's necessary.)
1996-03-10 09:01:20 +00:00
cgd 5bfb840114 Fix copyright year 1996-03-09 23:37:14 +00:00
thorpej f350b1aa9d Fill in the missing pieces and make the NetBSD version of Matt Thomas's
DEFPA FDDI driver actually compile and link.
1996-03-09 03:46:21 +00:00
cgd a7c6dfe1cd include comvar.h for comprobe1() prototype 1996-03-09 01:02:08 +00:00
cgd 56edbfc4f9 define the common structure used to attach 'com' units as slaves to
multiport cards.  prototype comprobe1(), which is used by multiport card
drivers.
1996-03-09 01:01:33 +00:00
cgd 2c11ad408c convert to use I/O mapping/access macros in <machine/bus.h>.
Mostly mechanical changes, except for probe/attach, which have
to map (and, in the case of probe, unmap) the I/O space that the
chip will use.
1996-03-08 22:17:58 +00:00
christos d318abdbc4 prototypes for ccd audio and ncr5380 1996-03-07 15:00:07 +00:00
mycroft 97fbc0015b Add bit definition for auto-initialize mode. 1996-03-01 22:27:09 +00:00
gwr 950eda2d54 Replace DEBUG with NCR5380_DEBUG and do not define it by default. 1996-03-01 01:42:04 +00:00
gwr 92d99153a3 Kill two mis-matched and unnecessary declarations. 1996-02-28 01:44:17 +00:00
scottr 4005c5fd09 Fix typo (PR 2123, from Michael VanLoon) 1996-02-26 22:48:32 +00:00
cgd 5a1e1bb682 don't need isa/isareg.h or pci/pci{reg,var}.h. 1996-02-25 22:56:30 +00:00
pk 3d182fe265 Use CPU-type macros 1996-02-25 21:53:49 +00:00
gwr 012b23ca17 fix a trace message 1996-02-22 04:06:03 +00:00
gwr a19a024e59 Do not mark target/LUN busy until we commit to working with it,
after the check for reselections.  (From Matthias Pfaller, PR 2105)
Also improve the selection code WRT concurrent reselection.
1996-02-22 03:10:47 +00:00
mycroft a35f0ac985 Add more debugging code. 1996-02-20 12:13:09 +00:00
mycroft 5021ab87f1 Update copyright notice. 1996-02-19 15:23:25 +00:00
mycroft 5bc567b0d3 Set IER_ETXRDY before outputting any bytes, to prevent race condition. 1996-02-19 15:09:25 +00:00
mycroft c011a5eae4 Handle break more correctly.
Make IER_ETXRDY track TS_BUSY.  (Prevents a loop in comintr() if no output
is available.)
Add a bunch of debugging code.
1996-02-19 14:53:03 +00:00
pk b9de283ae6 Fix typo; pointed out by jtk. 1996-02-19 10:30:09 +00:00
gwr e9d6e59c62 Fix two bugs found by Bill Studenmund:
Driver can not use tp->t_sc for its own purposes
Attach should take the unit number from _dev.dv_unit
1996-02-19 04:34:01 +00:00
mycroft e5730c4a73 Fix a race condition where we might stop outputting if a write follows a
flush too closely.
1996-02-18 09:10:15 +00:00
mycroft 203f5d5329 Add some text describing the UART lossage worked around in the previous. 1996-02-17 04:51:41 +00:00
mycroft 121f6570d7 Drain the transmitter FIFO before changing the baud rate or FIFO depth
registers.  Fixes PR 2046.
Also, if COMCONSOLE is defined, expect CONSPEED to be the baud rate.
1996-02-17 04:04:28 +00:00
mycroft 9cbadb3ec2 Remove incorrect comment. From Mike Long, PR 1277. 1996-02-16 08:12:33 +00:00
christos ee08b72ef4 Hayes ESP register definition 1996-02-10 20:23:40 +00:00
christos 11d31f7ce7 Hayes ESP patches [from PR database] 1996-02-10 20:23:18 +00:00
christos 30c34c327f vnd.c: Typo (disk_deta{t,}ch) It was detach in the header file and
detatch everywhere else. Reverted to the english spelling.
       Also fixed the rest of the prototype warnings while I was at it.
ic/ncr5380sbc.c: Don't declare Debugger()... I have to clean this
		 everywhere :-(
1996-02-10 00:11:44 +00:00
scottr 54c51d4393 Document this file better, mostly from John Vinopal
<banshee@gabriella.resort.com>.  Closes PR #1864.
1996-02-05 23:01:50 +00:00
jtc 3ae2aedf4d Fix error in copyright notice 1996-02-05 02:18:48 +00:00
jtc 240e22087c Received copyright assignment 1996-02-05 00:10:32 +00:00
mycroft 88e512b693 LOCORE -> _LOCORE 1996-02-01 22:28:24 +00:00
gwr f2e57c6dc8 Eliminate remaining direct references to the z8530 chip
to allow the MD access functions to do delays, etc.
1996-01-30 22:34:52 +00:00
gwr c2c1c1b11a Move struct definitions to MD code. 1996-01-24 19:21:40 +00:00
gwr ca633a9f35 Reorganized, machine-independent z8530 driver, based on the sparc/sun3 zs.
Uses autoconfig to attach keyboard, mouse, or tty.  (See z8530.doc)
1996-01-24 01:07:21 +00:00
gwr 5886eb474f Use the function pointers sc_pio_in, sc_pio_out to call the PIO functions
for transfers in data phase so those functions may be MD implementations
that do "pseudo-DMA" if desired.  Also correct some comments.
1996-01-23 19:47:00 +00:00
christos d3427703db Hayes ESP support from Michael Van Loon, with minor cleanups. Tested on
a single port ESP card; works great!
1996-01-14 23:44:34 +00:00
thorpej e422ebca1a Add the "ahe" driver, autoconfiguration support for the aic7xxx-based
Adaptec 2[78]4x SCSI controllers, from Michael Graff <explorer@flame.org>.
Fixes PR #1594 from Noriyuki Soda <soda@sra.co.jp> in a different way.
1996-01-13 02:05:14 +00:00
thorpej efb493a4e0 Back out the rint/tint hook stuff, and remove need to LEINTR_UNIT. The
hp300 was the last to use it.
1996-01-02 21:51:56 +00:00
thorpej 1bd3fee124 Switch to David Jones' new machine-independent NCR5380 driver. It's been
in use by the sun3 port for some time, and is now used by the sparc port.
1996-01-01 22:24:30 +00:00
thorpej 0df0df026b Add hooks at the top of the tint and rint functions, conditionally called
if the CPP symbols LE_TINT_HOOK and LE_RINT_HOOK are defined, respectively.
The hooks are called by jumping though the sc_tint_hook and sc_rint_hook
members of the softc, and take the softc as an argument.  Only ports which
need these hooks need to declare them in the softc.
1995-12-30 20:59:17 +00:00
chopps fd9084650c make changed from pr#1824 from Ignatios Souvatzis 1995-12-27 07:51:40 +00:00
mycroft 3da4b2a160 The IST_* and IPL_* constants are not bus-specific; don't treat them as such.
Change splimp -> splnet in Ethernet, ARCnet, and FDDI drivers.
1995-12-24 02:29:35 +00:00
tls 69d57286dc merge latest Thomas version with our minimal changes 1995-12-23 06:22:46 +00:00
mycroft 7bb08a12f6 Make lewatchdog() take an int, not a short. 1995-12-11 19:48:53 +00:00
pk 0d1981416d Adapt to changed mapiodev() interface. 1995-12-11 12:43:14 +00:00
mycroft d51f726204 Fix typo, and eliminate some unneeded local variables. 1995-12-11 02:30:44 +00:00
mycroft 333f2e0065 Make several informational messages #ifdef LEDEBUG. 1995-12-11 02:21:56 +00:00
mycroft 77fce9fe33 Change format of probe messages slightly.
Add work-around for LANCE rev. C bug, iff LANCE_REVC_BUG is defined.
1995-12-10 08:55:07 +00:00
jtc 0cd793449e merge in changes from 1.1 release branch 1995-11-30 00:56:23 +00:00
cgd 0f7f390b49 allow bus-specific lance drivers to use machine-independent buffer/descriptor
copy functions, and convert isa and pmax drivers to do so.
1995-11-25 01:23:51 +00:00
pk 2f9169d20b Correct NE7CMD_FORMAT command (from John Kohl; PR#1637). 1995-10-20 00:02:20 +00:00
mycroft f096f370fb Use SET(), CLR(), and ISSET() macros.
Rename CFCR to LCR, and cache its value.
Check MSR before transmitting, for better flow control.
Preserve LCR_SBREAK inside comparam().
1995-10-15 19:43:04 +00:00
chopps 78bd894529 add prototypes for isr stuff fixes pr# 1284 and 1569 1995-10-09 15:19:58 +00:00
chopps 3973aeb080 fix hang bug from Ignatios Souvatzis <ignatios@theory.cs.uni-bonn.de> 1995-10-09 14:05:24 +00:00
mycroft b216bead49 Add an Adaptec 2940 driver, by John Aycock and Justin Gibbs, ported to NetBSD by Stefan
Grefen, with several bug fixes by me.
1995-10-09 09:49:30 +00:00
mycroft 393a69d6db Modularize the CCB/MSCP/ACB/ECB handling a little. No functional changes. 1995-10-03 20:58:56 +00:00
pk 601a054fb3 Remove a sun3-ism. 1995-09-26 21:04:27 +00:00
thorpej 26419c5a8b Don't declare Debugger(). It's handled in <sys/systm.h> 1995-09-26 19:31:15 +00:00
thorpej dd2f3dddef Don't declare Debugger(). It's handled in <sys/systm.h> 1995-09-26 19:24:26 +00:00
pk 0fbf2ca04a Make *print() a message if no scsibus was attached. Also, return something
valid.
1995-09-14 20:43:09 +00:00
pk 589d83d6a8 Patches from Jason Thorpe to deal with 4/110 scsi (PR#1422).
Also repairs a problem noted by David Jones: detect scsi phase correctly.
1995-09-03 22:26:02 +00:00
leo b7680d7c14 Select the right register structure for the Atari. Although it's big-endian,
it uses the odd bytes. Also make the registers volatile.
1995-08-20 13:24:05 +00:00
cgd b0dc5d3d7f local adaptations, and fix a could of compilation errors 1995-08-19 04:35:18 +00:00
cgd 01597582c1 fix botch in one of my previous imports 1995-08-19 04:15:29 +00:00
cgd 9980150670 Generic FDDI support by Matt Thomas. Support for DEC "PDQ" FDDI chipset
and for the PCI attachment of said chipset ("if_fpa"), also from Matt Thomas.
Arguably, pdq* doesn't belong in sys/dev/ic, but it's going to be shared by
various bus attachment devices at some point in the future, and there's no
other place that seems to fit as well.
1995-08-19 00:59:47 +00:00
cgd c9dbf2d1d2 clean up 7/26 de snapshot import 1995-08-17 18:04:55 +00:00
mycroft 80d7b0695a minphys() functions really should return void. 1995-08-12 20:30:45 +00:00
mycroft e4413d1a10 Fix another comment. 1995-08-07 14:26:51 +00:00
mycroft f657f5bf3e Make this interface simplex. It's more efficient, and sidesteps the
problem of receiving our own multicasts in promiscuous mode.  Also, fix
some outdated comments.
1995-08-07 14:16:26 +00:00
cgd 830a91b2e9 update SCSI minphys routines' definitions to match standard minphys()
definition and usage.
1995-07-24 07:16:44 +00:00
cgd 979cf41d87 merge changes from update 1995-07-24 05:26:53 +00:00
mycroft 607e071f1b Fix pasto. 1995-07-24 04:34:51 +00:00
mycroft 8170afdb2d Copy changes from ISA version. 1995-07-24 04:15:35 +00:00
mycroft 57528ce346 Init functions are always called at splimp(). 1995-07-23 20:36:51 +00:00
mycroft 465cfd15f0 Always use m_pkthdr.len on output. Panic if M_PKTHDR is not set. 1995-07-23 16:32:33 +00:00
brezak 693043d786 GUS audio driver from John Kohl. 1995-07-19 19:58:09 +00:00
brezak f8b400c446 Change DEBUG-->AUDIO_DEBUG. PR# port-sparc/1241 1995-07-19 19:50:16 +00:00
pk c5ad4c85f0 ncr5380 chip definitions and MI part of driver. 1995-07-08 21:30:41 +00:00
brezak 0bdd4aa7c2 add support for cs4231 1995-07-07 02:11:45 +00:00
mycroft eb99dcc09a Fix a condition where ttywait() wouldn't be woken up. Also, short-circuit
the case of no pending input in compoll().
1995-07-04 06:47:18 +00:00
mycroft f4b5f723e0 Remove references to if_addrlist. 1995-07-02 00:16:00 +00:00
cgd 2b71eae2c7 note that most of dev/ic's contents have changed names 1995-06-28 04:30:30 +00:00
cgd 28cbee6941 move to more appropriate (...reg.h) names. 1995-06-28 04:02:13 +00:00
cgd 50937bb63a add charles's mostly-machine-independent lance driver, which is used
by the Alpha port.
1995-06-28 02:24:50 +00:00
cgd c319ff6546 these have moved to more appropriate names 1995-06-28 02:23:27 +00:00
chopps 5ad7f31079 udpate to match ifnets new use of sys/queue.h 1995-06-27 13:13:32 +00:00
briggs a68aae96fc David Leonard (leonard@dstc.edu.au) noticed an embedded comment
delimiter in a comment within a #define (ZSWR14_DTR_REQ).  Inserted
spaces in case someone wants to use this define at some point.
1995-06-19 13:15:08 +00:00
mycroft d9fc8ef092 Remove check for if_addrlist == 0; if_attach() always puts one address on
the list, so this is a noop.
1995-06-12 00:09:42 +00:00
cgd d4f62dcb69 update from Ignatios Souvatzis 1995-06-07 00:13:52 +00:00
mycroft 4bfd7749ad Various:
* Check for CTS in the correct register.
* Only do a selwakeup() if we output something.
* Don't make assumptions about what TTYDISC does.
1995-06-05 19:08:09 +00:00
cgd 89c30bb2e3 do the right thing with fixed-size types. 1995-06-05 00:49:45 +00:00
cgd c71cccacde kill old Id and Log. add NetBSD Id 1995-06-05 00:46:30 +00:00
cgd 551bcffab9 dc21040 driver, from Matt Thomas 1995-06-05 00:38:18 +00:00
mycroft 5b37a8fded Handle BREAK correctly when not entering DDB. 1995-06-04 20:50:14 +00:00
mycroft 38847d04c0 Add an input FIFO, and fix several flow control problems. Based on code from
Felix A. Croes.
1995-06-04 20:39:22 +00:00
jtc d045544ebd Changed ns82450 to ns8250 and dropped ns82550 from probe console messages. 1995-06-01 21:26:51 +00:00
mycroft addaff473b Only use the `no pending interrupt' bit in the IIR; the other bits
are too unreliable on clone chips.
1995-05-28 03:26:37 +00:00
cgd c821cb684a (1) conditionalize debugger usage in comeint with DDB, not COMCONSOLE;
latter would lead to undefined symbols if DDB not defined.
(2) check for break on console, and therefore debugger entry (if ddb
	in kernel) earlier, so that the device doesn't need to be open.
(3) return immediately after breaking into the debugger in comeint().
(4) only do the normal character input routine in comintr if receive
	mask yeilds _EXACLTY_ LSR_RXRDY.  if there's only a receive
	error, or there's a receive error _and_ a received character,
	do comeint().
(former two by me.  latter two from Bob Baron <rvb@cs.cmu.edu>.)
1995-05-12 17:54:41 +00:00
pk 7d244351cf Add `evcnt' field. 1995-05-04 19:43:27 +00:00
cgd 5d25b2c50e machine-independent definitions for the Motorola MC146818A Real Time Clock
and compatible chips, including the  Dallas Semicontuctor DS1287A.
This chip is used in PC's, DECstations, and Alphas, at least...
1995-05-04 19:31:18 +00:00
mycroft 825d2fee22 Add Masahiro SEKIGUCHI's MB8696[05] driver, ported, with some additional
changes by me:
* Make autoconfiguration work correctly for more models of AT1700.
* Make the debugging code more robust and complete.
* Tweak the output routine for better performance, and to eliminate an ugly
kluge.
Various other style cleanup.  Needs more work.
1995-05-01 02:47:07 +00:00
hpeyerl c9319ad5c4 <break> --> ddb if defined(comconsole).
(if you have a serial console and you hit break, you get ddb).
1995-04-28 00:34:08 +00:00
pk 8d90aefeb0 New audio driver from Rolf Grossmann. 1995-04-25 20:05:32 +00:00
pk 6404739df8 AMD9730 telephony chip (used to be sparc/dev/bsd_audioreg.h). 1995-04-24 19:17:17 +00:00
mycroft bfab570cda Add constants for some keyboard controller commands. 1995-04-21 09:16:16 +00:00
mycroft 9e28a35469 Fix thinko in previous change. 1995-04-19 22:04:33 +00:00
mycroft 53d73c77a5 Garbage collect #includes. 1995-04-19 19:10:35 +00:00
mycroft e1315808a7 Implement comtty(). 1995-04-19 18:59:27 +00:00
cgd 8a640328ed clean up several ISA device interfaces: autoconfiguration, header
inclusion, and interrupt configuration.  more work still needs to be done,
but it's getting better...
1995-04-17 12:06:30 +00:00
cgd edc749be89 cleanup; mostly KNF. 1995-04-15 10:35:24 +00:00
chopps ed0da4a701 couple small changes plus a new watchdog timer from Ignatios Souvatzis <is@beverly.rhein.de> 1995-04-14 16:57:19 +00:00