From owner-freebsd-hackers@FreeBSD.ORG Wed Sep 17 16:29:06 2008 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E6C441065670 for ; Wed, 17 Sep 2008 16:29:06 +0000 (UTC) (envelope-from defan@zenon.net) Received: from mp.zenon.net (mp.zenon.net [195.2.72.79]) by mx1.freebsd.org (Postfix) with ESMTP id 67ED38FC13 for ; Wed, 17 Sep 2008 16:29:05 +0000 (UTC) (envelope-from defan@zenon.net) Received: from [192.168.13.151] (HELO zts) by mp.zenon.net (CommuniGate Pro SMTP 4.3.12) with SMTP id 8431658; Wed, 17 Sep 2008 20:29:05 +0400 Message-ID: <064901c918e2$803df770$970da8c0@jam.zenon.net> From: "Andrew N. Below" To: "Julian Elischer" References: <046601c918cc$786cc8c0$970da8c0@jam.zenon.net> <48D123DD.2030701@elischer.org> Date: Wed, 17 Sep 2008 20:29:04 +0400 MIME-Version: 1.0 Content-Type: text/plain; charset="koi8-r" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2800.1914 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1914 Cc: freebsd-hackers@freebsd.org Subject: Re: amd64, COMPAT_IA32 & syscall diverts X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Sep 2008 16:29:07 -0000 > 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. > > x86 binaries use a separate syscall table, so you need to patch > both tables. Where can I find something about that table? Nothing interesting in sysent.h/syscall.h... -- Andrew