Hi, Scott & all--
On Mar 27, 2009, at 11:30 AM, Scott Long wrote:
Robert Watson wrote:
On Fri, 27 Mar 2009, Scott Long wrote:
I've been talking about this for years. All I need is help with
the VM magic to create the page on fork. I also want two pages,
one global for gettimeofday (and any other global data we can
think of) and one per-process for static data like getpid/getgid.
FWIW, there are some variations in schemes across OS's -- one
extreme is the Linux approach, which actually exports a mini shared
library in ELF format on the shared page, providing implementations
of various services (such as entering system calls), time stuff,
etc. Less extreme are the shared pages offered on Mac OS X, etc.
Yes, but I'd like to start somewhere, and considering that it's been
impossible in _5_ years to get the 30 minutes of Peter or JeffR or JHB
time to get the basic VM magic done, I'm keeping my expectations as
modest as possible.
I'm not entirely sure how close the Mach/xnu and FreeBSD
implementations of pmap_* stuff are, but the xnu code for commpage
stuff is here:
http://www.opensource.apple.com/darwinsource/Current/xnu-1228.9.59/osfmk/i386/pmap.c
[pmap_commpage32_init(), pmap_commpage64_init()]
http://www.opensource.apple.com/darwinsource/Current/xnu-1228.9.59/osfmk/i386/commpage/
[all :-)]
http://www.opensource.apple.com/darwinsource/Current/xnu-1228.9.59/osfmk/i386/commpage/commpage_gettimeofday.s
[but this one in particular]
http://www.opensource.apple.com/darwinsource/Current/xnu-1228.9.59/osfmk/vm/vm_shared_region.c
[cf "COMM PAGE" comments, vm_commpage_init()]
http://www.opensource.apple.com/darwinsource/Current/xnu-1228.9.59/bsd/kern/kern_fork.c
[fork_create_child(), procdup(), uses of pmap_map_sharedpage()]
[ ADC login might be needed, otherwise I think rwatson has been
importing xnu periodically for TrustedBSD or other work, and might be
able to provide similar pointers... ]
Regards,
--
-Chuck
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[email protected]"