- Fall back on i/o space if mem space isn't available.
- Card reports mem space as prefetchable, but mapping the card into dense
space fails in nasty ways on the Alpha. Force mapping into sparse
space by clearing the BUS_SPACE_MAP_CACHEABLE bit (XXX!).
- Work around a bug in the 82557 that causes the receiver to lock up
in certain conditions by kicking the multicast address filter if we
haven't heard anything come down the wire for some period of time.
- Fix a bug that could cause TxCB descriptor chains to cross page boundaries
on the Alpha.
- Remove some unneeded register masking.
- Fix a bug where too much data was copied from the config template, causing
memory corruption.
- Fix handing of if_timer (it was be cleared too early in some cases).
- Attempt to reduce the chances of receiver overrun by doubling the
number of receive DMA segments, and processing receive interrupts
before transmit interrupts.
- Remove a gratuitous assignment.
- Fix a bug where incoming packets were counted twice.
- Add NetBSD autoconfiguration support.
- Rearrange code slightly to minimize the number of #ifdefs.
- Don't use a structure to access CSRs. Use macros that DTRT for
the NetBSD and FreeBSD cases.
- Deal with alignment contraint on Alpha - add 2-byte padding at the
beginning of the RFA, so that the data will be 4-byte aligned, after
the 14-byte Ethernet header.
Thanks to Matthias Drochner for the testing, and David Greenman for
the feedback on the changes.