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 RANDOM32_SELFTEST 186 bool "PRNG perform self test on init" 187 default n 188 help 189 This option enables the 32 bit PRNG library functions to perform a 190 self test on initialization. 191 192# 193# compression support is select'ed if needed 194# 195config ZLIB_INFLATE 196 tristate 197 198config ZLIB_DEFLATE 199 tristate 200 201config LZO_COMPRESS 202 tristate 203 204config LZO_DECOMPRESS 205 tristate 206 207config LZ4_COMPRESS 208 tristate 209 210config LZ4HC_COMPRESS 211 tristate 212 213config LZ4_DECOMPRESS 214 tristate 215 216source "lib/xz/Kconfig" 217 218# 219# These all provide a common interface (hence the apparent duplication with 220# ZLIB_INFLATE; DECOMPRESS_GZIP is just a wrapper.) 221# 222config DECOMPRESS_GZIP 223 select ZLIB_INFLATE 224 tristate 225 226config DECOMPRESS_BZIP2 227 tristate 228 229config DECOMPRESS_LZMA 230 tristate 231 232config DECOMPRESS_XZ 233 select XZ_DEC 234 tristate 235 236config DECOMPRESS_LZO 237 select LZO_DECOMPRESS 238 tristate 239 240config DECOMPRESS_LZ4 241 select LZ4_DECOMPRESS 242 tristate 243 244# 245# Generic allocator support is selected if needed 246# 247config GENERIC_ALLOCATOR 248 boolean 249 250# 251# reed solomon support is select'ed if needed 252# 253config REED_SOLOMON 254 tristate 255 256config REED_SOLOMON_ENC8 257 boolean 258 259config REED_SOLOMON_DEC8 260 boolean 261 262config REED_SOLOMON_ENC16 263 boolean 264 265config REED_SOLOMON_DEC16 266 boolean 267 268# 269# BCH support is selected if needed 270# 271config BCH 272 tristate 273 274config BCH_CONST_PARAMS 275 boolean 276 help 277 Drivers may select this option to force specific constant 278 values for parameters 'm' (Galois field order) and 't' 279 (error correction capability). Those specific values must 280 be set by declaring default values for symbols BCH_CONST_M 281 and BCH_CONST_T. 282 Doing so will enable extra compiler optimizations, 283 improving encoding and decoding performance up to 2x for 284 usual (m,t) values (typically such that m*t < 200). 285 When this option is selected, the BCH library supports 286 only a single (m,t) configuration. This is mainly useful 287 for NAND flash board drivers requiring known, fixed BCH 288 parameters. 289 290config BCH_CONST_M 291 int 292 range 5 15 293 help 294 Constant value for Galois field order 'm'. If 'k' is the 295 number of data bits to protect, 'm' should be chosen such 296 that (k + m*t) <= 2**m - 1. 297 Drivers should declare a default value for this symbol if 298 they select option BCH_CONST_PARAMS. 299 300config BCH_CONST_T 301 int 302 help 303 Constant value for error correction capability in bits 't'. 304 Drivers should declare a default value for this symbol if 305 they select option BCH_CONST_PARAMS. 306 307# 308# Textsearch support is select'ed if needed 309# 310config TEXTSEARCH 311 boolean 312 313config TEXTSEARCH_KMP 314 tristate 315 316config TEXTSEARCH_BM 317 tristate 318 319config TEXTSEARCH_FSM 320 tristate 321 322config BTREE 323 boolean 324 325config ASSOCIATIVE_ARRAY 326 bool 327 help 328 Generic associative array. Can be searched and iterated over whilst 329 it is being modified. It is also reasonably quick to search and 330 modify. The algorithms are non-recursive, and the trees are highly 331 capacious. 332 333 See: 334 335 Documentation/assoc_array.txt 336 337 for more information. 338 339config HAS_IOMEM 340 boolean 341 depends on !NO_IOMEM 342 select GENERIC_IO 343 default y 344 345config HAS_IOPORT 346 boolean 347 depends on HAS_IOMEM && !NO_IOPORT 348 default y 349 350config HAS_DMA 351 boolean 352 depends on !NO_DMA 353 default y 354 355config CHECK_SIGNATURE 356 bool 357 358config CPUMASK_OFFSTACK 359 bool "Force CPU masks off stack" if DEBUG_PER_CPU_MAPS 360 help 361 Use dynamic allocation for cpumask_var_t, instead of putting 362 them on the stack. This is a bit more expensive, but avoids 363 stack overflow. 364 365config DISABLE_OBSOLETE_CPUMASK_FUNCTIONS 366 bool "Disable obsolete cpumask functions" if DEBUG_PER_CPU_MAPS 367 depends on BROKEN 368 369config CPU_RMAP 370 bool 371 depends on SMP 372 373config DQL 374 bool 375 376# 377# Netlink attribute parsing support is select'ed if needed 378# 379config NLATTR 380 bool 381 382# 383# Generic 64-bit atomic support is selected if needed 384# 385config GENERIC_ATOMIC64 386 bool 387 388config ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE 389 def_bool y if GENERIC_ATOMIC64 390 391config LRU_CACHE 392 tristate 393 394config AVERAGE 395 bool "Averaging functions" 396 help 397 This option is provided for the case where no in-kernel-tree 398 modules require averaging functions, but a module built outside 399 the kernel tree does. Such modules that use library averaging 400 functions require Y here. 401 402 If unsure, say N. 403 404config CLZ_TAB 405 bool 406 407config CORDIC 408 tristate "CORDIC algorithm" 409 help 410 This option provides an implementation of the CORDIC algorithm; 411 calculations are in fixed point. Module will be called cordic. 412 413config DDR 414 bool "JEDEC DDR data" 415 help 416 Data from JEDEC specs for DDR SDRAM memories, 417 particularly the AC timing parameters and addressing 418 information. This data is useful for drivers handling 419 DDR SDRAM controllers. 420 421config MPILIB 422 tristate 423 select CLZ_TAB 424 help 425 Multiprecision maths library from GnuPG. 426 It is used to implement RSA digital signature verification, 427 which is used by IMA/EVM digital signature extension. 428 429config SIGNATURE 430 tristate 431 depends on KEYS && CRYPTO 432 select CRYPTO_SHA1 433 select MPILIB 434 help 435 Digital signature verification. Currently only RSA is supported. 436 Implementation is done using GnuPG MPI library 437 438# 439# libfdt files, only selected if needed. 440# 441config LIBFDT 442 bool 443 444config OID_REGISTRY 445 tristate 446 help 447 Enable fast lookup object identifier registry. 448 449config UCS2_STRING 450 tristate 451 452source "lib/fonts/Kconfig" 453 454endmenu 455