![Martijn Coenen](/assets/img/avatar_default.png)
New devices launching with Android P need to use the 64-bit binder interface, even on 32-bit SoCs [0]. This change removes the Kconfig option to select the 32-bit binder interface. We don't think this will affect existing userspace for the following reasons: 1) The latest Android common tree is 4.14, so we don't believe any Android devices are on kernels >4.14. 2) Android devices launch on an LTS release and stick with it, so we wouldn't expect devices running on <= 4.14 now to upgrade to 4.17 or later. But even if they did, they'd rebuild the world (kernel + userspace) anyway. 3) Other userspaces like 'anbox' are already using the 64-bit interface. Note that this change doesn't remove the 32-bit UAPI itself; the reason for that is that Android userspace always uses the latest UAPI headers from upstream, and userspace retains 32-bit support for devices that are upgrading. This will be removed as well in 2-3 years, at which point we can remove the code from the UAPI as well. Finally, this change introduces build errors on archs where 64-bit get_user/put_user is not supported, so make binder unavailable on m68k (which wouldn't want it anyway). [0]: https://android-review.googlesource.com/c/platform/build/+/595193 Signed-off-by: Martijn Coenen <maco@android.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
48 lines
1.3 KiB
Plaintext
48 lines
1.3 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0
|
|
menu "Android"
|
|
|
|
config ANDROID
|
|
bool "Android Drivers"
|
|
---help---
|
|
Enable support for various drivers needed on the Android platform
|
|
|
|
if ANDROID
|
|
|
|
config ANDROID_BINDER_IPC
|
|
bool "Android Binder IPC Driver"
|
|
depends on MMU && !M68K
|
|
default n
|
|
---help---
|
|
Binder is used in Android for both communication between processes,
|
|
and remote method invocation.
|
|
|
|
This means one Android process can call a method/routine in another
|
|
Android process, using Binder to identify, invoke and pass arguments
|
|
between said processes.
|
|
|
|
config ANDROID_BINDER_DEVICES
|
|
string "Android Binder devices"
|
|
depends on ANDROID_BINDER_IPC
|
|
default "binder,hwbinder,vndbinder"
|
|
---help---
|
|
Default value for the binder.devices parameter.
|
|
|
|
The binder.devices parameter is a comma-separated list of strings
|
|
that specifies the names of the binder device nodes that will be
|
|
created. Each binder device has its own context manager, and is
|
|
therefore logically separated from the other devices.
|
|
|
|
config ANDROID_BINDER_IPC_SELFTEST
|
|
bool "Android Binder IPC Driver Selftest"
|
|
depends on ANDROID_BINDER_IPC
|
|
---help---
|
|
This feature allows binder selftest to run.
|
|
|
|
Binder selftest checks the allocation and free of binder buffers
|
|
exhaustively with combinations of various buffer sizes and
|
|
alignments.
|
|
|
|
endif # if ANDROID
|
|
|
|
endmenu
|