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