RE: ne2k and 0x378 lp ports

Riley Williams (rhw@MemAlpha.CX)
Tue, 20 Jul 1999 21:04:47 +0100 (GMT)


Hi Randy.

> NE2000 uses base_io_addr thru base + 0x1f, but all registers in
> that range are not used. Base thru base + 0xf are ethernet
> controller registers. Base + 0x10 (16 bits) is a packet data
> transfer register. Base + 0x1f is a reset register.

That at least makes sense of the 8390 data sheet that I've just been
reading...

> Some NE2000 adapters may alias the data transfer register and
> the reset register. Apparently yours does not do this...

When you say 'alias', do you mean that it ignores address bits 1 and 2
when selecting these last two registers? If so, there's a fairly
simple tweak to the driver that could be used to detect that
happenning, if I'm understanding it correctly, and that would cure the
IO map on my system as well. The resulting tweaked driver would then
declare three regions used for cards that don't ignore those two
address bits, thus letting it live in harmony with the ide1 driver
when the base is 0x360, and would just declare the current single
region for cards that do ignore them.

The relevant part of the resulting /proc/ioports would look like this:

Q> 02f8-02ff : serial(auto)
Q> 0360-036f : eth0
Q> 0370-0370 : eth0
Q> 0376-0376 : ide1
Q> 037f-037f : eth0
Q> 03f6-03f6 : ide0
Q> 03f8-03ff : serial(auto)

Alternatively, the first two areas could be merged into a single area,
in which case it would look like this:

Q> 02f8-02ff : serial(auto)
Q> 0360-0370 : eth0
Q> 0376-0376 : ide1
Q> 037f-037f : eth0
Q> 03f6-03f6 : ide0
Q> 03f8-03ff : serial(auto)

Comments?

Best wishes from Riley.

+----------------------------------------------------------------------+
| There is something frustrating about the quality and speed of Linux |
| development, ie., the quality is too high and the speed is too high, |
| in other words, I can implement this XXXX feature, but I bet someone |
| else has already done so and is just about to release their patch. |
+----------------------------------------------------------------------+
* ftp://ftp.MemAlpha.cx/pub/rhw/Linux
* http://www.MemAlpha.cx/kernel.versions.html

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/