Kconfig 12 KB

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