Kconfig 9.0 KB

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