Kconfig 9.8 KB

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