Kconfig 8.4 KB

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