119 lines
4 KiB
Text
Executable file
119 lines
4 KiB
Text
Executable file
# 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 SEC_MPAM
|
|
tristate "SEC MPAM vendor-hook-based prototype"
|
|
depends on ANDROID_VENDOR_HOOKS
|
|
default n
|
|
|
|
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
|