Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 17 Sep 2008 11:36:24 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        freebsd-hackers@freebsd.org
Cc:        "Andrew N. Below" <defan@zenon.net>
Subject:   Re: amd64, COMPAT_IA32 & syscall diverts
Message-ID:  <200809171136.24300.jhb@freebsd.org>
In-Reply-To: <046601c918cc$786cc8c0$970da8c0@jam.zenon.net>
References:  <046601c918cc$786cc8c0$970da8c0@jam.zenon.net>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200809171136.24300.jhb>