Shared memory, rpc
Shared memory, rpc
Hi!
I'm working on porting Mac-on-Linux (MOL) from linux/ppc to Darwin. The
linux source consists of two parts; a kernel module and a userspace
program. I intend to use the same setup on Mac OS X (the kernel module
creates and maintains a virtualized environment with full MMU support
by hooking the exception vectors).
I have a few questions:
- Is it possible for the kernel extension and the user task to share a
few pages of memory? Basically the virtualized CPU state needs to be
directly accessible from both contexts (by performance reasons).
The available documentation seems to imply that the above is impossible (?).
As a last resort, couldn't one just lock down a user page, take the
physical address of it and map it into the kernel address space?
- Is there some sample code available showing how to properly export
RPC routines from a kernel extension to userland? I have played
around a bit with mig and things are starting to make sense,
but some sample code would be useful.
/Samuel