On 21/10/14 08:36, Martin Lucina wrote: > One thing that is missing right now is a writeup on what > librumpkern_sys_linux and friends do exactly. AFAIU they: > > 1) Translate struct stat and the like between Linux and NetBSD ABIs. > > 2) Translate (and handle TLS support for) rump_sys_* use of errno. > > Am I right? I should probably just go and read the source :-) but want > to finish reading Antti's dissertation first. That presumably predates > librumpkern_sys_linux -- there's a high level discussion of this in section > 4.3.1 but nothing about the implementation as it stands today.
What the various rumpkern_sys_foo do is replace the syscall vector with wrappers which convert and unconvert types between userspace (e.g. Linux) and the rump kernel. So, yes, you are right, though a bit unnecessarily enumerative, and strictly speaking TLS use for errno isn't part of the compat; however, errno _value_ translation is. Your guess is also right, the dissertation predates repurposing the already existing NetBSD syscall compat code for rumpkern_sys_foo. I really really spent a long time suffering with the type incompat between a non-NetBSD "userland" and a NetBSD rump kernel, and when I finally thought of using the syscall compat code, it was one of those "huh? why didn't I think of that 5 years ago" moments. Of course, a much more complete solution for the type incompat problem was provided last year by Justin, who thought of what's now known as rumprun-posix, i.e. running the entire software stack in userspace (and also made it work, despite my "that might be difficult"-negativity. though, in all fairness, I think it *was* a difficult job ;) I seem to recall that there's a mail in the list archives discussing the relative merits of syscall compat vs. rumprun, but I couldn't find a link with a few minutes of searching. Yes, the dissertation is out-of-date. That why book.rumpkernel.org exists and I'm working on an updated version which describes all the new goodness -- or at least pretending to work on it. Anyway, getting back to your proposal, I think I would prefer to guide new users just towards rumprun, where things just magically work on any platform. Less explaining => better. If learning about the type incompat becomes necessary, it can be an expert topic. Makes sense? - antti ------------------------------------------------------------------------------ Comprehensive Server Monitoring with Site24x7. Monitor 10 servers for $9/Month. Get alerted through email, SMS, voice calls or mobile push notifications. Take corrective actions from your mobile device. http://p.sf.net/sfu/Zoho _______________________________________________ rumpkernel-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/rumpkernel-users
