Kconfig 4.0 KB

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