Re: lance patch, etc.

David Mosberger-Tang (davidm@AZStarNet.com)
Tue, 16 Jan 1996 23:36:02 -0700


>>>>> On Tue, 16 Jan 1996 22:28:59 +0100 (MET), Thomas Bogendoerfer <tsbogend@bigbug.franken.de> said:

Thomas> Hi everybody, I managed to bring up the lance driver with a
Thomas> PCnetPCI card on a Noname. I append the patch file to this
Thomas> mail. I'm not sure, wether the patched lance driver is still
Thomas> running on an Intel CPU and at the moment I'm not able to
Thomas> test this. So anyone who is willing to test the patch on a
Thomas> Intel platform is welcome. Please mail me any problems.

Thomas> While doing this port, I noticed, that there is no support
Thomas> for ISA busmaster cards (hopefully nobody will use them) for
Thomas> the Noname, probably it's the same for the Cabriolet. David,
Thomas> do you have any plans to change this ?

Hmmh, I don't understand how your patch can work. As far as I know,
the Lance chip cannot generate any DMA address bigger than 16MB.
Thus, I don't see how it can ever DMA any data into the DMA window
(which starts at 1GB on both the LCA and APECS).

It seems to me that the proper solution would be to setup the second
DMA window for the range 0..16MB and to make it identity mapped. No
PCI device (other than the host bridge) will respond in that memory
address range (since bios32.c assigns memory addresses starting at
16MB only). This, of course, assumes there is no brain-dead PCI
device that request memory below 1MB (what kind of devices do this
anyways??). This would simplify things quite a bit. Essentially, all
you'd need to do is (a) make sure all descriptors are in low memory
and (b) add/subtrace IDENT_ADDR in the appropriate places. But you'd
probably end up copying a lot that way. If the PCI cards have a 32
bit mode, it'd be better to use that, IMHO.

--david