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._