xref: /linux/drivers/android/Kconfig (revision 68a052239fc4b351e961f698b824f7654a346091)
1# SPDX-License-Identifier: GPL-2.0
2menu "Android"
3
4config ANDROID_BINDER_IPC
5	bool "Android Binder IPC Driver"
6	depends on MMU
7	depends on NET
8	default n
9	help
10	  Binder is used in Android for both communication between processes,
11	  and remote method invocation.
12
13	  This means one Android process can call a method/routine in another
14	  Android process, using Binder to identify, invoke and pass arguments
15	  between said processes.
16
17config ANDROID_BINDER_IPC_RUST
18	bool "Rust version of Android Binder IPC Driver"
19	depends on RUST && MMU && !ANDROID_BINDER_IPC
20	help
21	  This enables the Rust implementation of the Binder driver.
22
23	  Binder is used in Android for both communication between processes,
24	  and remote method invocation.
25
26	  This means one Android process can call a method/routine in another
27	  Android process, using Binder to identify, invoke and pass arguments
28	  between said processes.
29
30config ANDROID_BINDERFS
31	bool "Android Binderfs filesystem"
32	depends on ANDROID_BINDER_IPC
33	default n
34	help
35	  Binderfs is a pseudo-filesystem for the Android Binder IPC driver
36	  which can be mounted per-ipc namespace allowing to run multiple
37	  instances of Android.
38	  Each binderfs mount initially only contains a binder-control device.
39	  It can be used to dynamically allocate new binder IPC devices via
40	  ioctls.
41
42config ANDROID_BINDER_DEVICES
43	string "Android Binder devices"
44	depends on ANDROID_BINDER_IPC || ANDROID_BINDER_IPC_RUST
45	default "binder,hwbinder,vndbinder"
46	help
47	  Default value for the binder.devices parameter.
48
49	  The binder.devices parameter is a comma-separated list of strings
50	  that specifies the names of the binder device nodes that will be
51	  created. Each binder device has its own context manager, and is
52	  therefore logically separated from the other devices.
53
54config ANDROID_BINDER_ALLOC_KUNIT_TEST
55	tristate "KUnit Tests for Android Binder Alloc" if !KUNIT_ALL_TESTS
56	depends on ANDROID_BINDER_IPC && KUNIT
57	default KUNIT_ALL_TESTS
58	help
59	  This feature builds the binder alloc KUnit tests.
60
61	  Each test case runs using a pared-down binder_alloc struct and
62	  test-specific freelist, which allows this KUnit module to be loaded
63	  for testing without interfering with a running system.
64
65endmenu
66