Subject: lance in 3400
To: None <port-vax@NetBSD.ORG>
From: Robin Birch <robin@falstaf.demon.co.uk>
List: port-vax
Date: 02/04/1997 21:14:27
Hi Everybody,
Right, I have got to the stage where we try initializing the lance and
the kernel rolls over and dies.  No vmspace.  I am assuming that this is
saying that the area I allocated for the 64kByte buffer RAM for the
lance doesn't exist.

Well, I have a problem here.  All of the implementations of Le
interfaces on VS or DS systems appear to refer to a static lump of RAM
called the NIBUFFER.  I've looked in a DS3100 manual and there it is,
large as life.  Well, I trolled through the ka640 manual and there is no
mention of this apart from an oblique reference in the monitor
documentaion.  The device driver appears to want too be passed the
address of a lump of RAM set up in user space.

So, can someone confirm this?.  If this is so then what I intend to do
is:
        allocate a 64kByte lump of RAM at the top of available memory.
        find it's physical address at the time of allocation.
        map it into the kernel's virtual memory space.
        send the phys address to the device driver.

If this is wrong then can someone either tell me where the NIBUFF is on
the ka640 or suggest a different method.

BTW.  In the if_le.c code in le_attach there is a line:

        sc->sc_r1 = (void *)uvax_phys2virt(ca->ca_ioaddr);

What does this line do?.  Perhaps Bertram can help me here?.

Help please cos if I can solve this bit then I have nearly done the le
stuff.

Robin
Robin Birch     robin@falstaf.demon.co.uk

M1ASU           Old computers and radios always welcome