Subject: Re: VS3100 memory quirk
To: Paul Apprich <psapp@terra.cnct.com>
From: Brian D Chase <bdc@world.std.com>
List: port-vax
Date: 01/14/1998 00:41:50
On Tue, 13 Jan 1998, Paul Apprich wrote:

> 	Why is it that there is a limit on how much memory installed on a
> vs3100? Having to remove memory for something to work is alien to me!

Aww, what'd ya need all that memory for anyway!  16Megs is plenty,
remember NetBSD/VAX is NOT a Microsoft product.  We're just forcing you to
use a reasonable amount of memory.

Truthfully, you could call it a NetBSD/VAX bug.  Let me see if I can
remember roughly what the problem is... (Bertram provided a better
explanation of this a couple of months ago when the problem was first
solved.)  The rudimentary explanation is as follows.  When your VAXstation
3100 has no more than 16Megs, the lance ethernet device maps to memory at
address "X".  When you've got more than 16Megs of memory installed, the
lance ethernet device gets mapped into a different part of the address
space -- say address "Y".  Well, the current implementation of the lance
ethernet driver doesn't recognize the case when the ethernet device lands
in Y-space.  Hence it breaks. I'm fairly sure those month old discussions
covered why the device wandered as well, but I don't remember what the
reasons were.  Time to go port-vax archive spelunking.

Unless I've misrepresented the nature of the problem, intuition would
suggest that it'd be a fairly simple change to the ethernet driver to deal
with machines that have more than 16Megs.  I can think of two approaches
to follow.  You would either have to recognize the machine as having more
than 16Megs beforehand, or during the process of initializing the driver
you'd detect that the ethernet device wasn't in the first location and
would switch over to using it in the second location.

-brian.
---
Brian "JARAI" Chase | http://world.std.com/~bdc/ | VAXZilla LIVES!!!