amd64, COMPAT_IA32 & syscall diverts

John Baldwin jhb at freebsd.org
Wed Sep 17 17:43:28 UTC 2008


On Wednesday 17 September 2008 09:51:22 am Andrew N. Below wrote:
> Hi all.
> 
> We have loadable kernel module with
> several syscall intercepting functions
> (e.g., sysent[SYS___sysctl].sy_call).
> Earlier, this module was built and used
> on i386 platform, now we have to run it
> on amd64. For some reasons we have to
> enable COMPAT_IA32 option in kernel.
> 
> Our syscall wrapper sucessfully receiving
> syscalls from amd64 binaries, but we have
> nothing from old i386 binaries.
> 
> Seems like these calls are made bypassing
> our kernel module.
> 
> Is there any way to handle them?
> 
> OS is freebsd 6.3-stable.

You have to patch the sysent[] array in the compat/freebsd.  There currently 
isn't a really clean way of doing this (and there really should be).

-- 
John Baldwin


More information about the freebsd-hackers mailing list