Kconfig 8.9 KB

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