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