| # 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 | |
| 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_BINDERFS | |
| bool "Android Binderfs filesystem" | |
| depends on ANDROID_BINDER_IPC | |
| default n | |
| help | |
| Binderfs is a pseudo-filesystem for the Android Binder IPC driver | |
| which can be mounted per-ipc namespace allowing to run multiple | |
| instances of Android. | |
| Each binderfs mount initially only contains a binder-control device. | |
| It can be used to dynamically allocate new binder IPC devices via | |
| ioctls. | |
| 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. | |
| config ANDROID_DEBUG_SYMBOLS | |
| bool "Android Debug Symbols" | |
| help | |
| Enables export of debug symbols that are useful for offline debugging | |
| of a kernel. These symbols would be used in vendor modules to find | |
| addresses of the core kernel symbols for vendor extensions. | |
| This driver is statically compiled into kernel and maintains all the | |
| required symbol addresses for vendor modules and provides necessary | |
| interface vendor modules. | |
| config ANDROID_VENDOR_HOOKS | |
| bool "Android Vendor Hooks" | |
| depends on TRACEPOINTS | |
| help | |
| Enable vendor hooks implemented as tracepoints | |
| Allow vendor modules to attach to tracepoint "hooks" defined via | |
| DECLARE_HOOK or DECLARE_RESTRICTED_HOOK. | |
| config ANDROID_KABI_RESERVE | |
| bool "Android KABI reserve padding" | |
| default y | |
| help | |
| This option enables the padding that the Android GKI kernel adds | |
| to many different kernel structures to support an in-kernel stable ABI | |
| over the lifespan of support for the kernel. | |
| Only disable this option if you have a system that needs the Android | |
| kernel drivers, but is NOT an Android GKI kernel image. If disabled | |
| it has the possibility to make the kernel static and runtime image | |
| slightly smaller but will NOT be supported by the Google Android | |
| kernel team. | |
| If even slightly unsure, say Y. | |
| config ANDROID_VENDOR_OEM_DATA | |
| bool "Android vendor and OEM data padding" | |
| default y | |
| help | |
| This option enables the padding that the Android GKI kernel adds | |
| to many different kernel structures to support an in-kernel stable ABI | |
| over the lifespan of support for the kernel as well as OEM additional | |
| fields that are needed by some of the Android kernel tracepoints. The | |
| macros enabled by this option are used to enable padding in vendor modules | |
| used for the above specified purposes. | |
| Only disable this option if you have a system that needs the Android | |
| kernel drivers, but is NOT an Android GKI kernel image and you do NOT | |
| use the Android kernel tracepoints. If disabled it has the possibility | |
| to make the kernel static and runtime image slightly smaller but will | |
| NOT be supported by the Google Android kernel team. | |
| If even slightly unsure, say Y. | |
| endif # if ANDROID | |
| endmenu |