mirror of
https://github.com/hardkernel/linux.git
synced 2026-03-29 05:50:28 +09:00
Add one CONFIG to control removing the macros or not. On some platform, configureing out the macros removes the associated members from the structs, this reduces the object size of the slabs related with the structs, therefore reduces the total slab memory consumption of system. Besides, this also reduces vmlinux size a bit, therefore the total kernel memory size increses a bit. The macros are ANDROID_KABI_RESERVE, ANDROID_VENDOR_DATA, ANDROID_VENDOR_DATA_ARRAY, ANDROID_OEM_DATA, ANDROID_OEM_DATA_ARRAY. Bug: 206561931 Signed-off-by: Qingqing Zhou <quic_qqzhou@quicinc.com> Change-Id: Iea4b962dff386a17c9bef20ae048be4e17bf43ab (cherry picked from commitb7a6c15a6f) Signed-off-by: Jaskaran Singh <quic_jasksing@quicinc.com> (cherry picked from commit3c06a5ce5e)
106 lines
3.6 KiB
Plaintext
106 lines
3.6 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0
|
|
menu "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_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_DEBUG_KINFO
|
|
bool "Android Debug Kernel Information Support"
|
|
depends on KALLSYMS
|
|
help
|
|
This supports kernel information backup for bootloader usage.
|
|
Specifics:
|
|
- The kallsyms symbols for unwind_backtrace
|
|
- Page directory pointer
|
|
- UTS_RELEASE
|
|
- BUILD_INFO(ro.build.fingerprint)
|
|
|
|
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.
|
|
|
|
endmenu
|