Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 31 May 2010 00:23:11 +0200
From:      Hans Petter Selasky <hselasky@c2i.net>
To:        Kostik Belousov <kostikbel@gmail.com>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: [FreeBSD 8/9] [64-bit IOCTL] Using the USB stack from a 32-bit application under a 64-bit kernel.
Message-ID:  <201005310023.11672.hselasky@c2i.net>
In-Reply-To: <20100530221955.GN83316@deviant.kiev.zoral.com.ua>
References:  <201005302150.15232.hselasky@c2i.net> <20100530221955.GN83316@deviant.kiev.zoral.com.ua>

next in thread | previous in thread | raw e-mail | index | archive | help
On Monday 31 May 2010 00:19:55 Kostik Belousov wrote:

Hi,

> Doesn't this change the existing ABI for 32bit platforms ?

Yes, it changes the ABI.

> 
> You may take a look at the sys/net/bpf.c, where the similar
> issue is handled for bpf ioctls. To keep the ABI intact, you
> would need to define the 32bit ABI structures and define
> compat ioctls, then handle the ioctls by converting the structures
> and calling the native handler. BIOCSRTIMEOUT32 is a good example.
> 

The problem in the case of USB is that we have to resolve "void **" and not 
only "void *", in which case your solution would work. This is the case to 
reduce the copying between the kernel and user-space.

--HPS



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