Kconfig 9.7 KB

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