Subject: misc kern questions
To: None <tech-kern@netbsd.org>
From: Travis H. <solinym@gmail.com>
List: tech-kern
Date: 08/24/2006 23:30:51
On 8/24/06, Daniel Carosone <dan@geek.com.au> wrote:
> We have a syscall versioning mechanism for exactly this purpose.

Actually, I think I've dealt with this... I recall some funky sort of
symbol renaming such that _execve becomes _execve13 or something like
that.

Can anyone describe succinctly how, say, Linux binary emulation works?
 URLs welcome.  Calls to RTFM just as welcome.  I'm hoping for
something very low-level, like explaining that int 0x80 maps does
this-or-that, whereas NetBSD natively uses int 0x81, or whatever.

Do the Linux syscalls actually implement the entire syscall, or do
they rearrange arguments and call the native syscall?  Does NetBSD use
any Linux code?  IIRC Linux keeps most of the args in registers, and
BSD copies them off the stack; how do we support both, just
__asmlinkage__ the Linux syscalls and not the native?

I assume that emulating Linux LKMs is not possible; does VMWare run
natively?  How about Xen?
-- 
"If you're not part of the solution, you're part of the precipitate."
Unix "guru" for rent or hire -><- http://www.lightconsulting.com/~travis/
GPG fingerprint: 9D3F 395A DAC5 5CCC 9066  151D 0A6B 4098 0C55 1484