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

Reply via email to