Kconfig 9.1 KB

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