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