Re: [PATCH 2/3] staging: binder: Support concurrent 32 bit and 64 bit processes.

Arve Hjønnevåg
2014-02-21T20:59:09Z

On Fri, Feb 21, 2014 at 12:43 PM, John Stultz <john.stultz@linaro.org> wrote:
> From: Arve Hjønnevåg <arve@android.com>
>
> For 64bit systems we want to use the same binder interface for 32bit and
> 64bit processes. Thus the size and the layout of the structures passed
> between the kernel and the userspace has to be the same for both 32 and
> 64bit processes.
>
> This change replaces all the uses of void* and size_t with
> binder_uintptr_t and binder_size_t. These are then typedefed to specific
> sizes depending on the use of the interface, as follows:
> * __u32 - on legacy 32bit only userspace
> * __u64 - on mixed 32/64bit userspace where all processes use the same
> interface.
>
> This change also increments the BINDER_CURRENT_PROTOCOL_VERSION to 8 and
> hooks the compat_ioctl entry for the mixed 32/64bit Android userspace.
>

It only increments the version to 8 if the old 32 bit interface is not selected.

> This patch also provides a CONFIG_ANDROID_BINDER_IPC_32BIT option for
> compatability, which if set which enables the old protocol on 32 bit
> systems.
>
> Please note that all 64bit kernels will use the 64bit Binder ABI.
>

--
Arve Hjønnevåg