On 14/05/14 15:49, Justin Cormack wrote:
> Just to understand the state of compatibility and rump kernels.
>
> rump_syscalls.h has never had any compatibility syscalls in it, so the
> only way you could actually use them was through directly calling
> rump___sysimpl_XXX. The only user of that was probably ljsyscall,
> mainly by mistake calling the wrong versions. Well technically might
> still use it on NetBSD if you have are running current rump on NetBSD
> 6, as this case is still slightly odd, but there are so few changed
> syscalls that it is not really an issue, and I could change this.
> There is no way currently to call compat calls from rumprun. There are
> no rump based tests of compat calls, only of current ones.

In my view, a compat syscall is one where the API remains the same while 
the ABI changes.  Rump kernels have definitely supported this, see 
rump_syscalls_compat.h.  I did most of the development of rump kernels 
on NetBSD 5 (without 64bit time_t) for NetBSD-current (with 64bit 
time_t), and I can say that the compat "just worked".

NetBSD also provides a few compat syscalls where the API changes.  I'm 
not sure what's the point, you might just as well give the new syscall a 
completely different name.  These were not supported.

Note, rump kernel syscall compat is a bit different from regular syscall 
compat.  In the regular case, you've built a binary ages ago and want it 
to work on newer systems.  With rump kernels, at least how I designed 
it, it's that you're using an older NetBSD system and want to build 
against a -current rump kernel now.

There's no easy way to make compat calls from rumprun because there's no 
NetBSD-5 rumprun ;)
(and I'm not convinced that creating one is a priority)

> If you wanted to test compat calls, it would probably be much easier
> to do it by loading a module like Linux compat does which replaced the
> syscalls; then you could test eg with ljsyscall.

Loading or not loading kernelside modules doesn't have any impact on 
rump_syscalls.h.  I'm not convinced that frobbing the syscall vector 
will solve problems in any direction (but don't want to discourage 
anyone from trying ;)

------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.
Get unparalleled scalability from the best Selenium testing platform available
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
_______________________________________________
rumpkernel-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/rumpkernel-users
  • compat Justin Cormack
    • Re: compat Antti Kantee

Reply via email to