Commit Graph

1836 Commits

Author SHA1 Message Date
Bill Paul
f5c444e19e Add sanity check to foo_start() routines: in the unlikely (though
apparently possible) event that the transmit start routine is
called with and empty if_snd queue, bail out instead of dereferencing
unilitialized transmit list pointers and panicking.
1998-12-05 02:21:44 +00:00
Matt Jacob
cc56928232 oops on last 1998-12-05 01:46:40 +00:00
Matt Jacob
e205b454ac Remove the Target mode functions until they're in better shape. Implement some
suggested compilation cleanups from Eklund. Wire down a hard loop id if we are
not on a platform that has the ability to get to a PCI BIOS (it still will
float to the ID it gets after a LIP but at least we can try). Clarify that the
expanded lun is based upon SCCLUN defines (in f/w).
1998-12-05 01:33:57 +00:00
Matt Jacob
d3a9eb2ebe make a real "done" func; clarify some LUN widths 1998-12-05 01:31:21 +00:00
Matt Jacob
e9c2652818 compilation fixes from Eklund 1998-12-05 01:30:52 +00:00
Matt Jacob
828dbae745 compilation fixes from Eklund && move XS_CMD_DONE to be a real function 1998-12-05 01:30:27 +00:00
Matt Jacob
ff717ff328 do a bit of cleanup on some target mode structures and clarify a couple other minro things 1998-12-05 01:29:43 +00:00
Matt Jacob
9f8afea40b roll core version minor and wire a non-i386 default Loop ID to 113 1998-12-05 01:28:38 +00:00
Matt Jacob
f1535c024e offset was wrong for HARDLOOPID in NVRAM 1998-12-05 01:07:52 +00:00
Matt Jacob
fef255f9d9 Roll to 1.15 f/w level for Qlogic 2100. Leave all flavors in, but control which
one gets compiled in by default. The default is private loop, non-expanded lun.
1998-12-05 00:47:25 +00:00
Matt Jacob
6fa014b216 roll to 1.31 level 1998-12-05 00:38:31 +00:00
Matt Jacob
2fa86a2b83 trivial header fix 1998-12-05 00:07:04 +00:00
Archie Cobbs
2127f26023 Examine all occurrences of sprintf(), strcat(), and str[n]cpy()
for possible buffer overflow problems. Replaced most sprintf()'s
with snprintf(); for others cases, added terminating NUL bytes where
appropriate, replaced constants like "16" with sizeof(), etc.

These changes include several bug fixes, but most changes are for
maintainability's sake. Any instance where it wasn't "immediately
obvious" that a buffer overflow could not occur was made safer.

Reviewed by:	Bruce Evans <bde@zeta.org.au>
Reviewed by:	Matthew Dillon <dillon@apollo.backplane.com>
Reviewed by:	Mike Spengler <mks@networkcs.com>
1998-12-04 22:54:57 +00:00
Archie Cobbs
70b4961b81 Eliminate a zillion "left-hand operand of comma expression has no effect"
compiler warnings when NLPT_DEBUG is not defined.
1998-12-04 22:00:33 +00:00
Bill Paul
726ff6a158 An early Christmas present: add driver support for a whole bunch of
PCI fast ethernet adapters, plus man pages.

if_pn.c: Netgear FA310TX model D1, LinkSys LNE100TX, Matrox FastNIC 10/100,
         various other PNIC devices

if_mx.c: NDC Communications SOHOware SFA100 (Macronix 98713A), various
         other boards based on the Macronix 98713, 98713A, 98715, 98715A
         and 98725 chips

if_vr.c: D-Link DFE530-TX, other boards based on the VIA Rhine and
         Rhine II chips (note: the D-Link and certain other cards
         that actually use a Rhine II chip still return the PCI
         device ID of the Rhine I. I don't know why, and it doesn't
         really matter since the driver treats both chips the same
         anyway.)

if_wb.c: Trendware TE100-PCIE and various other cards based on the
         Winbond W89C840F chip (the Trendware card is identical to
         the sample boards Winbond sent me, so who knows how many
         clones there are running around)

All drivers include support for ifmedia, BPF and hardware multicast
filtering.

Also updated GENERIC, LINT, RELNOTES.TXT, userconfig and
sysinstall device list.

