Kconfig 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535
  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 HAVE_ARCH_BITREVERSE
  12. bool
  13. default n
  14. depends on BITREVERSE
  15. help
  16. This option enables the use of hardware bit-reversal instructions on
  17. architectures which support such operations.
  18. config RATIONAL
  19. bool
  20. config GENERIC_STRNCPY_FROM_USER
  21. bool
  22. config GENERIC_STRNLEN_USER
  23. bool
  24. config GENERIC_NET_UTILS
  25. bool
  26. config GENERIC_FIND_FIRST_BIT
  27. bool
  28. config NO_GENERIC_PCI_IOPORT_MAP
  29. bool
  30. config GENERIC_PCI_IOMAP
  31. bool
  32. config GENERIC_IOMAP
  33. bool
  34. select GENERIC_PCI_IOMAP
  35. config GENERIC_IO
  36. bool
  37. default n
  38. config STMP_DEVICE
  39. bool
  40. config PERCPU_RWSEM
  41. bool
  42. config ARCH_USE_CMPXCHG_LOCKREF
  43. bool
  44. config ARCH_HAS_FAST_MULTIPLIER
  45. bool
  46. config CRC_CCITT
  47. tristate "CRC-CCITT functions"
  48. help
  49. This option is provided for the case where no in-kernel-tree
  50. modules require CRC-CCITT functions, but a module built outside
  51. the kernel tree does. Such modules that use library CRC-CCITT
  52. functions require M here.
  53. config CRC16
  54. tristate "CRC16 functions"
  55. help
  56. This option is provided for the case where no in-kernel-tree
  57. modules require CRC16 functions, but a module built outside
  58. the kernel tree does. Such modules that use library CRC16
  59. functions require M here.
  60. config CRC_T10DIF
  61. tristate "CRC calculation for the T10 Data Integrity Field"
  62. select CRYPTO
  63. select CRYPTO_CRCT10DIF
  64. help
  65. This option is only needed if a module that's not in the
  66. kernel tree needs to calculate CRC checks for use with the
  67. SCSI data integrity subsystem.
  68. config CRC_ITU_T
  69. tristate "CRC ITU-T V.41 functions"
  70. help
  71. This option is provided for the case where no in-kernel-tree
  72. modules require CRC ITU-T V.41 functions, but a module built outside
  73. the kernel tree does. Such modules that use library CRC ITU-T V.41
  74. functions require M here.
  75. config CRC32
  76. tristate "CRC32/CRC32c functions"
  77. default y
  78. select BITREVERSE
  79. help
  80. This option is provided for the case where no in-kernel-tree
  81. modules require CRC32/CRC32c functions, but a module built outside
  82. the kernel tree does. Such modules that use library CRC32/CRC32c
  83. functions require M here.
  84. config CRC32_SELFTEST
  85. bool "CRC32 perform self test on init"
  86. default n
  87. depends on CRC32
  88. help
  89. This option enables the CRC32 library functions to perform a
  90. self test on initialization. The self test computes crc32_le
  91. and crc32_be over byte strings with random alignment and length
  92. and computes the total elapsed time and number of bytes processed.
  93. choice
  94. prompt "CRC32 implementation"
  95. depends on CRC32
  96. default CRC32_SLICEBY8
  97. help
  98. This option allows a kernel builder to override the default choice
  99. of CRC32 algorithm. Choose the default ("slice by 8") unless you
  100. know that you need one of the others.
  101. config CRC32_SLICEBY8
  102. bool "Slice by 8 bytes"
  103. help
  104. Calculate checksum 8 bytes at a time with a clever slicing algorithm.
  105. This is the fastest algorithm, but comes with a 8KiB lookup table.
  106. Most modern processors have enough cache to hold this table without
  107. thrashing the cache.
  108. This is the default implementation choice. Choose this one unless
  109. you have a good reason not to.
  110. config CRC32_SLICEBY4
  111. bool "Slice by 4 bytes"
  112. help
  113. Calculate checksum 4 bytes at a time with a clever slicing algorithm.
  114. This is a bit slower than slice by 8, but has a smaller 4KiB lookup
  115. table.
  116. Only choose this option if you know what you are doing.
  117. config CRC32_SARWATE
  118. bool "Sarwate's Algorithm (one byte at a time)"
  119. help
  120. Calculate checksum a byte at a time using Sarwate's algorithm. This
  121. is not particularly fast, but has a small 256 byte lookup table.
  122. Only choose this option if you know what you are doing.
  123. config CRC32_BIT
  124. bool "Classic Algorithm (one bit at a time)"
  125. help
  126. Calculate checksum one bit at a time. This is VERY slow, but has
  127. no lookup table. This is provided as a debugging option.
  128. Only choose this option if you are debugging crc32.
  129. endchoice
  130. config CRC7
  131. tristate "CRC7 functions"
  132. help
  133. This option is provided for the case where no in-kernel-tree
  134. modules require CRC7 functions, but a module built outside
  135. the kernel tree does. Such modules that use library CRC7
  136. functions require M here.
  137. config LIBCRC32C
  138. tristate "CRC32c (Castagnoli, et al) Cyclic Redundancy-Check"
  139. select CRYPTO
  140. select CRYPTO_CRC32C
  141. help
  142. This option is provided for the case where no in-kernel-tree
  143. modules require CRC32c functions, but a module built outside the
  144. kernel tree does. Such modules that use library CRC32c functions
  145. require M here. See Castagnoli93.
  146. Module will be libcrc32c.
  147. config CRC8
  148. tristate "CRC8 function"
  149. help
  150. This option provides CRC8 function. Drivers may select this
  151. when they need to do cyclic redundancy check according CRC8
  152. algorithm. Module will be called crc8.
  153. config AUDIT_GENERIC
  154. bool
  155. depends on AUDIT && !AUDIT_ARCH
  156. default y
  157. config AUDIT_ARCH_COMPAT_GENERIC
  158. bool
  159. default n
  160. config AUDIT_COMPAT_GENERIC
  161. bool
  162. depends on AUDIT_GENERIC && AUDIT_ARCH_COMPAT_GENERIC && COMPAT
  163. default y
  164. config RANDOM32_SELFTEST
  165. bool "PRNG perform self test on init"
  166. default n
  167. help
  168. This option enables the 32 bit PRNG library functions to perform a
  169. self test on initialization.
  170. #
  171. # compression support is select'ed if needed
  172. #
  173. config 842_COMPRESS
  174. tristate
  175. config 842_DECOMPRESS
  176. tristate
  177. config ZLIB_INFLATE
  178. tristate
  179. config ZLIB_DEFLATE
  180. tristate
  181. config LZO_COMPRESS
  182. tristate
  183. config LZO_DECOMPRESS
  184. tristate
  185. config LZ4_COMPRESS
  186. tristate
  187. config LZ4HC_COMPRESS
  188. tristate
  189. config LZ4_DECOMPRESS
  190. tristate
  191. source "lib/xz/Kconfig"
  192. #
  193. # These all provide a common interface (hence the apparent duplication with
  194. # ZLIB_INFLATE; DECOMPRESS_GZIP is just a wrapper.)
  195. #
  196. config DECOMPRESS_GZIP
  197. select ZLIB_INFLATE
  198. tristate
  199. config DECOMPRESS_BZIP2
  200. tristate
  201. config DECOMPRESS_LZMA
  202. tristate
  203. config DECOMPRESS_XZ
  204. select XZ_DEC
  205. tristate
  206. config DECOMPRESS_LZO
  207. select LZO_DECOMPRESS
  208. tristate
  209. config DECOMPRESS_LZ4
  210. select LZ4_DECOMPRESS
  211. tristate
  212. #
  213. # Generic allocator support is selected if needed
  214. #
  215. config GENERIC_ALLOCATOR
  216. bool
  217. #
  218. # reed solomon support is select'ed if needed
  219. #
  220. config REED_SOLOMON
  221. tristate
  222. config REED_SOLOMON_ENC8
  223. bool
  224. config REED_SOLOMON_DEC8
  225. bool
  226. config REED_SOLOMON_ENC16
  227. bool
  228. config REED_SOLOMON_DEC16
  229. bool
  230. #
  231. # BCH support is selected if needed
  232. #
  233. config BCH
  234. tristate
  235. config BCH_CONST_PARAMS
  236. bool
  237. help
  238. Drivers may select this option to force specific constant
  239. values for parameters 'm' (Galois field order) and 't'
  240. (error correction capability). Those specific values must
  241. be set by declaring default values for symbols BCH_CONST_M
  242. and BCH_CONST_T.
  243. Doing so will enable extra compiler optimizations,
  244. improving encoding and decoding performance up to 2x for
  245. usual (m,t) values (typically such that m*t < 200).
  246. When this option is selected, the BCH library supports
  247. only a single (m,t) configuration. This is mainly useful
  248. for NAND flash board drivers requiring known, fixed BCH
  249. parameters.
  250. config BCH_CONST_M
  251. int
  252. range 5 15
  253. help
  254. Constant value for Galois field order 'm'. If 'k' is the
  255. number of data bits to protect, 'm' should be chosen such
  256. that (k + m*t) <= 2**m - 1.
  257. Drivers should declare a default value for this symbol if
  258. they select option BCH_CONST_PARAMS.
  259. config BCH_CONST_T
  260. int
  261. help
  262. Constant value for error correction capability in bits 't'.
  263. Drivers should declare a default value for this symbol if
  264. they select option BCH_CONST_PARAMS.
  265. #
  266. # Textsearch support is select'ed if needed
  267. #
  268. config TEXTSEARCH
  269. bool
  270. config TEXTSEARCH_KMP
  271. tristate
  272. config TEXTSEARCH_BM
  273. tristate
  274. config TEXTSEARCH_FSM
  275. tristate
  276. config BTREE
  277. bool
  278. config INTERVAL_TREE
  279. bool
  280. help
  281. Simple, embeddable, interval-tree. Can find the start of an
  282. overlapping range in log(n) time and then iterate over all
  283. overlapping nodes. The algorithm is implemented as an
  284. augmented rbtree.
  285. See:
  286. Documentation/rbtree.txt
  287. for more information.
  288. config ASSOCIATIVE_ARRAY
  289. bool
  290. help
  291. Generic associative array. Can be searched and iterated over whilst
  292. it is being modified. It is also reasonably quick to search and
  293. modify. The algorithms are non-recursive, and the trees are highly
  294. capacious.
  295. See:
  296. Documentation/assoc_array.txt
  297. for more information.
  298. config HAS_IOMEM
  299. bool
  300. depends on !NO_IOMEM
  301. select GENERIC_IO
  302. default y
  303. config HAS_IOPORT_MAP
  304. bool
  305. depends on HAS_IOMEM && !NO_IOPORT_MAP
  306. default y
  307. config HAS_DMA
  308. bool
  309. depends on !NO_DMA
  310. default y
  311. config CHECK_SIGNATURE
  312. bool
  313. config CPUMASK_OFFSTACK
  314. bool "Force CPU masks off stack" if DEBUG_PER_CPU_MAPS
  315. help
  316. Use dynamic allocation for cpumask_var_t, instead of putting
  317. them on the stack. This is a bit more expensive, but avoids
  318. stack overflow.
  319. config CPU_RMAP
  320. bool
  321. depends on SMP
  322. config DQL
  323. bool
  324. config GLOB
  325. bool
  326. # This actually supports modular compilation, but the module overhead
  327. # is ridiculous for the amount of code involved. Until an out-of-tree
  328. # driver asks for it, we'll just link it directly it into the kernel
  329. # when required. Since we're ignoring out-of-tree users, there's also
  330. # no need bother prompting for a manual decision:
  331. # prompt "glob_match() function"
  332. help
  333. This option provides a glob_match function for performing
  334. simple text pattern matching. It originated in the ATA code
  335. to blacklist particular drive models, but other device drivers
  336. may need similar functionality.
  337. All drivers in the Linux kernel tree that require this function
  338. should automatically select this option. Say N unless you
  339. are compiling an out-of tree driver which tells you that it
  340. depends on this.
  341. config GLOB_SELFTEST
  342. bool "glob self-test on init"
  343. default n
  344. depends on GLOB
  345. help
  346. This option enables a simple self-test of the glob_match
  347. function on startup. It is primarily useful for people
  348. working on the code to ensure they haven't introduced any
  349. regressions.
  350. It only adds a little bit of code and slows kernel boot (or
  351. module load) by a small amount, so you're welcome to play with
  352. it, but you probably don't need it.
  353. #
  354. # Netlink attribute parsing support is select'ed if needed
  355. #
  356. config NLATTR
  357. bool
  358. #
  359. # Generic 64-bit atomic support is selected if needed
  360. #
  361. config GENERIC_ATOMIC64
  362. bool
  363. config ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
  364. def_bool y if GENERIC_ATOMIC64
  365. config LRU_CACHE
  366. tristate
  367. config AVERAGE
  368. bool "Averaging functions"
  369. help
  370. This option is provided for the case where no in-kernel-tree
  371. modules require averaging functions, but a module built outside
  372. the kernel tree does. Such modules that use library averaging
  373. functions require Y here.
  374. If unsure, say N.
  375. config CLZ_TAB
  376. bool
  377. config CORDIC
  378. tristate "CORDIC algorithm"
  379. help
  380. This option provides an implementation of the CORDIC algorithm;
  381. calculations are in fixed point. Module will be called cordic.
  382. config DDR
  383. bool "JEDEC DDR data"
  384. help
  385. Data from JEDEC specs for DDR SDRAM memories,
  386. particularly the AC timing parameters and addressing
  387. information. This data is useful for drivers handling
  388. DDR SDRAM controllers.
  389. config MPILIB
  390. tristate
  391. select CLZ_TAB
  392. help
  393. Multiprecision maths library from GnuPG.
  394. It is used to implement RSA digital signature verification,
  395. which is used by IMA/EVM digital signature extension.
  396. config SIGNATURE
  397. tristate
  398. depends on KEYS
  399. select CRYPTO
  400. select CRYPTO_SHA1
  401. select MPILIB
  402. help
  403. Digital signature verification. Currently only RSA is supported.
  404. Implementation is done using GnuPG MPI library
  405. #
  406. # libfdt files, only selected if needed.
  407. #
  408. config LIBFDT
  409. bool
  410. config OID_REGISTRY
  411. tristate
  412. help
  413. Enable fast lookup object identifier registry.
  414. config UCS2_STRING
  415. tristate
  416. source "lib/fonts/Kconfig"
  417. #
  418. # sg chaining option
  419. #
  420. config ARCH_HAS_SG_CHAIN
  421. def_bool n
  422. config ARCH_HAS_PMEM_API
  423. bool
  424. endmenu