Kconfig 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245
  1. # SPDX-License-Identifier: GPL-2.0
  2. menu "Generic Driver Options"
  3. config AUXILIARY_BUS
  4. bool
  5. config UEVENT_HELPER
  6. bool "Support for uevent helper"
  7. help
  8. The uevent helper program is forked by the kernel for
  9. every uevent.
  10. Before the switch to the netlink-based uevent source, this was
  11. used to hook hotplug scripts into kernel device events. It
  12. usually pointed to a shell script at /sbin/hotplug.
  13. This should not be used today, because usual systems create
  14. many events at bootup or device discovery in a very short time
  15. frame. One forked process per event can create so many processes
  16. that it creates a high system load, or on smaller systems
  17. it is known to create out-of-memory situations during bootup.
  18. config UEVENT_HELPER_PATH
  19. string "path to uevent helper"
  20. depends on UEVENT_HELPER
  21. default ""
  22. help
  23. To disable user space helper program execution at by default
  24. specify an empty string here. This setting can still be altered
  25. via /proc/sys/kernel/hotplug or via /sys/kernel/uevent_helper
  26. later at runtime.
  27. config DEVTMPFS
  28. bool "Maintain a devtmpfs filesystem to mount at /dev"
  29. help
  30. This creates a tmpfs/ramfs filesystem instance early at bootup.
  31. In this filesystem, the kernel driver core maintains device
  32. nodes with their default names and permissions for all
  33. registered devices with an assigned major/minor number.
  34. Userspace can modify the filesystem content as needed, add
  35. symlinks, and apply needed permissions.
  36. It provides a fully functional /dev directory, where usually
  37. udev runs on top, managing permissions and adding meaningful
  38. symlinks.
  39. In very limited environments, it may provide a sufficient
  40. functional /dev without any further help. It also allows simple
  41. rescue systems, and reliably handles dynamic major/minor numbers.
  42. Notice: if CONFIG_TMPFS isn't enabled, the simpler ramfs
  43. file system will be used instead.
  44. config DEVTMPFS_MOUNT
  45. bool "Automount devtmpfs at /dev, after the kernel mounted the rootfs"
  46. depends on DEVTMPFS
  47. help
  48. This will instruct the kernel to automatically mount the
  49. devtmpfs filesystem at /dev, directly after the kernel has
  50. mounted the root filesystem. The behavior can be overridden
  51. with the commandline parameter: devtmpfs.mount=0|1.
  52. This option does not affect initramfs based booting, here
  53. the devtmpfs filesystem always needs to be mounted manually
  54. after the rootfs is mounted.
  55. With this option enabled, it allows to bring up a system in
  56. rescue mode with init=/bin/sh, even when the /dev directory
  57. on the rootfs is completely empty.
  58. config DEVTMPFS_SAFE
  59. bool "Use nosuid,noexec mount options on devtmpfs"
  60. depends on DEVTMPFS
  61. help
  62. This instructs the kernel to include the MS_NOEXEC and MS_NOSUID mount
  63. flags when mounting devtmpfs.
  64. Notice: If enabled, things like /dev/mem cannot be mmapped
  65. with the PROT_EXEC flag. This can break, for example, non-KMS
  66. video drivers.
  67. config STANDALONE
  68. bool "Select only drivers that don't need compile-time external firmware"
  69. default y
  70. help
  71. Select this option if you don't have magic firmware for drivers that
  72. need it.
  73. If unsure, say Y.
  74. config PREVENT_FIRMWARE_BUILD
  75. bool "Disable drivers features which enable custom firmware building"
  76. default y
  77. help
  78. Say yes to disable driver features which enable building a custom
  79. driver firmware at kernel build time. These drivers do not use the
  80. kernel firmware API to load firmware (CONFIG_FW_LOADER), instead they
  81. use their own custom loading mechanism. The required firmware is
  82. usually shipped with the driver, building the driver firmware
  83. should only be needed if you have an updated firmware source.
  84. Firmware should not be being built as part of kernel, these days
  85. you should always prevent this and say Y here. There are only two
  86. old drivers which enable building of its firmware at kernel build
  87. time:
  88. o CONFIG_WANXL through CONFIG_WANXL_BUILD_FIRMWARE
  89. o CONFIG_SCSI_AIC79XX through CONFIG_AIC79XX_BUILD_FIRMWARE
  90. source "drivers/base/firmware_loader/Kconfig"
  91. config WANT_DEV_COREDUMP
  92. bool
  93. help
  94. Drivers should "select" this option if they desire to use the
  95. device coredump mechanism.
  96. config ALLOW_DEV_COREDUMP
  97. bool "Allow device coredump" if EXPERT
  98. default y
  99. help
  100. This option controls if the device coredump mechanism is available or
  101. not; if disabled, the mechanism will be omitted even if drivers that
  102. can use it are enabled.
  103. Say 'N' for more sensitive systems or systems that don't want
  104. to ever access the information to not have the code, nor keep any
  105. data.
  106. If unsure, say Y.
  107. config DEV_COREDUMP
  108. bool
  109. default y if WANT_DEV_COREDUMP
  110. depends on ALLOW_DEV_COREDUMP
  111. config DEBUG_DRIVER
  112. bool "Driver Core verbose debug messages"
  113. depends on DEBUG_KERNEL
  114. help
  115. Say Y here if you want the Driver core to produce a bunch of
  116. debug messages to the system log. Select this if you are having a
  117. problem with the driver core and want to see more of what is
  118. going on.
  119. If you are unsure about this, say N here.
  120. config DEBUG_DEVRES
  121. bool "Managed device resources verbose debug messages"
  122. depends on DEBUG_KERNEL
  123. help
  124. This option enables kernel parameter devres.log. If set to
  125. non-zero, devres debug messages are printed. Select this if
  126. you are having a problem with devres or want to debug
  127. resource management for a managed device. devres.log can be
  128. switched on and off from sysfs node.
  129. If you are unsure about this, Say N here.
  130. config DEBUG_TEST_DRIVER_REMOVE
  131. bool "Test driver remove calls during probe (UNSTABLE)"
  132. depends on DEBUG_KERNEL
  133. help
  134. Say Y here if you want the Driver core to test driver remove functions
  135. by calling probe, remove, probe. This tests the remove path without
  136. having to unbind the driver or unload the driver module.
  137. This option is expected to find errors and may render your system
  138. unusable. You should say N here unless you are explicitly looking to
  139. test this functionality.
  140. config PM_QOS_KUNIT_TEST
  141. bool "KUnit Test for PM QoS features" if !KUNIT_ALL_TESTS
  142. depends on KUNIT=y
  143. default KUNIT_ALL_TESTS
  144. config HMEM_REPORTING
  145. bool
  146. default n
  147. depends on NUMA
  148. help
  149. Enable reporting for heterogeneous memory access attributes under
  150. their non-uniform memory nodes.
  151. source "drivers/base/test/Kconfig"
  152. config SYS_HYPERVISOR
  153. bool
  154. default n
  155. config GENERIC_CPU_DEVICES
  156. bool
  157. default n
  158. config GENERIC_CPU_AUTOPROBE
  159. bool
  160. config GENERIC_CPU_VULNERABILITIES
  161. bool
  162. config SOC_BUS
  163. bool
  164. select GLOB
  165. source "drivers/base/regmap/Kconfig"
  166. config DMA_SHARED_BUFFER
  167. bool
  168. default n
  169. select IRQ_WORK
  170. help
  171. This option enables the framework for buffer-sharing between
  172. multiple drivers. A buffer is associated with a file using driver
  173. APIs extension; the file's descriptor can then be passed on to other
  174. driver.
  175. config DMA_FENCE_TRACE
  176. bool "Enable verbose DMA_FENCE_TRACE messages"
  177. depends on DMA_SHARED_BUFFER
  178. help
  179. Enable the DMA_FENCE_TRACE printks. This will add extra
  180. spam to the console log, but will make it easier to diagnose
  181. lockup related problems for dma-buffers shared across multiple
  182. devices.
  183. config GENERIC_ARCH_TOPOLOGY
  184. bool
  185. help
  186. Enable support for architectures common topology code: e.g., parsing
  187. CPU capacity information from DT, usage of such information for
  188. appropriate scaling, sysfs interface for reading capacity values at
  189. runtime.
  190. config GENERIC_ARCH_NUMA
  191. bool
  192. help
  193. Enable support for generic NUMA implementation. Currently, RISC-V
  194. and ARM64 use it.
  195. config FW_DEVLINK_SYNC_STATE_TIMEOUT
  196. bool "sync_state() behavior defaults to timeout instead of strict"
  197. help
  198. This is build time equivalent of adding kernel command line parameter
  199. "fw_devlink.sync_state=timeout". Give up waiting on consumers and
  200. call sync_state() on any devices that haven't yet received their
  201. sync_state() calls after deferred_probe_timeout has expired or by
  202. late_initcall() if !CONFIG_MODULES. You should almost always want to
  203. select N here unless you have already successfully tested with the
  204. command line option on every system/board your kernel is expected to
  205. work on.
  206. endmenu