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 CMPXCHG_LOCKREF 55 def_bool y if ARCH_USE_CMPXCHG_LOCKREF 56 depends on SMP 57 depends on !GENERIC_LOCKBREAK 58 depends on !DEBUG_SPINLOCK 59 depends on !DEBUG_LOCK_ALLOC 60 61config CRC_CCITT 62 tristate "CRC-CCITT functions" 63 help 64 This option is provided for the case where no in-kernel-tree 65 modules require CRC-CCITT functions, but a module built outside 66 the kernel tree does. Such modules that use library CRC-CCITT 67 functions require M here. 68 69config CRC16 70 tristate "CRC16 functions" 71 help 72 This option is provided for the case where no in-kernel-tree 73 modules require CRC16 functions, but a module built outside 74 the kernel tree does. Such modules that use library CRC16 75 functions require M here. 76 77config CRC_T10DIF 78 tristate "CRC calculation for the T10 Data Integrity Field" 79 select CRYPTO 80 select CRYPTO_CRCT10DIF 81 help 82 This option is only needed if a module that's not in the 83 kernel tree needs to calculate CRC checks for use with the 84 SCSI data integrity subsystem. 85 86config CRC_ITU_T 87 tristate "CRC ITU-T V.41 functions" 88 help 89 This option is provided for the case where no in-kernel-tree 90 modules require CRC ITU-T V.41 functions, but a module built outside 91 the kernel tree does. Such modules that use library CRC ITU-T V.41 92 functions require M here. 93 94config CRC32 95 tristate "CRC32/CRC32c functions" 96 default y 97 select BITREVERSE 98 help 99 This option is provided for the case where no in-kernel-tree 100 modules require CRC32/CRC32c functions, but a module built outside 101 the kernel tree does. Such modules that use library CRC32/CRC32c 102 functions require M here. 103 104config CRC32_SELFTEST 105 bool "CRC32 perform self test on init" 106 default n 107 depends on CRC32 108 help 109 This option enables the CRC32 library functions to perform a 110 self test on initialization. The self test computes crc32_le 111 and crc32_be over byte strings with random alignment and length 112 and computes the total elapsed time and number of bytes processed. 113 114choice 115 prompt "CRC32 implementation" 116 depends on CRC32 117 default CRC32_SLICEBY8 118 help 119 This option allows a kernel builder to override the default choice 120 of CRC32 algorithm. Choose the default ("slice by 8") unless you 121 know that you need one of the others. 122 123config CRC32_SLICEBY8 124 bool "Slice by 8 bytes" 125 help 126 Calculate checksum 8 bytes at a time with a clever slicing algorithm. 127 This is the fastest algorithm, but comes with a 8KiB lookup table. 128 Most modern processors have enough cache to hold this table without 129 thrashing the cache. 130 131 This is the default implementation choice. Choose this one unless 132 you have a good reason not to. 133 134config CRC32_SLICEBY4 135 bool "Slice by 4 bytes" 136 help 137 Calculate checksum 4 bytes at a time with a clever slicing algorithm. 138 This is a bit slower than slice by 8, but has a smaller 4KiB lookup 139 table. 140 141 Only choose this option if you know what you are doing. 142 143config CRC32_SARWATE 144 bool "Sarwate's Algorithm (one byte at a time)" 145 help 146 Calculate checksum a byte at a time using Sarwate's algorithm. This 147 is not particularly fast, but has a small 256 byte lookup table. 148 149 Only choose this option if you know what you are doing. 150 151config CRC32_BIT 152 bool "Classic Algorithm (one bit at a time)" 153 help 154 Calculate checksum one bit at a time. This is VERY slow, but has 155 no lookup table. This is provided as a debugging option. 156 157 Only choose this option if you are debugging crc32. 158 159endchoice 160 161config CRC7 162 tristate "CRC7 functions" 163 help 164 This option is provided for the case where no in-kernel-tree 165 modules require CRC7 functions, but a module built outside 166 the kernel tree does. Such modules that use library CRC7 167 functions require M here. 168 169config LIBCRC32C 170 tristate "CRC32c (Castagnoli, et al) Cyclic Redundancy-Check" 171 select CRYPTO 172 select CRYPTO_CRC32C 173 help 174 This option is provided for the case where no in-kernel-tree 175 modules require CRC32c functions, but a module built outside the 176 kernel tree does. Such modules that use library CRC32c functions 177 require M here. See Castagnoli93. 178 Module will be libcrc32c. 179 180config CRC8 181 tristate "CRC8 function" 182 help 183 This option provides CRC8 function. Drivers may select this 184 when they need to do cyclic redundancy check according CRC8 185 algorithm. Module will be called crc8. 186 187config AUDIT_GENERIC 188 bool 189 depends on AUDIT && !AUDIT_ARCH 190 default y 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 HAS_IOMEM 326 boolean 327 depends on !NO_IOMEM 328 select GENERIC_IO 329 default y 330 331config HAS_IOPORT 332 boolean 333 depends on HAS_IOMEM && !NO_IOPORT 334 default y 335 336config HAS_DMA 337 boolean 338 depends on !NO_DMA 339 default y 340 341config CHECK_SIGNATURE 342 bool 343 344config CPUMASK_OFFSTACK 345 bool "Force CPU masks off stack" if DEBUG_PER_CPU_MAPS 346 help 347 Use dynamic allocation for cpumask_var_t, instead of putting 348 them on the stack. This is a bit more expensive, but avoids 349 stack overflow. 350 351config DISABLE_OBSOLETE_CPUMASK_FUNCTIONS 352 bool "Disable obsolete cpumask functions" if DEBUG_PER_CPU_MAPS 353 depends on BROKEN 354 355config CPU_RMAP 356 bool 357 depends on SMP 358 359config DQL 360 bool 361 362# 363# Netlink attribute parsing support is select'ed if needed 364# 365config NLATTR 366 bool 367 368# 369# Generic 64-bit atomic support is selected if needed 370# 371config GENERIC_ATOMIC64 372 bool 373 374config ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE 375 def_bool y if GENERIC_ATOMIC64 376 377config LRU_CACHE 378 tristate 379 380config AVERAGE 381 bool "Averaging functions" 382 help 383 This option is provided for the case where no in-kernel-tree 384 modules require averaging functions, but a module built outside 385 the kernel tree does. Such modules that use library averaging 386 functions require Y here. 387 388 If unsure, say N. 389 390config CLZ_TAB 391 bool 392 393config CORDIC 394 tristate "CORDIC algorithm" 395 help 396 This option provides an implementation of the CORDIC algorithm; 397 calculations are in fixed point. Module will be called cordic. 398 399config DDR 400 bool "JEDEC DDR data" 401 help 402 Data from JEDEC specs for DDR SDRAM memories, 403 particularly the AC timing parameters and addressing 404 information. This data is useful for drivers handling 405 DDR SDRAM controllers. 406 407config MPILIB 408 tristate 409 select CLZ_TAB 410 help 411 Multiprecision maths library from GnuPG. 412 It is used to implement RSA digital signature verification, 413 which is used by IMA/EVM digital signature extension. 414 415config SIGNATURE 416 tristate 417 depends on KEYS && CRYPTO 418 select CRYPTO_SHA1 419 select MPILIB 420 help 421 Digital signature verification. Currently only RSA is supported. 422 Implementation is done using GnuPG MPI library 423 424# 425# libfdt files, only selected if needed. 426# 427config LIBFDT 428 bool 429 430config OID_REGISTRY 431 tristate 432 help 433 Enable fast lookup object identifier registry. 434 435config UCS2_STRING 436 tristate 437 438source "lib/fonts/Kconfig" 439 440endmenu 441