I also have a driver for the ASIX AX88140A in the works.
1998-12-04 18:01:24 +00:00
Bruce Evans
d21c930ccb Fixed sloppy clearing of TS_BUSY. Don't clear it until the transmitter
is completely empty.  There is an interrupt for output completion.  It
is painful to use, but polling method used in the corresponding fix in
sio.c (rev.1.152) can't be used because there is no status bit for
transmitter-empty.  Now ttywait() works right.

Reminded by:	NIST-PCTS
1998-11-28 15:48:09 +00:00
Bruce Evans
4635f7acc0 Merge from sio.c rev.1.163:
Don't call timeout() for DTR wakeup if the relevant timeout is already
active.  This fixes "timeout table full" panics when sufficiently many
cyopen()s are interrupted while they are sleeping waiting for the
timeout to expire.
1998-11-28 13:18:16 +00:00
Mike Smith
49b41a660f Alias Adaptec as a vendor of Cogent NICs. 1998-11-28 00:25:32 +00:00
Nick Hibma
0cec007c5f Initial commit of ported NetBSD USB stack 1998-11-26 23:13:13 +00:00
Paul Richards
1a3376721b Add Id string to if_lnc.h and fix up copyrights to be consistent and up to date. 1998-11-26 00:57:32 +00:00
Paul Richards
6789e41fe6 Despite what people may think the Am79C970 returns the chip id of an Am79C965.
Fix the PCI probe code to accept this id otherwise cards based on the Am79C970
fail to probe.
1998-11-26 00:53:45 +00:00
Warner Losh
46d4978e39 o Patch, slightly altered, from Graham Menhennitt for older aha 1542B
cards.  My machine didn't tickle this problem, so I can't tell if
  it fixed anything or not.  However, it didn't break my already working
  1542-{B,C,CF,CP} probes.
o Minor comment correction
o Minor correction in printf
1998-11-25 19:12:56 +00:00
Bruce Evans
976d09b9f2 Untangled the Cyclades offsets a little. CY16_RESET and CY_CLEAR_INTR
were half of their physical offsets for ISA and 1/4 of their physical
offsets for PCI, while all other Cyclades offsets were physical/1 for
ISA and physical/2 for PCI.  Logically wrong macros were used to scale
CY16_RESET and CY_CLEAR_INTR to the correct physical offsets.

Fixed some style bugs (mostly long lines).
1998-11-23 13:58:55 +00:00
Justin T. Gibbs
08c6fbfa40 Change the delivery mechanism for incoming target commands. We now
use a 256 entry ring buffer of descriptersfor this purpose.  This allows
the use of a simple 8bit counter in the sequencer code for tracking start
location.

Entries in the ring buffer now contain a "cmd_valid" byte at their tail.
As an entry is serviced, this byte is cleared by the kernel and set by
the sequencer during its dma of a new entry.  Since this byte is the last
portion of the command touched during a dma, the kernel can use this
byte to ensure the command it processes is completely valid.

The new command format requires a fixed sized DMA from the controller
to deliver which allowed for additional simplification of the sequencer
code.  The hack that required 1 SCB slot to be stolen for incoming
command delivery notification is also gone.
1998-11-23 01:33:47 +00:00
Nicolas Souchu
f8cf96db8f Remove broken and useless intr interface.
Submitted by: Doug Rabson <dfr@nlsystems.com>
	      Amancio Hasty <hasty@rah.star-gate.com>

Avoid compile warnings.
1998-11-22 22:01:42 +00:00
Bruce Evans
a84c84f5b0 Reduce i/o overheads by not preserving the channel access register in
interrupt handlers.  Instead, load and use it atomically as necessary.
This reduces mode switching overhead for "polled" mode interrupt handling
from 5 i/o's to 3 (per service type, per port) so that polled mode is only
slightly more inefficient than "interrupt" mode.
1998-11-22 17:40:32 +00:00
KATO Takenori
8ea9416c8c Fix ROOL UP/DOWN keys of PC-98. 1998-11-18 08:33:58 +00:00
Eivind Eklund
34e7656caa Depend on __FreeBSD_version instead of __FreeBSD__ 1998-11-15 19:30:48 +00:00
Doug Rabson
08b6a4cbee * Add hooks to allow the X server to access I/O ports and memory.
* Update drivers to the latest version of the bus interface.

