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