Ok, I got my code working to optionally replace the getcontext/setcontext code with assembly (amd64 so far) for where the context functions are not available. It needs some cleanup for configuration though.
I think the best thing to do is to add it into the ./configure step for rumpuser, so if you don't have setcontext it uses this. However one of the points of this code is also to use the same code for xen/baremetal, so are we going to upstream all the xen and baremetal specific code into NetBSD, using configure to work out what kind of build env we are in? Possibly with some --enable-xen options? Not necessarily all the coed, but enough to build the hypercall layer, which still expects some platform functions of course (mmap, malloc etc). It will mean that the librumpuser ends up with a lot of optional/swappable parts. Thats already somewhat the case, with pthreads, fibers and no threading options already, plus various other bits are optional (dl support might be configured out). Plus a bunch of implementations/modifications of stuff. Moving the file stuff out as planned would probably help the merge as thats all very Posix and not used in the basremetal/xen versions anywa. Justin ------------------------------------------------------------------------------ Dive into the World of Parallel Programming! The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net _______________________________________________ rumpkernel-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/rumpkernel-users
