Kconfig 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440
  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. #
  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 HAS_IOMEM
  259. boolean
  260. depends on !NO_IOMEM
  261. select GENERIC_IO
  262. default y
  263. config HAS_IOPORT
  264. boolean
  265. depends on HAS_IOMEM && !NO_IOPORT
  266. default y
  267. config HAS_DMA
  268. boolean
  269. depends on !NO_DMA
  270. default y
  271. config CHECK_SIGNATURE
  272. bool
  273. config CPUMASK_OFFSTACK
  274. bool "Force CPU masks off stack" if DEBUG_PER_CPU_MAPS
  275. help
  276. Use dynamic allocation for cpumask_var_t, instead of putting
  277. them on the stack. This is a bit more expensive, but avoids
  278. stack overflow.
  279. config DISABLE_OBSOLETE_CPUMASK_FUNCTIONS
  280. bool "Disable obsolete cpumask functions" if DEBUG_PER_CPU_MAPS
  281. depends on BROKEN
  282. config CPU_RMAP
  283. bool
  284. depends on SMP
  285. config DQL
  286. bool
  287. #
  288. # Netlink attribute parsing support is select'ed if needed
  289. #
  290. config NLATTR
  291. bool
  292. #
  293. # Generic 64-bit atomic support is selected if needed
  294. #
  295. config GENERIC_ATOMIC64
  296. bool
  297. config ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
  298. def_bool y if GENERIC_ATOMIC64
  299. config LRU_CACHE
  300. tristate
  301. config AVERAGE
  302. bool "Averaging functions"
  303. help
  304. This option is provided for the case where no in-kernel-tree
  305. modules require averaging functions, but a module built outside
  306. the kernel tree does. Such modules that use library averaging
  307. functions require Y here.
  308. If unsure, say N.
  309. config CLZ_TAB
  310. bool
  311. config CORDIC
  312. tristate "CORDIC algorithm"
  313. help
  314. This option provides an implementation of the CORDIC algorithm;
  315. calculations are in fixed point. Module will be called cordic.
  316. config DDR
  317. bool "JEDEC DDR data"
  318. help
  319. Data from JEDEC specs for DDR SDRAM memories,
  320. particularly the AC timing parameters and addressing
  321. information. This data is useful for drivers handling
  322. DDR SDRAM controllers.
  323. config MPILIB
  324. tristate
  325. select CLZ_TAB
  326. help
  327. Multiprecision maths library from GnuPG.
  328. It is used to implement RSA digital signature verification,
  329. which is used by IMA/EVM digital signature extension.
  330. config SIGNATURE
  331. tristate
  332. depends on KEYS && CRYPTO
  333. select CRYPTO_SHA1
  334. select MPILIB
  335. help
  336. Digital signature verification. Currently only RSA is supported.
  337. Implementation is done using GnuPG MPI library
  338. #
  339. # libfdt files, only selected if needed.
  340. #
  341. config LIBFDT
  342. bool
  343. config OID_REGISTRY
  344. tristate
  345. help
  346. Enable fast lookup object identifier registry.
  347. config UCS2_STRING
  348. tristate
  349. source "lib/fonts/Kconfig"
  350. endmenu