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 ASSOCIATIVE_ARRAY 335 bool 336 help 337 Generic associative array. Can be searched and iterated over whilst 338 it is being modified. It is also reasonably quick to search and 339 modify. The algorithms are non-recursive, and the trees are highly 340 capacious. 341 342 See: 343 344 Documentation/assoc_array.txt 345 346 for more information. 347 348config HAS_IOMEM 349 boolean 350 depends on !NO_IOMEM 351 select GENERIC_IO 352 default y 353 354config HAS_IOPORT_MAP 355 boolean 356 depends on HAS_IOMEM && !NO_IOPORT_MAP 357 default y 358 359config HAS_DMA 360 boolean 361 depends on !NO_DMA 362 default y 363 364config CHECK_SIGNATURE 365 bool 366 367config CPUMASK_OFFSTACK 368 bool "Force CPU masks off stack" if DEBUG_PER_CPU_MAPS 369 help 370 Use dynamic allocation for cpumask_var_t, instead of putting 371 them on the stack. This is a bit more expensive, but avoids 372 stack overflow. 373 374config DISABLE_OBSOLETE_CPUMASK_FUNCTIONS 375 bool "Disable obsolete cpumask functions" if DEBUG_PER_CPU_MAPS 376 depends on BROKEN 377 378config CPU_RMAP 379 bool 380 depends on SMP 381 382config DQL 383 bool 384 385# 386# Netlink attribute parsing support is select'ed if needed 387# 388config NLATTR 389 bool 390 391# 392# Generic 64-bit atomic support is selected if needed 393# 394config GENERIC_ATOMIC64 395 bool 396 397config ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE 398 def_bool y if GENERIC_ATOMIC64 399 400config LRU_CACHE 401 tristate 402 403config AVERAGE 404 bool "Averaging functions" 405 help 406 This option is provided for the case where no in-kernel-tree 407 modules require averaging functions, but a module built outside 408 the kernel tree does. Such modules that use library averaging 409 functions require Y here. 410 411 If unsure, say N. 412 413config CLZ_TAB 414 bool 415 416config CORDIC 417 tristate "CORDIC algorithm" 418 help 419 This option provides an implementation of the CORDIC algorithm; 420 calculations are in fixed point. Module will be called cordic. 421 422config DDR 423 bool "JEDEC DDR data" 424 help 425 Data from JEDEC specs for DDR SDRAM memories, 426 particularly the AC timing parameters and addressing 427 information. This data is useful for drivers handling 428 DDR SDRAM controllers. 429 430config MPILIB 431 tristate 432 select CLZ_TAB 433 help 434 Multiprecision maths library from GnuPG. 435 It is used to implement RSA digital signature verification, 436 which is used by IMA/EVM digital signature extension. 437 438config SIGNATURE 439 tristate 440 depends on KEYS && CRYPTO 441 select CRYPTO_SHA1 442 select MPILIB 443 help 444 Digital signature verification. Currently only RSA is supported. 445 Implementation is done using GnuPG MPI library 446 447# 448# libfdt files, only selected if needed. 449# 450config LIBFDT 451 bool 452 453config OID_REGISTRY 454 tristate 455 help 456 Enable fast lookup object identifier registry. 457 458config UCS2_STRING 459 tristate 460 461source "lib/fonts/Kconfig" 462 463endmenu 464