• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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_BINDERFS
18	bool "Android Binderfs filesystem"
19	depends on ANDROID_BINDER_IPC
20	default n
21	help
22	  Binderfs is a pseudo-filesystem for the Android Binder IPC driver
23	  which can be mounted per-ipc namespace allowing to run multiple
24	  instances of Android.
25	  Each binderfs mount initially only contains a binder-control device.
26	  It can be used to dynamically allocate new binder IPC devices via
27	  ioctls.
28
29config ANDROID_BINDER_DEVICES
30	string "Android Binder devices"
31	depends on ANDROID_BINDER_IPC
32	default "binder,hwbinder,vndbinder"
33	help
34	  Default value for the binder.devices parameter.
35
36	  The binder.devices parameter is a comma-separated list of strings
37	  that specifies the names of the binder device nodes that will be
38	  created. Each binder device has its own context manager, and is
39	  therefore logically separated from the other devices.
40
41source "drivers/android/binder/Kconfig"
42
43config ANDROID_BINDER_IPC_SELFTEST
44	bool "Android Binder IPC Driver Selftest"
45	depends on ANDROID_BINDER_IPC
46	help
47	  This feature allows binder selftest to run.
48
49	  Binder selftest checks the allocation and free of binder buffers
50	  exhaustively with combinations of various buffer sizes and
51	  alignments.
52
53config ANDROID_VENDOR_HOOKS
54	bool "Android Vendor Hooks"
55	depends on TRACEPOINTS
56	help
57	  Enable vendor hooks implemented as tracepoints
58
59	  Allow vendor modules to attach to tracepoint "hooks" defined via
60	  DECLARE_HOOK or DECLARE_RESTRICTED_HOOK.
61
62config ANDROID_DEBUG_KINFO
63	bool "Android Debug Kernel Information Support"
64	depends on KALLSYMS
65	help
66	  This supports kernel information backup for bootloader usage.
67	  Specifics:
68	   - The kallsyms symbols for unwind_backtrace
69	   - Page directory pointer
70	   - UTS_RELEASE
71	   - BUILD_INFO(ro.build.fingerprint)
72
73config ANDROID_KABI_RESERVE
74	bool "Android KABI reserve padding"
75	default y
76	help
77	  This option enables the padding that the Android GKI kernel adds
78	  to many different kernel structures to support an in-kernel stable ABI
79	  over the lifespan of support for the kernel.
80
81	  Only disable this option if you have a system that needs the Android
82	  kernel drivers, but is NOT an Android GKI kernel image. If disabled
83	  it has the possibility to make the kernel static and runtime image
84	  slightly smaller but will NOT be supported by the Google Android
85	  kernel team.
86
87	  If even slightly unsure, say Y.
88
89config ANDROID_VENDOR_OEM_DATA
90	bool "Android vendor and OEM data padding"
91	default y
92	help
93	  This option enables the padding that the Android GKI kernel adds
94	  to many different kernel structures to support an in-kernel stable ABI
95	  over the lifespan of support for the kernel as well as OEM additional
96	  fields that are needed by some of the Android kernel tracepoints. The
97	  macros enabled by this option are used to enable padding in vendor modules
98	  used for the above specified purposes.
99
100	  Only disable this option if you have a system that needs the Android
101	  kernel drivers, but is NOT an Android GKI kernel image and you do NOT
102	  use the Android kernel tracepoints. If disabled it has the possibility
103	  to make the kernel static and runtime image slightly smaller but will
104	  NOT be supported by the Google Android kernel team.
105
106	  If even slightly unsure, say Y.
107
108endmenu
109