Subject: Re: VAXstation 3100 fun.
To: None <port-vax@NetBSD.ORG>
From: Bertram Barth <bertram@ifib.uni-karlsruhe.de>
List: port-vax
Date: 09/29/1997 20:16:50
Anders Magnusson writes:
> > > Confirmed.  I pulled the 20m expansion card out of vax2 and it booted
> > > (quite behind my back, as I turned around after being distracted and was
> > > greeted with a # prompt.)
> > > 
> > > Again, 3100M48 boots with 4m and 16m but NOT 20m or 24m (and greater I
> > > expect.)
> > 
> > It could also depend on the fact that 4 and 16 are exponents of 2, but 20
> > and 24 are. Could you possible try 32?
> > 
> The problem is something with the LANCE addressing of memory. The LANCE
> chip can only address 16MB of memory, and by some unknown reason it works
> good when there are less than 16MB in the machine.

I'm not absolutely sure, but this behaviour might be due to the way
LANCE is adressing its memory and interacting with the ROM routines.

LANCE adresses within an 16MB area, either lower 16MB or upper 16MB,
switchable by one bit in some register. AFAIK the ROM routines initialize
the LANCE in a way that it's reading and wirting into an area located
at the highest available memory. The NetBSD/vax boot-routines use an
fixed area in the lower 16MB of memory. Without re-initializing the
LANCE in case of > 16MB, thus both sides are using the same offset into
different areas of memory, this is the reason why netbooting doesn't
work.

For 3100/76 LANCE is re-initialized and should work with any size of
memory (un-tested), AFAIK for other 3100's the reinitialization is
not implemented.

Ciao,
	bertram

PS: The above mentioned register is not an register of the LANCE chip,
    but some internal register. Anyway, correct initialization of LANCE
    wrt. to this register should solve the netboot problems...