Subject: Re: VS3100 memory quirk
To: Brian D Chase <bdc@world.std.com>
From: David Brownlee <abs@anim.dreamworks.com>
List: port-vax
Date: 01/13/1998 23:36:38
On Wed, 14 Jan 1998, Brian D Chase wrote:
> On Tue, 13 Jan 1998, David Brownlee wrote:
>
> > The network controller on the VS3100 can only access 16MB of
> > memory (the first 16MB in the machine). I believe NetBSD maps the
> > buffers for the card at the top of memory, which obviously causes
> > problems for machines with more than 16MB.
>
> Argh. This would seem a bit more tricky to deal with. (I need to remember
> to grep the archives prior to opening my keyboard). Is it that the kernel
> by design locates buffers in high memory, or does one have flexibility in
> where you locate them? I guess my question is, does NetBSD have the
> facilities to allocate buffers in physical memory where you please? If
> not, how do you get around this problem?
>
The kernel could allocate the buffers anywhere it chooses... :)
It may have been cleaner or easier to allocate the buffers at the
top of memory.
Hmm.. from a quick browse of /sys/arch/vax/ka43.c
ka43_steal_pages() steals 64k from the top of available memory for
the LANCE's (VS3100 ethernet chip) buffers. It has a note that if
the address is over 16MB to set the 'LANCE DMA' bit which is used
as an extra address bit, which _should_ mean it would work with up
to 32MB, but still fail with more....
I would be inclined to try modifying to code to steal the pages
from avail_start rather than avail_end (there _has_ to be a reason
why its not just that easy :), but I'm still not able to get my
VS3100 running - I now have a serial cable from Brian (Thanks
Brian!), but I've found out my genuine VT240 is a genuine non
working VT240.. grr.. I'm sure I have a breakout cable for the
serial port on my IPX, so I'm not beaten yet :)
David/absolute
_.oXo._ Too complex to explain, too simplistic to admit. _.oXo._