c578e8d211
Add an MDL_COMPAT32 flag to the lwp's md_flags, set it for 32bit lwps and use it to force 'return to user' with iret (as is done when MDL_IRET is set). Split the iret/sysret code paths much later. Remove all the replicated code for 32bit system calls - which was only needed so that iret was always used. frameasm.h for XEN contains '#define swapgs', while XEN probable never needs swapgs, this is likely to be confusing. Add a SWAPGS which is a nop on XEN and swapgs otherwise. (I've not yet checked all the swapgs in files that include frameasm.h) Simple x86 programs still work. Hijack 6.99.9 kernel bump (needed for compat32 modules) |
||
---|---|---|
.. | ||
files.linux32_amd64 | ||
linux32_errno.h | ||
linux32_exec.h | ||
linux32_ioctl.h | ||
linux32_machdep.c | ||
linux32_machdep.h | ||
linux32_missing.c | ||
linux32_missing.h | ||
linux32_siginfo.h | ||
linux32_signal.h | ||
linux32_syscall.h | ||
linux32_syscallargs.h | ||
linux32_syscalls.c | ||
linux32_sysent.c | ||
linux32_termios.h | ||
linux32_types.h | ||
Makefile | ||
syscalls.conf | ||
syscalls.master |