Messages in this thread | | | Date | Tue, 12 Dec 2006 08:23:58 -0800 (PST) | From | Linus Torvalds <> | Subject | Re: Mach-O binary format support and Darwin syscall personality [Was: uts banner changes] |
| |
On Tue, 12 Dec 2006, Kyle Moffett wrote: > > So now I have to figure out how to set up a new syscall personality with a > bunch of wrapper syscalls which reorder arguments and translate constant > values before calling into the rest of the Linux code. I'm fairly sure it's > possible because you can run some Solaris binaries under Linux if you turn on > the appropriate BINFMT_* config option(s), but I'm totally unsure as to _how_.
What system call interface do Mach-O binaries use? Is it the old stupid "lcall 7,0" thing, or does it use "sysenter" or something like that?
If it's sysenter, it's going to be "interesting". That code currently doesn't support any kind of emulation, and the whole "sysenter" interface is pretty grotty at a CPU level (it doesn't even save eip etc). So you'd need to delve into x86 asm and arch/i386/kernel/entry.S (or the x86-64 equivalent).
Linus - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |