Subject: Building an alternate backing store.
To: None <tech-kern@netbsd.org>
From: gabriel rosenkoetter <gr@eclipsed.net>
List: tech-kern
Date: 07/13/2000 16:14:31
The details behind why I want to do this are a bit complex and
burdensome to the technical question I have; bug me privately if you
care.

Suffice to say that I'd like to create a backing store for vm that is
*not* disk. (Specifically, I'd like it to be memory pages offered by 
another machine in a heterogenous cluster.)

At first glance, the way to do this is to modify pmap_entry() (in
syssrc/sys/arch/<your_arch_here>/pmap.c), but that's woefully
architecture-specific.

My next bet was to somehow fake pmap_entry() out with regards to its
physical address argument (of type paddr_t, also not standard across
architectures for obvious and necessary reasons). But, though it gets
to be a lot of different kinds of int, paddr_t never gets to be much
more than an int, so it's not like I can choke a data structure down
pmap_entry()'s gullet.

I'm not asking for anyone to fix my problem, but I'd like to know if
there's some architecture-independant way to do what pmap_entry()
does that allows me to pass (as source for the memory to be mapped
in) something *other* than a paddr_t?

If not, how about hooking in with an LKM to change that?

If I'm just off my rocker, say so.

Thanks...

       ~ g r @ eclipsed.net