Kconfig 9.5 KB

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