Subject: Re: r/w operation on vmebus
To: Maxime Kurkdjian <maxunder@choisy.myip.org>
From: Steve Woodford <scw@netbsd.org>
List: port-mvme68k
Date: 08/13/2000 22:02:47
On Sun, 13 Aug 2000, Maxime Kurkdjian wrote:

> when i'm trying to read into the 332xt memory space from netbsd kernel, it
> crash.
> i can read/write from the firmeware at 0xff780000

You can't access physical addresses from within the kernel; it runs in its
own virtual address space.

> i notice a file called bus_space.h with a lot of macro
> do i have to use this macro to access memory from an other board on the bus.

You need to use the bus_space interface and the machine independent
VMEbus interface. See the `bus_space(9)' manual page, and the vme_bus
header files `sys/dev/vme/vmevar.h' and `sys/dev/vme/vmereg.h'.
(Unfortunately, vme_bus_space is not yet documented in a manual page).

> there is no example of accessing a vmes or vmel board for netbsd because no
> other drivers has been made for it.

Hmm, you're obviously running NetBSD-1.4.x, which has *no* VMEbus support
for the mvme167 board. I suggest you base your driver on the up-coming 1.5
release. There's a snapshot available at:

	ftp://ftp.netbsd.org/pub/NetBSD/arch/mvme68k/snapshot

I've also just uploaded an very simple example driver which shows,
briefly, how to use the MI VMEbus framework. You'll find it in:

	ftp://ftp.netbsd.org/pub/NetBSD/arch/mvme68k/foovme.c

Follow the instructions at the top of the file. Note that the driver
doesn't actually *do* anything useful, but it should give you enough
information to get your own driver going.

Note that you don't need to tell NetBSD about the VMEbus configuration you
made using the `env' command. The kernel will pick up those details
automatically.

Cheers, Steve