The ISA drivers' use of the new resource api is minimal.  Garrett has
some much cleaner drivers which should be more easily shared between
i386 and alpha.  This has only been tested on cia based machines.  It
should work on lca and apecs but I might have broken something.
1998-11-15 18:25:17 +00:00
Luigi Rizzo
a6a30776d3 Add a missing newline
Submitted by:	Roger Hardiman
1998-11-14 13:07:59 +00:00
Justin T. Gibbs
921cb54a13 Move a diagnostic behind "if (bootverbose)". 1998-11-13 13:23:36 +00:00
Luigi Rizzo
ac1e654ef7 Add entry for AOpen AW37 1998-11-10 10:44:56 +00:00
Justin T. Gibbs
712463b1fa Noop Commit - Change was in last revision.
If the next available mailbox is not in the free state, print a warning
and handle the condition as a temporary resource shortage.  The condition
should never happen, but we shouldn't panic since recovery is possible.
1998-11-10 06:47:11 +00:00
Justin T. Gibbs
4ff057c7b0 Convert to change in ISA compatiblity port handling in the base bt driver. 1998-11-10 06:45:14 +00:00
Justin T. Gibbs
3c1cabf7a2 Fix probes when a port address is specified. 1998-11-10 06:44:54 +00:00
Justin T. Gibbs
d0993d7584 Fix probes when a port address is specified.
Convert from BT'isms to AHA'isms

Don't fail the probe if the illegal command bit is set in the status
register.  If the BusLogic MultiMaster probe preceeded us, it may well
have determined that the card we are attaching to was not a true MultiMaster
by sending us a command that fails on the 154X.

Reset the adapter before doing the inquiry.  This provides extra sanity
and will also clear the illegal command status bit that my be left over
from the MultiMaster probe.
1998-11-10 06:44:42 +00:00
Nicolas Souchu
a6530ace00 Release the ppbus when probe fails. 1998-11-09 22:22:01 +00:00
Peter Wemm
dfab6b6416 ifioctl takes a u_long rather than an int on 3.0 1998-11-09 09:34:00 +00:00
Peter Wemm
96fca41fcf s/%#p/%p/ to fix a warning. This looks like a leftover of once being
%#x, which causes a leading 0x to be prepended. %p has this by default
and the '#' is ignored by the kernel prinf code for %p.
1998-11-09 08:08:06 +00:00
Doug Rabson
66d22cfe03 Port the ps/2 mouse driver to the alpha. 1998-11-08 18:43:03 +00:00
Nicolas Souchu
7d70baf7b2 Check if devclass exists for probed devices before
declaring the device 'alive'.
1998-11-08 18:42:34 +00:00
Nicolas Souchu
7a8ecb9e64 Add semicolon to INTERFACE declarations 1998-11-08 18:35:53 +00:00
Doug Rabson
7095ee912b * Fix a couple of places in the device pager where an address was
truncated to 32 bits.
* Change the calling convention of the device mmap entry point to
  pass a vm_offset_t instead of an int for the offset allowing
  devices with a larger memory map than (1<<32) to be supported
  on the alpha (/dev/mem is one such).

These changes are required to allow the X server to mmap the various
I/O regions used for device port and memory access on the alpha.
1998-11-08 12:39:07 +00:00
Nicolas Souchu
623bdbdb0a Change METHODE (french) to METHOD.
Submitted by: Nick Hibma <nick.hibma@jrc.it>
1998-11-07 14:56:04 +00:00
Nicolas Souchu
376ba00c94 Define DEBUG only if not already defined, avoiding confusions with
opt_global.h
1998-11-07 14:35:41 +00:00
Nicolas Souchu
99a6f52d8f Add iic driver iff the corresponding devclass exists. 1998-11-07 14:33:46 +00:00
Nicolas Souchu
dec0ec9e81 Return to previous check_for_i2c_devices() behaviour.
Cast the cmd parameter to unsigned char in every smbus call.

Submitted by: Roger Hardiman <roger@cs.strath.ac.uk>
1998-11-07 14:30:48 +00:00
Peter Wemm
cf3e757633 If this is going to have checks for kernel versions, it might as well
do it so that it works.  This code should run on 2.2.x now.
1998-11-06 02:13:14 +00:00
Peter Wemm
5ebfc07dce Remove machine/cputypes.h - it's an i386 only thing 1998-11-06 01:34:06 +00:00
Nicolas Souchu
d3cf287966 iicbus probe and attach deferred until root_bus_configure() call. 1998-11-04 22:09:17 +00:00