Kconfig 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438
  1. #
  2. # Library configuration
  3. #
  4. config BINARY_PRINTF
  5. def_bool n
  6. menu "Library routines"
  7. config RAID6_PQ
  8. tristate
  9. config BITREVERSE
  10. tristate
  11. config RATIONAL
  12. boolean
  13. config GENERIC_STRNCPY_FROM_USER
  14. bool
  15. config GENERIC_STRNLEN_USER
  16. bool
  17. config GENERIC_NET_UTILS
  18. bool
  19. config GENERIC_FIND_FIRST_BIT
  20. bool
  21. config NO_GENERIC_PCI_IOPORT_MAP
  22. bool
  23. config GENERIC_PCI_IOMAP
  24. bool
  25. config GENERIC_IOMAP
  26. bool
  27. select GENERIC_PCI_IOMAP
  28. config GENERIC_IO
  29. boolean
  30. default n
  31. config STMP_DEVICE
  32. bool
  33. config PERCPU_RWSEM
  34. boolean
  35. config ARCH_USE_CMPXCHG_LOCKREF
  36. bool
  37. config CMPXCHG_LOCKREF
  38. def_bool y if ARCH_USE_CMPXCHG_LOCKREF
  39. depends on SMP
  40. depends on !GENERIC_LOCKBREAK
  41. depends on !DEBUG_SPINLOCK
  42. depends on !DEBUG_LOCK_ALLOC
  43. config CRC_CCITT
  44. tristate "CRC-CCITT functions"
  45. help
  46. This option is provided for the case where no in-kernel-tree
  47. modules require CRC-CCITT functions, but a module built outside
  48. the kernel tree does. Such modules that use library CRC-CCITT
  49. functions require M here.
  50. config CRC16
  51. tristate "CRC16 functions"
  52. help
  53. This option is provided for the case where no in-kernel-tree
  54. modules require CRC16 functions, but a module built outside
  55. the kernel tree does. Such modules that use library CRC16
  56. functions require M here.
  57. config CRC_T10DIF
  58. tristate "CRC calculation for the T10 Data Integrity Field"
  59. help
  60. This option is only needed if a module that's not in the
  61. kernel tree needs to calculate CRC checks for use with the
  62. SCSI data integrity subsystem.
  63. config CRC_ITU_T
  64. tristate "CRC ITU-T V.41 functions"
  65. help
  66. This option is provided for the case where no in-kernel-tree
  67. modules require CRC ITU-T V.41 functions, but a module built outside
  68. the kernel tree does. Such modules that use library CRC ITU-T V.41
  69. functions require M here.
  70. config CRC32
  71. tristate "CRC32/CRC32c functions"
  72. default y
  73. select BITREVERSE
  74. help
  75. This option is provided for the case where no in-kernel-tree
  76. modules require CRC32/CRC32c functions, but a module built outside
  77. the kernel tree does. Such modules that use library CRC32/CRC32c
  78. functions require M here.
  79. config CRC32_SELFTEST
  80. bool "CRC32 perform self test on init"
  81. default n
  82. depends on CRC32
  83. help
  84. This option enables the CRC32 library functions to perform a
  85. self test on initialization. The self test computes crc32_le
  86. and crc32_be over byte strings with random alignment and length
  87. and computes the total elapsed time and number of bytes processed.
  88. choice
  89. prompt "CRC32 implementation"
  90. depends on CRC32
  91. default CRC32_SLICEBY8
  92. help
  93. This option allows a kernel builder to override the default choice
  94. of CRC32 algorithm. Choose the default ("slice by 8") unless you
  95. know that you need one of the others.
  96. config CRC32_SLICEBY8
  97. bool "Slice by 8 bytes"
  98. help
  99. Calculate checksum 8 bytes at a time with a clever slicing algorithm.
  100. This is the fastest algorithm, but comes with a 8KiB lookup table.
  101. Most modern processors have enough cache to hold this table without
  102. thrashing the cache.
  103. This is the default implementation choice. Choose this one unless
  104. you have a good reason not to.
  105. config CRC32_SLICEBY4
  106. bool "Slice by 4 bytes"
  107. help
  108. Calculate checksum 4 bytes at a time with a clever slicing algorithm.
  109. This is a bit slower than slice by 8, but has a smaller 4KiB lookup
  110. table.
  111. Only choose this option if you know what you are doing.
  112. config CRC32_SARWATE
  113. bool "Sarwate's Algorithm (one byte at a time)"
  114. help
  115. Calculate checksum a byte at a time using Sarwate's algorithm. This
  116. is not particularly fast, but has a small 256 byte lookup table.
  117. Only choose this option if you know what you are doing.
  118. config CRC32_BIT
  119. bool "Classic Algorithm (one bit at a time)"
  120. help
  121. Calculate checksum one bit at a time. This is VERY slow, but has
  122. no lookup table. This is provided as a debugging option.
  123. Only choose this option if you are debugging crc32.
  124. endchoice
  125. config CRC7
  126. tristate "CRC7 functions"
  127. help
  128. This option is provided for the case where no in-kernel-tree
  129. modules require CRC7 functions, but a module built outside
  130. the kernel tree does. Such modules that use library CRC7
  131. functions require M here.
  132. config LIBCRC32C
  133. tristate "CRC32c (Castagnoli, et al) Cyclic Redundancy-Check"
  134. select CRYPTO
  135. select CRYPTO_CRC32C
  136. help
  137. This option is provided for the case where no in-kernel-tree
  138. modules require CRC32c functions, but a module built outside the
  139. kernel tree does. Such modules that use library CRC32c functions
  140. require M here. See Castagnoli93.
  141. Module will be libcrc32c.
  142. config CRC8
  143. tristate "CRC8 function"
  144. help
  145. This option provides CRC8 function. Drivers may select this
  146. when they need to do cyclic redundancy check according CRC8
  147. algorithm. Module will be called crc8.
  148. config AUDIT_GENERIC
  149. bool
  150. depends on AUDIT && !AUDIT_ARCH
  151. default y
  152. #
  153. # compression support is select'ed if needed
  154. #
  155. config ZLIB_INFLATE
  156. tristate
  157. config ZLIB_DEFLATE
  158. tristate
  159. config LZO_COMPRESS
  160. tristate
  161. config LZO_DECOMPRESS
  162. tristate
  163. config LZ4_COMPRESS
  164. tristate
  165. config LZ4HC_COMPRESS
  166. tristate
  167. config LZ4_DECOMPRESS
  168. tristate
  169. source "lib/xz/Kconfig"
  170. #
  171. # These all provide a common interface (hence the apparent duplication with
  172. # ZLIB_INFLATE; DECOMPRESS_GZIP is just a wrapper.)
  173. #
  174. config DECOMPRESS_GZIP
  175. select ZLIB_INFLATE
  176. tristate
  177. config DECOMPRESS_BZIP2
  178. tristate
  179. config DECOMPRESS_LZMA
  180. tristate
  181. config DECOMPRESS_XZ
  182. select XZ_DEC
  183. tristate
  184. config DECOMPRESS_LZO
  185. select LZO_DECOMPRESS
  186. tristate
  187. config DECOMPRESS_LZ4
  188. select LZ4_DECOMPRESS
  189. tristate
  190. #
  191. # Generic allocator support is selected if needed
  192. #
  193. config GENERIC_ALLOCATOR
  194. boolean
  195. #
  196. # reed solomon support is select'ed if needed
  197. #
  198. config REED_SOLOMON
  199. tristate
  200. config REED_SOLOMON_ENC8
  201. boolean
  202. config REED_SOLOMON_DEC8
  203. boolean
  204. config REED_SOLOMON_ENC16
  205. boolean
  206. config REED_SOLOMON_DEC16
  207. boolean
  208. #
  209. # BCH support is selected if needed
  210. #
  211. config BCH
  212. tristate
  213. config BCH_CONST_PARAMS
  214. boolean
  215. help
  216. Drivers may select this option to force specific constant
  217. values for parameters 'm' (Galois field order) and 't'
  218. (error correction capability). Those specific values must
  219. be set by declaring default values for symbols BCH_CONST_M
  220. and BCH_CONST_T.
  221. Doing so will enable extra compiler optimizations,
  222. improving encoding and decoding performance up to 2x for
  223. usual (m,t) values (typically such that m*t < 200).
  224. When this option is selected, the BCH library supports
  225. only a single (m,t) configuration. This is mainly useful
  226. for NAND flash board drivers requiring known, fixed BCH
  227. parameters.
  228. config BCH_CONST_M
  229. int
  230. range 5 15
  231. help
  232. Constant value for Galois field order 'm'. If 'k' is the
  233. number of data bits to protect, 'm' should be chosen such
  234. that (k + m*t) <= 2**m - 1.
  235. Drivers should declare a default value for this symbol if
  236. they select option BCH_CONST_PARAMS.
  237. config BCH_CONST_T
  238. int
  239. help
  240. Constant value for error correction capability in bits 't'.
  241. Drivers should declare a default value for this symbol if
  242. they select option BCH_CONST_PARAMS.
  243. #
  244. # Textsearch support is select'ed if needed
  245. #
  246. config TEXTSEARCH
  247. boolean
  248. config TEXTSEARCH_KMP
  249. tristate
  250. config TEXTSEARCH_BM
  251. tristate
  252. config TEXTSEARCH_FSM
  253. tristate
  254. config BTREE
  255. boolean
  256. config HAS_IOMEM
  257. boolean
  258. depends on !NO_IOMEM
  259. select GENERIC_IO
  260. default y
  261. config HAS_IOPORT
  262. boolean
  263. depends on HAS_IOMEM && !NO_IOPORT
  264. default y
  265. config HAS_DMA
  266. boolean
  267. depends on !NO_DMA
  268. default y
  269. config CHECK_SIGNATURE
  270. bool
  271. config CPUMASK_OFFSTACK
  272. bool "Force CPU masks off stack" if DEBUG_PER_CPU_MAPS
  273. help
  274. Use dynamic allocation for cpumask_var_t, instead of putting
  275. them on the stack. This is a bit more expensive, but avoids
  276. stack overflow.
  277. config DISABLE_OBSOLETE_CPUMASK_FUNCTIONS
  278. bool "Disable obsolete cpumask functions" if DEBUG_PER_CPU_MAPS
  279. depends on BROKEN
  280. config CPU_RMAP
  281. bool
  282. depends on SMP
  283. config DQL
  284. bool
  285. #
  286. # Netlink attribute parsing support is select'ed if needed
  287. #
  288. config NLATTR
  289. bool
  290. #
  291. # Generic 64-bit atomic support is selected if needed
  292. #
  293. config GENERIC_ATOMIC64
  294. bool
  295. config ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
  296. def_bool y if GENERIC_ATOMIC64
  297. config LRU_CACHE
  298. tristate
  299. config AVERAGE
  300. bool "Averaging functions"
  301. help
  302. This option is provided for the case where no in-kernel-tree
  303. modules require averaging functions, but a module built outside
  304. the kernel tree does. Such modules that use library averaging
  305. functions require Y here.
  306. If unsure, say N.
  307. config CLZ_TAB
  308. bool
  309. config CORDIC
  310. tristate "CORDIC algorithm"
  311. help
  312. This option provides an implementation of the CORDIC algorithm;
  313. calculations are in fixed point. Module will be called cordic.
  314. config DDR
  315. bool "JEDEC DDR data"
  316. help
  317. Data from JEDEC specs for DDR SDRAM memories,
  318. particularly the AC timing parameters and addressing
  319. information. This data is useful for drivers handling
  320. DDR SDRAM controllers.
  321. config MPILIB
  322. tristate
  323. select CLZ_TAB
  324. help
  325. Multiprecision maths library from GnuPG.
  326. It is used to implement RSA digital signature verification,
  327. which is used by IMA/EVM digital signature extension.
  328. config SIGNATURE
  329. tristate
  330. depends on KEYS && CRYPTO
  331. select CRYPTO_SHA1
  332. select MPILIB
  333. help
  334. Digital signature verification. Currently only RSA is supported.
  335. Implementation is done using GnuPG MPI library
  336. #
  337. # libfdt files, only selected if needed.
  338. #
  339. config LIBFDT
  340. bool
  341. config OID_REGISTRY
  342. tristate
  343. help
  344. Enable fast lookup object identifier registry.
  345. config UCS2_STRING
  346. tristate
  347. source "lib/fonts/Kconfig"
  348. endmenu