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_FIND_FIRST_BIT 20 bool 21 22config NO_GENERIC_PCI_IOPORT_MAP 23 bool 24 25config GENERIC_PCI_IOMAP 26 bool 27 28config GENERIC_IOMAP 29 bool 30 select GENERIC_PCI_IOMAP 31 32config GENERIC_IO 33 boolean 34 default n 35 36config CRC_CCITT 37 tristate "CRC-CCITT functions" 38 help 39 This option is provided for the case where no in-kernel-tree 40 modules require CRC-CCITT functions, but a module built outside 41 the kernel tree does. Such modules that use library CRC-CCITT 42 functions require M here. 43 44config CRC16 45 tristate "CRC16 functions" 46 help 47 This option is provided for the case where no in-kernel-tree 48 modules require CRC16 functions, but a module built outside 49 the kernel tree does. Such modules that use library CRC16 50 functions require M here. 51 52config CRC_T10DIF 53 tristate "CRC calculation for the T10 Data Integrity Field" 54 help 55 This option is only needed if a module that's not in the 56 kernel tree needs to calculate CRC checks for use with the 57 SCSI data integrity subsystem. 58 59config CRC_ITU_T 60 tristate "CRC ITU-T V.41 functions" 61 help 62 This option is provided for the case where no in-kernel-tree 63 modules require CRC ITU-T V.41 functions, but a module built outside 64 the kernel tree does. Such modules that use library CRC ITU-T V.41 65 functions require M here. 66 67config CRC32 68 tristate "CRC32/CRC32c functions" 69 default y 70 select BITREVERSE 71 help 72 This option is provided for the case where no in-kernel-tree 73 modules require CRC32/CRC32c functions, but a module built outside 74 the kernel tree does. Such modules that use library CRC32/CRC32c 75 functions require M here. 76 77config 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 87choice 88 prompt "CRC32 implementation" 89 depends on CRC32 90 default CRC32_SLICEBY8 91 help 92 This option allows a kernel builder to override the default choice 93 of CRC32 algorithm. Choose the default ("slice by 8") unless you 94 know that you need one of the others. 95 96config CRC32_SLICEBY8 97 bool "Slice by 8 bytes" 98 help 99 Calculate checksum 8 bytes at a time with a clever slicing algorithm. 100 This is the fastest algorithm, but comes with a 8KiB lookup table. 101 Most modern processors have enough cache to hold this table without 102 thrashing the cache. 103 104 This is the default implementation choice. Choose this one unless 105 you have a good reason not to. 106 107config CRC32_SLICEBY4 108 bool "Slice by 4 bytes" 109 help 110 Calculate checksum 4 bytes at a time with a clever slicing algorithm. 111 This is a bit slower than slice by 8, but has a smaller 4KiB lookup 112 table. 113 114 Only choose this option if you know what you are doing. 115 116config CRC32_SARWATE 117 bool "Sarwate's Algorithm (one byte at a time)" 118 help 119 Calculate checksum a byte at a time using Sarwate's algorithm. This 120 is not particularly fast, but has a small 256 byte lookup table. 121 122 Only choose this option if you know what you are doing. 123 124config CRC32_BIT 125 bool "Classic Algorithm (one bit at a time)" 126 help 127 Calculate checksum one bit at a time. This is VERY slow, but has 128 no lookup table. This is provided as a debugging option. 129 130 Only choose this option if you are debugging crc32. 131 132endchoice 133 134config CRC7 135 tristate "CRC7 functions" 136 help 137 This option is provided for the case where no in-kernel-tree 138 modules require CRC7 functions, but a module built outside 139 the kernel tree does. Such modules that use library CRC7 140 functions require M here. 141 142config LIBCRC32C 143 tristate "CRC32c (Castagnoli, et al) Cyclic Redundancy-Check" 144 select CRYPTO 145 select CRYPTO_CRC32C 146 help 147 This option is provided for the case where no in-kernel-tree 148 modules require CRC32c functions, but a module built outside the 149 kernel tree does. Such modules that use library CRC32c functions 150 require M here. See Castagnoli93. 151 Module will be libcrc32c. 152 153config CRC8 154 tristate "CRC8 function" 155 help 156 This option provides CRC8 function. Drivers may select this 157 when they need to do cyclic redundancy check according CRC8 158 algorithm. Module will be called crc8. 159 160config AUDIT_GENERIC 161 bool 162 depends on AUDIT && !AUDIT_ARCH 163 default y 164 165# 166# compression support is select'ed if needed 167# 168config ZLIB_INFLATE 169 tristate 170 171config ZLIB_DEFLATE 172 tristate 173 174config LZO_COMPRESS 175 tristate 176 177config LZO_DECOMPRESS 178 tristate 179 180source "lib/xz/Kconfig" 181 182# 183# These all provide a common interface (hence the apparent duplication with 184# ZLIB_INFLATE; DECOMPRESS_GZIP is just a wrapper.) 185# 186config DECOMPRESS_GZIP 187 select ZLIB_INFLATE 188 tristate 189 190config DECOMPRESS_BZIP2 191 tristate 192 193config DECOMPRESS_LZMA 194 tristate 195 196config DECOMPRESS_XZ 197 select XZ_DEC 198 tristate 199 200config DECOMPRESS_LZO 201 select LZO_DECOMPRESS 202 tristate 203 204# 205# Generic allocator support is selected if needed 206# 207config GENERIC_ALLOCATOR 208 boolean 209 210# 211# reed solomon support is select'ed if needed 212# 213config REED_SOLOMON 214 tristate 215 216config REED_SOLOMON_ENC8 217 boolean 218 219config REED_SOLOMON_DEC8 220 boolean 221 222config REED_SOLOMON_ENC16 223 boolean 224 225config REED_SOLOMON_DEC16 226 boolean 227 228# 229# BCH support is selected if needed 230# 231config BCH 232 tristate 233 234config BCH_CONST_PARAMS 235 boolean 236 help 237 Drivers may select this option to force specific constant 238 values for parameters 'm' (Galois field order) and 't' 239 (error correction capability). Those specific values must 240 be set by declaring default values for symbols BCH_CONST_M 241 and BCH_CONST_T. 242 Doing so will enable extra compiler optimizations, 243 improving encoding and decoding performance up to 2x for 244 usual (m,t) values (typically such that m*t < 200). 245 When this option is selected, the BCH library supports 246 only a single (m,t) configuration. This is mainly useful 247 for NAND flash board drivers requiring known, fixed BCH 248 parameters. 249 250config BCH_CONST_M 251 int 252 range 5 15 253 help 254 Constant value for Galois field order 'm'. If 'k' is the 255 number of data bits to protect, 'm' should be chosen such 256 that (k + m*t) <= 2**m - 1. 257 Drivers should declare a default value for this symbol if 258 they select option BCH_CONST_PARAMS. 259 260config BCH_CONST_T 261 int 262 help 263 Constant value for error correction capability in bits 't'. 264 Drivers should declare a default value for this symbol if 265 they select option BCH_CONST_PARAMS. 266 267# 268# Textsearch support is select'ed if needed 269# 270config TEXTSEARCH 271 boolean 272 273config TEXTSEARCH_KMP 274 tristate 275 276config TEXTSEARCH_BM 277 tristate 278 279config TEXTSEARCH_FSM 280 tristate 281 282config BTREE 283 boolean 284 285config HAS_IOMEM 286 boolean 287 depends on !NO_IOMEM 288 select GENERIC_IO 289 default y 290 291config HAS_IOPORT 292 boolean 293 depends on HAS_IOMEM && !NO_IOPORT 294 default y 295 296config HAS_DMA 297 boolean 298 depends on !NO_DMA 299 default y 300 301config CHECK_SIGNATURE 302 bool 303 304config CPUMASK_OFFSTACK 305 bool "Force CPU masks off stack" if DEBUG_PER_CPU_MAPS 306 help 307 Use dynamic allocation for cpumask_var_t, instead of putting 308 them on the stack. This is a bit more expensive, but avoids 309 stack overflow. 310 311config DISABLE_OBSOLETE_CPUMASK_FUNCTIONS 312 bool "Disable obsolete cpumask functions" if DEBUG_PER_CPU_MAPS 313 depends on EXPERIMENTAL && BROKEN 314 315config CPU_RMAP 316 bool 317 depends on SMP 318 319config DQL 320 bool 321 322# 323# Netlink attribute parsing support is select'ed if needed 324# 325config NLATTR 326 bool 327 328# 329# Generic 64-bit atomic support is selected if needed 330# 331config GENERIC_ATOMIC64 332 bool 333 334config LRU_CACHE 335 tristate 336 337config AVERAGE 338 bool "Averaging functions" 339 help 340 This option is provided for the case where no in-kernel-tree 341 modules require averaging functions, but a module built outside 342 the kernel tree does. Such modules that use library averaging 343 functions require Y here. 344 345 If unsure, say N. 346 347config CLZ_TAB 348 bool 349 350config CORDIC 351 tristate "CORDIC algorithm" 352 help 353 This option provides an implementation of the CORDIC algorithm; 354 calculations are in fixed point. Module will be called cordic. 355 356config MPILIB 357 tristate 358 select CLZ_TAB 359 help 360 Multiprecision maths library from GnuPG. 361 It is used to implement RSA digital signature verification, 362 which is used by IMA/EVM digital signature extension. 363 364config MPILIB_EXTRA 365 bool 366 depends on MPILIB 367 help 368 Additional sources of multiprecision maths library from GnuPG. 369 This code is unnecessary for RSA digital signature verification, 370 but can be compiled if needed. 371 372config SIGNATURE 373 tristate 374 depends on KEYS && CRYPTO 375 select CRYPTO_SHA1 376 select MPILIB 377 help 378 Digital signature verification. Currently only RSA is supported. 379 Implementation is done using GnuPG MPI library 380 381endmenu 382