Kconfig 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477
  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 AUDIT_ARCH_COMPAT_GENERIC
  149. bool
  150. default n
  151. config AUDIT_COMPAT_GENERIC
  152. bool
  153. depends on AUDIT_GENERIC && AUDIT_ARCH_COMPAT_GENERIC && COMPAT
  154. default y
  155. config RANDOM32_SELFTEST
  156. bool "PRNG perform self test on init"
  157. default n
  158. help
  159. This option enables the 32 bit PRNG library functions to perform a
  160. self test on initialization.
  161. #
  162. # compression support is select'ed if needed
  163. #
  164. config ZLIB_INFLATE
  165. tristate
  166. config ZLIB_DEFLATE
  167. tristate
  168. config LZO_COMPRESS
  169. tristate
  170. config LZO_DECOMPRESS
  171. tristate
  172. config LZ4_COMPRESS
  173. tristate
  174. config LZ4HC_COMPRESS
  175. tristate
  176. config LZ4_DECOMPRESS
  177. tristate
  178. source "lib/xz/Kconfig"
  179. #
  180. # These all provide a common interface (hence the apparent duplication with
  181. # ZLIB_INFLATE; DECOMPRESS_GZIP is just a wrapper.)
  182. #
  183. config DECOMPRESS_GZIP
  184. select ZLIB_INFLATE
  185. tristate
  186. config DECOMPRESS_BZIP2
  187. tristate
  188. config DECOMPRESS_LZMA
  189. tristate
  190. config DECOMPRESS_XZ
  191. select XZ_DEC
  192. tristate
  193. config DECOMPRESS_LZO
  194. select LZO_DECOMPRESS
  195. tristate
  196. config DECOMPRESS_LZ4
  197. select LZ4_DECOMPRESS
  198. tristate
  199. #
  200. # Generic allocator support is selected if needed
  201. #
  202. config GENERIC_ALLOCATOR
  203. boolean
  204. #
  205. # reed solomon support is select'ed if needed
  206. #
  207. config REED_SOLOMON
  208. tristate
  209. config REED_SOLOMON_ENC8
  210. boolean
  211. config REED_SOLOMON_DEC8
  212. boolean
  213. config REED_SOLOMON_ENC16
  214. boolean
  215. config REED_SOLOMON_DEC16
  216. boolean
  217. #
  218. # BCH support is selected if needed
  219. #
  220. config BCH
  221. tristate
  222. config BCH_CONST_PARAMS
  223. boolean
  224. help
  225. Drivers may select this option to force specific constant
  226. values for parameters 'm' (Galois field order) and 't'
  227. (error correction capability). Those specific values must
  228. be set by declaring default values for symbols BCH_CONST_M
  229. and BCH_CONST_T.
  230. Doing so will enable extra compiler optimizations,
  231. improving encoding and decoding performance up to 2x for
  232. usual (m,t) values (typically such that m*t < 200).
  233. When this option is selected, the BCH library supports
  234. only a single (m,t) configuration. This is mainly useful
  235. for NAND flash board drivers requiring known, fixed BCH
  236. parameters.
  237. config BCH_CONST_M
  238. int
  239. range 5 15
  240. help
  241. Constant value for Galois field order 'm'. If 'k' is the
  242. number of data bits to protect, 'm' should be chosen such
  243. that (k + m*t) <= 2**m - 1.
  244. Drivers should declare a default value for this symbol if
  245. they select option BCH_CONST_PARAMS.
  246. config BCH_CONST_T
  247. int
  248. help
  249. Constant value for error correction capability in bits 't'.
  250. Drivers should declare a default value for this symbol if
  251. they select option BCH_CONST_PARAMS.
  252. #
  253. # Textsearch support is select'ed if needed
  254. #
  255. config TEXTSEARCH
  256. boolean
  257. config TEXTSEARCH_KMP
  258. tristate
  259. config TEXTSEARCH_BM
  260. tristate
  261. config TEXTSEARCH_FSM
  262. tristate
  263. config BTREE
  264. boolean
  265. config INTERVAL_TREE
  266. boolean
  267. help
  268. Simple, embeddable, interval-tree. Can find the start of an
  269. overlapping range in log(n) time and then iterate over all
  270. overlapping nodes. The algorithm is implemented as an
  271. augmented rbtree.
  272. See:
  273. Documentation/rbtree.txt
  274. for more information.
  275. config ASSOCIATIVE_ARRAY
  276. bool
  277. help
  278. Generic associative array. Can be searched and iterated over whilst
  279. it is being modified. It is also reasonably quick to search and
  280. modify. The algorithms are non-recursive, and the trees are highly
  281. capacious.
  282. See:
  283. Documentation/assoc_array.txt
  284. for more information.
  285. config HAS_IOMEM
  286. boolean
  287. depends on !NO_IOMEM
  288. select GENERIC_IO
  289. default y
  290. config HAS_IOPORT_MAP
  291. boolean
  292. depends on HAS_IOMEM && !NO_IOPORT_MAP
  293. default y
  294. config HAS_DMA
  295. boolean
  296. depends on !NO_DMA
  297. default y
  298. config CHECK_SIGNATURE
  299. bool
  300. config CPUMASK_OFFSTACK
  301. bool "Force CPU masks off stack" if DEBUG_PER_CPU_MAPS
  302. help
  303. Use dynamic allocation for cpumask_var_t, instead of putting
  304. them on the stack. This is a bit more expensive, but avoids
  305. stack overflow.
  306. config DISABLE_OBSOLETE_CPUMASK_FUNCTIONS
  307. bool "Disable obsolete cpumask functions" if DEBUG_PER_CPU_MAPS
  308. depends on BROKEN
  309. config CPU_RMAP
  310. bool
  311. depends on SMP
  312. config DQL
  313. bool
  314. #
  315. # Netlink attribute parsing support is select'ed if needed
  316. #
  317. config NLATTR
  318. bool
  319. #
  320. # Generic 64-bit atomic support is selected if needed
  321. #
  322. config GENERIC_ATOMIC64
  323. bool
  324. config ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
  325. def_bool y if GENERIC_ATOMIC64
  326. config LRU_CACHE
  327. tristate
  328. config AVERAGE
  329. bool "Averaging functions"
  330. help
  331. This option is provided for the case where no in-kernel-tree
  332. modules require averaging functions, but a module built outside
  333. the kernel tree does. Such modules that use library averaging
  334. functions require Y here.
  335. If unsure, say N.
  336. config CLZ_TAB
  337. bool
  338. config CORDIC
  339. tristate "CORDIC algorithm"
  340. help
  341. This option provides an implementation of the CORDIC algorithm;
  342. calculations are in fixed point. Module will be called cordic.
  343. config DDR
  344. bool "JEDEC DDR data"
  345. help
  346. Data from JEDEC specs for DDR SDRAM memories,
  347. particularly the AC timing parameters and addressing
  348. information. This data is useful for drivers handling
  349. DDR SDRAM controllers.
  350. config MPILIB
  351. tristate
  352. select CLZ_TAB
  353. help
  354. Multiprecision maths library from GnuPG.
  355. It is used to implement RSA digital signature verification,
  356. which is used by IMA/EVM digital signature extension.
  357. config SIGNATURE
  358. tristate
  359. depends on KEYS && CRYPTO
  360. select CRYPTO_SHA1
  361. select MPILIB
  362. help
  363. Digital signature verification. Currently only RSA is supported.
  364. Implementation is done using GnuPG MPI library
  365. #
  366. # libfdt files, only selected if needed.
  367. #
  368. config LIBFDT
  369. bool
  370. config OID_REGISTRY
  371. tristate
  372. help
  373. Enable fast lookup object identifier registry.
  374. config UCS2_STRING
  375. tristate
  376. source "lib/fonts/Kconfig"
  377. endmenu