bouyer
fb3e100370
Use a properly zero'd buffer to pad the packet to ETHER_MIN_LEN
...
XXX should it be ETHER_MIN_LEN-ETHER_CRC_LEN ?
2003-01-15 21:56:06 +00:00
bjh21
b9870fb26c
Quieten lint a little.
2002-11-03 14:59:06 +00:00
bjh21
00eaefef06
When copying a block with an odd size to or from the card, be very careful
...
not to overrun the end of it on the host side, since that might just slip over
a page boundary and cause an embarrassing kernel panic.
2002-06-07 00:01:19 +00:00
lukem
2565646230
don't need <sys/types.h> when including <sys/param.h>
2001-11-15 09:47:59 +00:00
lukem
a4bae8b066
add/cleanup RCSID
2001-11-13 13:14:31 +00:00
bjh21
479d71be35
Add support for feeding entropy to rnd(4).
2001-11-07 20:01:58 +00:00
thorpej
06ff822b44
bcopy -> strcpy
2001-07-07 15:57:50 +00:00
thorpej
c2c26e1362
bcmp -> memcmp
2001-07-07 05:35:39 +00:00
bjh21
770912bb85
Add support for handling full-size 802.1Q packets.
2001-06-26 22:00:44 +00:00
bjh21
abfd1d9e70
ea_mc_reset_8004(): Rather than doing the CRC32 ourselves, call
...
ether_crc32_be() to do it for us.
2001-06-23 17:32:21 +00:00
bjh21
3177727ba7
Fix bogons in previous commit:
...
* Remove harmful debugging code from seeq8005_attach().
* Re-insert variable declarations in ea_mc_reset_8004(), since they aren't
dead yet.
2001-06-23 13:40:35 +00:00
bjh21
9e396bc385
Attampt support for 8-bit mode. I believe this should work, but I need a more
...
flexible bus_space on arm26 before I can test it.
2001-06-22 20:31:55 +00:00
bjh21
18e8d752f6
No need to pull in INET or NS headers -- that's all done by ether_ioctl() now.
2001-06-12 20:53:39 +00:00
bjh21
03e45ae8c7
In ea_writembuf(), reset the DMA pointer for each mbuf we copy, since
...
odd-sized mbufs will confuse things. This makes transmission of odd-sized
packets work.
2001-04-06 00:02:49 +00:00
bjh21
d109dd795a
Add a bit of voodoo code from the old "eb" driver that seems to prevent the
...
80C04 returning garbage when we read from it. This driver can now handle flood
pings without dropping packets.
2001-04-05 22:55:46 +00:00
bjh21
0c5b5be69f
Tweak product ID printing in light of the 80C04A data sheet.
...
Split out Rx and Tx interrupt handlers into their own functions for clarity.
2001-04-02 22:25:17 +00:00
bjh21
f6ec9b4ab2
On an 80C04, try not to start reads at addresses of the form xx,ea, xx,ee, or
...
xx,f0. This appears to heavily alleviate, but not to eliminate entirely,
the problems I've been seeing with garbage being read from the rx buffer.
I suspect the real solution lies elsewhere.
2001-03-29 20:49:44 +00:00
bjh21
2f6fd6b040
Print a warning message when the DMA FIFO fails to fill or empty before we
...
time out.
2001-03-29 17:46:39 +00:00
bjh21
758fa94327
Print the address within the Rx buffer whenever anything goes wrong: it seems
...
to be significant.
2001-03-27 22:17:51 +00:00
bjh21
4beebf7d5d
Clean up debugging printfs a little.
2001-03-27 21:43:13 +00:00
bjh21
8fc709ee67
Add some extra diagnostics:
...
* Use the timer to timoe out transmit operations.
* Spot when the "next packet" pointer falls outside the recieve buffer and
reset the interface.
* Don't reset the interface when we get a bad packet (unless there's
something else wrong as well).
2001-03-27 20:26:45 +00:00
bjh21
7dae264309
Comment and #ifdef cleanup.
2001-03-27 18:03:04 +00:00
bjh21
39c267bb01
Tweak handling of multicast on 80C04. I think we need to set the match mode
...
to "multicast" for it to work, but I could be wrong.
Also make ALLMULTI work on 80C04, but this is untested.
2001-03-25 01:06:59 +00:00
bjh21
304809f5f1
Re-arrange board memory to suit the current (crude) transmit code.
...
Add ea_writembuf() from mark's code, and re-work eatxpacket() to use it.
2001-03-24 23:31:06 +00:00
bjh21
b94b953e92
Enormous pile of changes from mark's (uncommitted) work on this driver.
...
About the only bit of his code not here is the transmit routines, which I'll
merge in separately.
Also a few bug-fixes, so (for instance) multicast on an 8005 doesn't
immediately fall back to IFF_ALLMULTI.
2001-03-24 20:38:41 +00:00
bjh21
b83b8ac01f
Change all the register definitions to match the names using in mark's
...
improved version of the driver.
2001-03-24 13:40:41 +00:00
bjh21
18db220fba
Handle IFF_ALLMULTI correctly. We can now cope with multicast, but for
...
some reason DAD fails when starting IPv6.
2001-03-24 00:16:41 +00:00
bjh21
a48c9194bb
Print the newline after the memory test. This makes it clear that the delay's
...
related to this driver rather than the next device to be attached.
2000-12-23 16:37:20 +00:00
thorpej
6b16911a43
ALTQ'ify.
2000-12-14 06:27:23 +00:00
thorpej
b84f740be0
Move bpfattach()/bpfdetach() calls into ether_ifattach()/ether_ifdetach().
2000-11-15 01:02:11 +00:00
bjh21
930c4cf062
First attempt at multicast stuff. I suspect it doesn't work.
...
Use ether_ioctl -- saves 300 bytes of text.
2000-11-03 00:25:36 +00:00
thorpej
7ca3fb9ef0
Move the check for "promisc + unicast + not for us" into ether_input(),
...
and change Ethernet drivers to always pass all received frames to
ether_input() (with a few exceptions, which are documented in the
code).
2000-10-01 23:32:39 +00:00
bjh21
a48f581877
Substantial overhaul, factoring out of common code, removal of redundancy
...
and general cleanup. Still not a beautiful driver, but one I'd be willing to
introduce to my parents now.
2000-09-23 15:13:02 +00:00
bjh21
f3ef35c447
Add rudimentary 80C04 support (basically saying "Oh look, an 80C04!").
...
Move printing the initial ":" into the board driver, like i82586.c does.
Don't bother printing the amount of RAM, as it's always 64 KB.
2000-09-21 22:20:38 +00:00
bjh21
40aba7cd4d
Split the arm26 Ether3 (ea) driver into an MI driver for the SEEQ 8005 chip,
...
and a front-end driver for the Ether3. Only semantic change is to remove
ea_claimirq() and ea_releaseirq() on the grounds that the seem too spurious
to warrant a callback to the front-end.
2000-09-18 20:51:14 +00:00